AutomationFlowsWeb Scraping › Call Center Analytics with Dual-ai Verification Using Deepseek Models

Call Center Analytics with Dual-ai Verification Using Deepseek Models

ByOmar Akoudad @mediaplusma on n8n.io

The workflow is well-designed for CRM analysis with a robust quality control mechanism. The dual-AI approach ensures reliable results, while the webhook integration makes it production-ready for real-time CRM data processing. Dual-AI Architecture: Uses DeepSeek Reasoner for…

Event trigger★★★★☆ complexityAI-powered15 nodesHTTP RequestChain LlmLm Chat Deep Seek
Web Scraping Trigger: Event Nodes: 15 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow corresponds to n8n.io template #5658 — we link there as the canonical source.

This workflow follows the Chainllm → HTTP Request recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "613422d5-05db-4163-bcb0-3fdae9de260b",
      "name": "When clicking \u2018Test workflow\u2019",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1120,
        60
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "9ec28d5b-6ea0-4a57-911e-9f4546b739a2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        -240
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 440,
        "content": "## Generate report\nUsing deepseek R1"
      },
      "typeVersion": 1
    },
    {
      "id": "cf30eb86-2aad-4d33-a5c2-737239e63636",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -140,
        -240
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 440,
        "content": "## Double-check\nUsing deepseek V3"
      },
      "typeVersion": 1
    },
    {
      "id": "d799760f-83c5-4603-8eb8-3857807b364a",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        -140
      ],
      "parameters": {
        "url": "YOUR_CALL_BACK_API",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  data: \"{{$node['Report'].json.text}}\"\n}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    },
    {
      "id": "bf0a8ab6-06e0-4564-96af-ddcf6795a845",
      "name": "Report",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -480,
        -140
      ],
      "parameters": {
        "text": "=You are a CRM data analyst assistant. Your task is to analyze the provided CRM data and generate valuable insights in Markdown format.\n\nYou will receive JSON data extracted from a CRM system that may include information about:\n- Call canter agents metrics.\n\n# ANALYSIS REQUIREMENTS\nAnalyze the data considering:\n1. Lead conversion rates and quality metrics\n2. Upsall\n3. Rank the agents with small description about every one.\n\n# OUTPUT FORMAT\nStructure your analysis in Markdown.\n\n# GUIDELINES\n- Focus on actionable insights rather than just describing the data\n- Use bullet points and tables when appropriate to improve readability\n- Include both positive findings and areas for improvement\n- Reference specific data points to support your analysis\n- Prioritize quality over quantity in your recommendations\n- Be concise yet thorough\n- If there are data quality issues or missing information, note these limitations\n- If you detect any unusual patterns or anomalies, highlight them\n\n# DATA\n```\n{{ JSON.stringify($input.first().json.body) }}\n```",
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "f51d601e-898c-4dd6-894b-2e4911a334db",
      "name": "DeepSeek Reasonning",
      "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
      "position": [
        -400,
        60
      ],
      "parameters": {
        "model": "deepseek-reasoner",
        "options": {}
      },
      "credentials": {
        "deepSeekApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9393be48-aebc-4f6c-b445-014633e0e289",
      "name": "DeepSeek Chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatDeepSeek",
      "position": [
        -20,
        80
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "deepSeekApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4a8dc360-fd3f-46a5-89e1-87ece59b0bb6",
      "name": "Example data",
      "type": "n8n-nodes-base.code",
      "position": [
        -860,
        60
      ],
      "parameters": {
        "jsCode": "return {\n  \"body\": \n    // You can use any data as JSON\n    // this is just example\n    // data start here\n    [\n      {\n        \"user\": {\n          \"id\": 15,\n          \"full_name\": \"lisa confirmation\",\n        },\n        \"productivity\": 44.67,\n        \"total_leads\": 465,\n        \"total_confirmed\": 291,\n        \"total_delivred\": 130,\n        \"total_in_proccess\": 119,\n        \"total_cancled\": 0,\n        \"total_returned\": 13,\n        \"total_assign\": 495,\n        \"total_need_confirmation\": 0,\n        \"total_recheck\": 22,\n        \"upsell\": 59,\n        \"upsell_delivered\": 27,\n        \"confirmation_rate\": 62.58\n      },\n      {\n        \"user\": {\n          \"id\": 1346,\n          \"full_name\": \"Sallam Confirmation\",\n        },\n        \"productivity\": 42.29,\n        \"total_leads\": 374,\n        \"total_confirmed\": 253,\n        \"total_delivred\": 107,\n        \"total_in_proccess\": 96,\n        \"total_cancled\": 0,\n        \"total_returned\": 21,\n        \"total_assign\": 459,\n        \"total_need_confirmation\": 1,\n        \"total_recheck\": 1,\n        \"upsell\": 62,\n        \"upsell_delivered\": 31,\n        \"confirmation_rate\": 67.65\n      }\n    ]\n    // data end here\n}"
      },
      "typeVersion": 2
    },
    {
      "id": "41e36370-fa7a-4f6e-a439-15127dfc432d",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1160,
        -20
      ],
      "parameters": {
        "width": 480,
        "height": 240,
        "content": "## Test Workflow\nClick this button to test the workflow with example data"
      },
      "typeVersion": 1
    },
    {
      "id": "e0d473e8-7a2e-4473-9af7-5f2f835990db",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1160,
        240
      ],
      "parameters": {
        "width": 480,
        "height": 80,
        "content": "## Just to test"
      },
      "typeVersion": 1
    },
    {
      "id": "b0c31c3b-1fd0-485e-a54b-9a3045bcf09e",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1160,
        400
      ],
      "parameters": {
        "color": 4,
        "width": 1540,
        "height": 100,
        "content": "## Do you need more help or have any suggestions?\nContact me at mediaplus.ma@gmail.com"
      },
      "typeVersion": 1
    },
    {
      "id": "9a1f03ee-167f-44e3-ae12-61ab8d3789f2",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -520,
        -360
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 80,
        "content": "## Change here\nYou can edit/add details about your goal by changing the AI promps.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d91de9c8-835b-4232-a76b-e27554ad595d",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -980,
        -300
      ],
      "parameters": {
        "path": "b408defb-315d-4676-b4c4-1dcebe81ffc0",
        "options": {},
        "httpMethod": [
          "POST",
          "GET"
        ],
        "multipleMethods": true
      },
      "typeVersion": 2
    },
    {
      "id": "04c2da18-10c9-44df-8084-52b5901ecc18",
      "name": "Sticky Note9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1020,
        -380
      ],
      "parameters": {
        "color": 4,
        "width": 200,
        "height": 240,
        "content": "## Production"
      },
      "typeVersion": 1
    },
    {
      "id": "a1fb1cbc-391c-4918-b48f-8b44116921b8",
      "name": "Recheck",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        -100,
        -140
      ],
      "parameters": {
        "text": "=You are a Data Analysis Verification Expert. Your task is to evaluate whether an AI-generated report accurately and completely analyzes the provided CRM data. You will assess the report quality and determine if it's compatible with the original input.\n\n# INPUT\nYou will receive:\n1. The original call center agent metrics data (JSON)\n2. The AI-generated analysis report in Markdown\n\n# VERIFICATION REQUIREMENTS\nEvaluate the report for:\n1. Factual accuracy - Do all numbers, rankings, and statements accurately reflect the data?\n2. Comprehensiveness - Does the report cover all required areas? (Lead conversion, Upsell, Agent ranking)\n3. Insight quality - Does the report provide meaningful insights beyond basic data description?\n4. Completeness - Are all agents included in the analysis?\n5. Format compliance - Is the report properly formatted in Markdown with appropriate sections?\n\n# OUTPUT FORMAT\nReturn a JSON object with the following structure:\n```json\n{\n  \"verified\": true/false,\n  \"score\": 1-10,\n  \"quality_assessment\": \"Brief 2-4 sentence evaluation of report quality\",\n  \"missing_elements\": [\"List any required elements missing from the report\"],\n  \"inaccuracies\": [\"List any factual errors or misinterpretations\"],\n  \"improvement_suggestions\": [\"Specific suggestions for report improvement\"]\n}\n```\n\n# EVALUATION CRITERIA\n- \"verified\": Set to true ONLY if the report is factually accurate, includes all agents, covers all required areas, and provides meaningful insights.\n- \"score\": Rate from 1-10 where:\n  * 1-3: Poor report with major inaccuracies or missing elements\n  * 4-6: Adequate report with some issues\n  * 7-8: Good report with minor issues\n  * 9-10: Excellent report with comprehensive analysis\n\n# GUIDELINES\n- Be thorough and precise in your verification\n- Check all numerical claims against the original data\n- Verify that all agents are properly ranked and described\n- Check that lead conversion rates and upsell metrics are accurately analyzed\n- Assess whether the insights are actionable and valuable\n- Maintain a balanced perspective, noting both strengths and weaknesses\n\n# ORIGINAL DATA\n{{ JSON.stringify($node[\"Example data\"].json.chatInput) }}\n\n# AI-GENERATED REPORT\n{{ $json.text }}",
        "promptType": "define"
      },
      "typeVersion": 1.6
    }
  ],
  "connections": {
    "Report": {
      "main": [
        [
          {
            "node": "Recheck",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recheck": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Example data": {
      "main": [
        [
          {
            "node": "Report",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "DeepSeek Chat": {
      "ai_languageModel": [
        [
          {
            "node": "Recheck",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "DeepSeek Reasonning": {
      "ai_languageModel": [
        [
          {
            "node": "Report",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "When clicking \u2018Test workflow\u2019": {
      "main": [
        [
          {
            "node": "Example data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

The workflow is well-designed for CRM analysis with a robust quality control mechanism. The dual-AI approach ensures reliable results, while the webhook integration makes it production-ready for real-time CRM data processing. Dual-AI Architecture: Uses DeepSeek Reasoner for…

Source: https://n8n.io/workflows/5658/ — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

Spot Workplace Discrimination Patterns with AI. Uses manualTrigger, lmChatOpenAi, httpRequest, html. Event-driven trigger; 38 nodes.

OpenAI Chat, HTTP Request, Information Extractor +2
Web Scraping

Spot Workplace Discrimination Patterns with AI. Uses manualTrigger, lmChatOpenAi, httpRequest, html. Event-driven trigger; 38 nodes.

OpenAI Chat, HTTP Request, Information Extractor +2
Web Scraping

Automated SEO Audit in n8n – Your All-in-One Website Optimization Tool!

HTTP Request, Html Extract, Email Send +2
Web Scraping

Transform your customer support workflow with intelligent ticket classification. This automation leverages AI to automatically categorize incoming support tickets in Zoho Desk, reducing manual work an

OpenRouter Chat, HTTP Request, Chain Llm
Web Scraping

This workflow automates SEO analysis by comparing your website with a competitor’s site. It reads input URLs from Google Sheets, scrapes structured SEO data from both sites, and expands into important

Google Sheets, HTTP Request, Google Gemini