AutomationFlowsAI & RAG › Ai-powered Zoho CRM Lead Management with Openai Gpt

Ai-powered Zoho CRM Lead Management with Openai Gpt

ByRohit Dabra @rohitdabra on n8n.io

This n8n flow integrates Zoho CRM with an MCP (Model Context Protocol) Server and OpenAI Chat Model, enabling AI-driven automation for CRM lead management. It allows an AI Agent to create, update, delete, and fetch leads in Zoho CRM through natural language instructions.

Event trigger★★★★☆ complexityAI-powered14 nodesMcp TriggerZoho Crm ToolChat TriggerAgentOpenAI ChatMemory Buffer WindowMcp Client Tool
AI & RAG Trigger: Event Nodes: 14 Complexity: ★★★★☆ AI nodes: yes Added:

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

This workflow follows the Agent → Chat Trigger 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
{
  "id": "vjGbKloQsG8ffOZd",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "ZohoMCP",
  "tags": [],
  "nodes": [
    {
      "id": "9b3a9170-e9e5-41bf-92eb-b044d0f9a84a",
      "name": "MCP Server Trigger",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -448,
        -336
      ],
      "parameters": {
        "path": "ff22d66b-7cc7-4f8f-a47e-f6beae65b2a0"
      },
      "typeVersion": 2
    },
    {
      "id": "0c592c54-b21e-40fe-b1bc-e49088be7730",
      "name": "Create a lead in Zoho CRM",
      "type": "n8n-nodes-base.zohoCrmTool",
      "position": [
        -688,
        -128
      ],
      "parameters": {
        "Company": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Company', ``, 'string') }}",
        "lastName": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Last_Name', ``, 'string') }}",
        "resource": "lead",
        "additionalFields": {
          "Email": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Email', ``, 'string') }}",
          "Mobile": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Mobile', ``, 'string') }}",
          "Website": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Website', ``, 'string') }}",
          "First_Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('First_Name', ``, 'string') }}",
          "Lead_Source": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_Source', ``, 'string') }}",
          "Lead_Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_Status', ``, 'string') }}"
        }
      },
      "credentials": {
        "zohoOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b63e3d6a-743a-4b40-a39c-03e51ad7c84e",
      "name": "Delete a lead in Zoho CRM",
      "type": "n8n-nodes-base.zohoCrmTool",
      "position": [
        -512,
        -128
      ],
      "parameters": {
        "leadId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_ID', ``, 'string') }}",
        "resource": "lead",
        "operation": "delete"
      },
      "credentials": {
        "zohoOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "43531271-45db-4a2d-93b0-96095ac8f98f",
      "name": "Get a lead in Zoho CRM",
      "type": "n8n-nodes-base.zohoCrmTool",
      "position": [
        -96,
        -128
      ],
      "parameters": {
        "leadId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_ID', ``, 'string') }}",
        "resource": "lead",
        "operation": "get"
      },
      "credentials": {
        "zohoOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "712a8aa5-97db-4620-8036-5d611d5807fb",
      "name": "Get All leads in Zoho CRM",
      "type": "n8n-nodes-base.zohoCrmTool",
      "position": [
        64,
        -128
      ],
      "parameters": {
        "options": {},
        "resource": "lead",
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "zohoOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7efe805e-4cb2-4f79-be08-64646a32b00c",
      "name": "Update a lead in Zoho CRM",
      "type": "n8n-nodes-base.zohoCrmTool",
      "position": [
        -256,
        -128
      ],
      "parameters": {
        "leadId": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_ID', ``, 'string') }}",
        "resource": "lead",
        "operation": "update",
        "updateFields": {
          "Company": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Company', ``, 'string') }}",
          "Last_Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Last_Name', ``, 'string') }}",
          "First_Name": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('First_Name', ``, 'string') }}",
          "Description": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Description', ``, 'string') }}",
          "Lead_Source": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_Source', ``, 'string') }}",
          "Lead_Status": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Lead_Status', ``, 'string') }}"
        }
      },
      "credentials": {
        "zohoOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e67008c6-776a-4f33-bf5a-c54471dc3c85",
      "name": "When chat message received",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        512,
        -368
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.3
    },
    {
      "id": "cf3071d3-5189-4a97-91db-7939077b894c",
      "name": "AI Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        464,
        -160
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are an AI assistant that helps manage leads in Zoho CRM.\nWhen the user asks to create, update, or delete a lead, use the appropriate tool.\nProvide confirmations in natural language."
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e2d2b1c1-dbb4-4c94-9500-e252e0510c79",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        336,
        48
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-5-mini",
          "cachedResultName": "gpt-5-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2ad8529a-1e84-4522-9ee5-632dff0958d1",
      "name": "Simple Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        480,
        48
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "8279e190-dff3-45aa-87ed-77ec46250d4c",
      "name": "MCP Client",
      "type": "@n8n/n8n-nodes-langchain.mcpClientTool",
      "position": [
        736,
        48
      ],
      "parameters": {
        "options": {},
        "endpointUrl": "http://localhost:5678/mcp/ff22d66b-7cc7-4f8f-a47e-f6beae65b2a0"
      },
      "typeVersion": 1.2
    },
    {
      "id": "b9da96be-06b3-42c5-b73f-99e7acd6314d",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1552,
        -464
      ],
      "parameters": {
        "width": 688,
        "height": 624,
        "content": "### \ud83d\ude80 Configure n8n Zoho CRM + MCP + OpenAI Flow\n\n1. **Import workflow** \u2192 *Workflows \u2192 Import \u2192 upload JSON*.\n2. **Add Zoho credentials** \u2192 *Credentials \u2192 New \u2192 Zoho OAuth2 API* \u2192 enter Client ID/Secret \u2192 connect via OAuth.\n3. **Add OpenAI credentials** \u2192 *Credentials \u2192 New \u2192 OpenAI API* \u2192 paste API key \u2192 save.\n4. **Link credentials** \u2192 in each Zoho node select Zoho credential \u2192 in AI Agent select OpenAI + Simple Memory + MCP Client.\n5. **Get MCP endpoint** \u2192 open \u201cMCP Server Trigger\u201d \u2192 copy URL (this is your API endpoint).\n6. **Activate workflow** \u2192 click **\u25b6\ufe0f Execute** or toggle **Active**.\n7. **Test** \u2192 send POST to MCP endpoint:\n\n   ```json\n   { \"message\": \"Create a lead John Doe john@acme.com\" }\n   ```\n\n   \u2705 Lead should appear in Zoho CRM.\n\n---\n\nThat\u2019s all you need to make it work.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8aeecab8-d866-47ee-8bf0-fa6a916e8012",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -464
      ],
      "parameters": {
        "width": 1008,
        "height": 624,
        "content": "## Zoho CRM MCP Server\nThis MCP Server talks with various Zoho APIs via MCP Server trigger node, based on the APIs added as tools, AI Agent decides whic API to call based on user prompt in real time"
      },
      "typeVersion": 1
    },
    {
      "id": "e62154ed-9a85-4521-8d87-46dd97083410",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        -464
      ],
      "parameters": {
        "width": 608,
        "height": 624,
        "content": "## AI Agent chat bot\nThis AI Agent talks with Zoho CRM via MCP Client node which is linked to MCP Server based on available tools"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "582b01a8-5393-4e1b-98a5-b3deefd179ed",
  "connections": {
    "MCP Client": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Simple Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Get a lead in Zoho CRM": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Create a lead in Zoho CRM": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete a lead in Zoho CRM": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get All leads in Zoho CRM": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update a lead in Zoho CRM": {
      "ai_tool": [
        [
          {
            "node": "MCP Server Trigger",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "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

This n8n flow integrates Zoho CRM with an MCP (Model Context Protocol) Server and OpenAI Chat Model, enabling AI-driven automation for CRM lead management. It allows an AI Agent to create, update, delete, and fetch leads in Zoho CRM through natural language instructions.

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

More AI & RAG workflows → · Browse all categories →

Related workflows

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

AI & RAG

Splitout Redis. Uses executeWorkflowTrigger, n8n, redis, splitOut. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

3770. Uses executeWorkflowTrigger, n8n, redis, agent. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

Designing agent tools for outcome rather than utility has been a long recommended practice of mine and it applies well when it comes to building MCP servers; In gist, agents to be making the least amo

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

Workflow 3770. Uses executeWorkflowTrigger, n8n, redis, agent. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7
AI & RAG

Build your own N8N Workflows MCP Server. Uses executeWorkflowTrigger, n8n, redis, agent. Event-driven trigger; 46 nodes.

Execute Workflow Trigger, n8n, Redis +7