Back to Blog
n8nZoho CRMintegrationautomationtutorial

n8n + Zoho CRM Integration: 5 Powerful Workflows You Can Build

n8nautomation TeamApril 15, 2026
TL;DR: This guide shows you how to connect n8n and Zoho CRM to create powerful, automated workflows. We provide step-by-step instructions for 5 practical use cases, including syncing new leads from webhooks, creating contacts from Google Sheets, updating deals from Stripe payments, and more.

A powerful n8n + Zoho CRM integration is the key to unlocking seamless sales and marketing automation, eliminating manual data entry, and giving your team a real-time view of the customer lifecycle. By connecting Zoho CRM's robust features with n8n's flexible workflow builder, you can automate everything from lead capture to deal management and customer communication. This guide provides five practical, step-by-step workflows you can build today to save time and streamline your CRM processes.

Whether you're capturing leads from a website form, syncing data from a spreadsheet, or tracking payments, these automations will ensure your Zoho CRM is always up-to-date. For businesses that need reliable, high-performance automation, running your workflows on a platform like n8nautomation.cloud provides a dedicated, fully managed environment, so you can focus on building automations, not managing servers.

Connecting n8n and Zoho CRM

Before building workflows, you need to establish the connection between n8n and your Zoho CRM account. This is done using the Zoho CRM node and requires an API credential.

  1. Create a New Credential in n8n: From your n8n canvas, add a Zoho CRM node. Click the 'Credential' dropdown and select 'Create New'.
  2. Configure the Zoho API Console: You will be prompted for a Client ID, Client Secret, and an Authorization URL. To get these, you need to create a new client in the Zoho API Console.
    • Log in to the Zoho API Console.
    • Click 'Add Client' and choose 'Server-based Applications'.
    • Enter a Client Name (e.g., "n8n Integration"), your Homepage URL, and the 'Authorized Redirect URI' provided by n8n in the credential setup window.
    • Click 'Create'. You will now see your Client ID and Client Secret.
  3. Authorize the Connection: Copy the Client ID and Secret back into the n8n credential window. Choose your Zoho domain (e.g., .com, .eu). Click 'Connect my account', accept the permissions, and the credential will be saved.

Workflow 1: Add New Website Leads to Zoho CRM Instantly

One of the most essential automations is capturing leads from your website's contact or signup form and adding them to your CRM immediately. This workflow uses an n8n webhook to receive form data and the Zoho CRM node to create a new lead.

  1. Set up the Trigger: Start with the Webhook node. This node generates a unique URL that will listen for incoming data. Copy the 'Test URL'.
  2. Configure Your Form: In your website's form settings (e.g., Webflow, WordPress, or any custom HTML form), set the form's action to send a POST request to the webhook URL you just copied. Make sure the form field names are clear (e.g., firstName, lastName, email, company).
  3. Capture Test Data: Submit your website form once to send test data to the Webhook node. Go back to n8n and you should see the captured data in the node's output.
  4. Add the Zoho CRM Node: Add a Zoho CRM node after the webhook.
    • Resource: Select 'Lead'.
    • Operation: Choose 'Create'.
    • Fields: Click 'Add Field' and map the data from the Webhook node. For example, set 'Last Name' to {{$json["body"]["lastName"]}} and 'Email' to {{$json["body"]["email"]}}. Map all the fields you need.
  5. Activate and Test: Activate the workflow. Now, every new form submission will automatically create a new lead in your Zoho CRM account.

Tip: For business-critical workflows like lead capture, you need 100% uptime. A managed service like n8nautomation.cloud ensures your workflows are always on, with automatic backups and 24/7 monitoring, so you never miss a lead.

Workflow 2: Sync Contacts from Google Sheets to Zoho CRM

If you manage contact lists in a spreadsheet, this n8n Zoho CRM integration makes it easy to sync them. This workflow runs on a schedule, reads rows from a Google Sheet, and creates or updates contacts in Zoho CRM.

  1. Set up the Trigger: Use the Schedule node to run this workflow at a regular interval (e.g., every day at 9 AM).
  2. Read the Google Sheet: Add a Google Sheets node.
    • Authenticate with your Google account.
    • Operation: Select 'Get Rows'.
    • Enter your Sheet ID and the Range (e.g., Sheet1!A2:D). Ensure your sheet has headers like 'FirstName', 'LastName', 'Email', and 'Phone'.
  3. Add the Zoho CRM Node: Add a Zoho CRM node.
    • Resource: Select 'Contact'.
    • Operation: Choose 'Upsert'. This is crucial—it will create a new contact if one doesn't exist or update an existing one based on a unique identifier.
    • Conflict Resolution: Select 'Email' as the field to check for duplicates.
    • Fields: Map the columns from your Google Sheet. For 'Last Name', use an expression like {{$json["LastName"]}}. Map 'First Name', 'Email', and any other relevant fields.

Workflow 3: Auto-Create Deals from New Stripe Payments

Close the loop between sales and finance by automatically creating or updating a deal in Zoho CRM whenever a customer makes a payment in Stripe. This keeps your sales pipeline in sync with actual revenue.

  1. Set up the Trigger: Use the Stripe Trigger node.
    • Authenticate your Stripe account.
    • Event: Select 'charge.succeeded' to trigger the workflow on successful payments.
  2. Find the Contact: Add a Zoho CRM node to find the contact associated with the payment.
    • Resource: 'Contact'.
    • Operation: 'Get All'.
    • Filters: Add a filter where 'Email' equals the customer's email from the Stripe trigger: {{$json["body"]["data"]["object"]["billing_details"]["email"]}}.
  3. Create the Deal: Add another Zoho CRM node.
    • Resource: 'Deal'.
    • Operation: 'Create'.
    • Fields: Set the 'Deal Name' (e.g., "New Subscription - {{$json["body"]["data"]["object"]["customer"]}}"). Set the 'Amount' to the payment amount from Stripe: {{$json["body"]["data"]["object"]["amount"] / 100}}. Associate it with the contact found in the previous step by mapping the 'Contact Name' ID: {{$node["Zoho CRM1"].json["id"]}}.
    • Set the 'Stage' to 'Closed Won' or another appropriate stage.

Workflow 4: Log Customer Emails as Notes in Zoho CRM

Keep a complete record of all customer communication by logging important emails as notes on their Zoho CRM contact record. This workflow can monitor a specific folder in your inbox.

  1. Set up the Trigger: Use the IMAP Email node to connect to your email account (like Gmail or Outlook).
    • Configure your IMAP credentials.
    • Set the 'Source Folder' to 'INBOX' or a specific folder where you move important client emails.
  2. Find the Contact in Zoho: Add a Zoho CRM node.
    • Resource: 'Contact'.
    • Operation: 'Search'.
    • Search Field: 'Email'.
    • Search Value: Map the sender's email from the IMAP node: {{$json["from"][0]["address"]}}.
  3. Filter for Existing Contacts: Add an IF node to ensure the workflow only continues if a contact was found. Set the condition to check if the output from the Zoho CRM node is not empty.
  4. Create the Note: On the 'true' branch of the IF node, add another Zoho CRM node.
    • Resource: 'Note'.
    • Operation: 'Create'.
    • Parent ID: Map the Contact ID from the search step: {{$node["Zoho CRM"].json[0]["id"]}}.
    • Note Title: Set it to the email subject: {{$json["subject"]}}.
    • Note Content: Set it to the email's text content: {{$json["text"]}}.

Workflow 5: Send Daily Lead Summaries to Slack

Keep your sales team motivated and informed with a daily summary of new leads sent directly to a Slack channel. This workflow gathers all leads created in Zoho CRM over the last 24 hours and posts a formatted message.

  1. Set up the Trigger: Use the Schedule node to run once every weekday at a specific time (e.g., 5 PM).
  2. Get recent leads from Zoho CRM: Add a Zoho CRM node.
    • Resource: 'Lead'.
    • Operation: 'Get All'.
    • Options: Add a 'sort' option with 'Sort By' set to `Created_Time` and 'Order By' set to `desc`. Set 'Limit' to a reasonable number like 100. This fetches the most recent leads first.
  3. Filter for Last 24 Hours: Add a Date & Time node to get yesterday's date. Then, add an IF node to compare the 'Created Time' of each lead with yesterday's date, only allowing leads created since then to pass. The condition would look something like {{DateTime.fromISO($json.Created_Time).toMillis() > DateTime.now().minus({days: 1}).toMillis()}}.
  4. Format the Summary: Use a Code node to format the leads into a clean, readable list for Slack. You can build a string that lists each lead's name, company, and email.
  5. Note: The code node requires some JavaScript, for a no-code approach you could use the 'Item Lists' node to aggregate and format the data before sending to Slack.

  6. Send to Slack: Add a Slack node.
    • Authenticate your Slack workspace.
    • Specify the 'Channel'.
    • In the 'Text' field, insert the formatted summary from the Code node or Item Lists node. For example: `New Leads Today: {{$node["Code"].json["summary"]}}`.

By implementing these n8n + Zoho CRM integration workflows, you can automate critical parts of your sales and marketing process. These examples are just the beginning—with over 400 nodes available in n8n, you can connect Zoho CRM to virtually any tool in your stack. Ready to build powerful, reliable automations without worrying about server maintenance? Get your dedicated instance at n8nautomation.cloud today.

Ready to automate with n8n?

Get affordable managed n8n hosting with 24/7 support.