Zoho CRM & Sales

Zoho CRM and Intercom Integration: Sync Conversations, Leads, and Support Context

Aaxonix Team Aaxonix Team · May 11, 2026 · 13 min read #CRM Integration #Customer Support #intercom
Zoho CRM and Intercom Integration: Sync Conversations, Leads, and Support Context

When your sales team works in Zoho CRM and your support team runs conversations through Intercom, customer context gets fragmented fast. A lead chats with support about pricing, but the sales rep never sees that conversation. A deal closes in the CRM, but the support agent handling the onboarding ticket has no visibility into the contract value or product tier. Zoho CRM and Intercom integration solves this by creating a live data bridge between both platforms, syncing conversations, leads, and deal context in both directions. This guide walks through a practical Make (formerly Integromat) scenario that connects Zoho CRM and Intercom, covering conversation logging, lead creation, deal data push, and error handling from start to finish.

Why Zoho CRM and Intercom Need a Direct Integration

Zoho CRM handles pipeline management, deal tracking, and contact records. Intercom handles real-time messaging, support tickets, and product tours. Without a connection between them, your teams operate on incomplete data.

Here is what breaks without an integration:

A Make scenario running between the two platforms eliminates these gaps. Every Intercom conversation gets logged as a CRM note. New Intercom contacts automatically create Zoho CRM leads. And when a deal progresses in the CRM, the relevant data pushes back to Intercom as custom attributes so support agents see it in real time.

The result is a single source of truth that spans both platforms. Your CRM contact records carry the full conversation history, and your Intercom workspace reflects live deal status without anyone copying data manually.

Setting Up the Make Scenario for Zoho CRM and Intercom

Make is the preferred automation platform for this integration because it supports both Intercom webhooks and the Zoho CRM API as native modules. You get visual scenario building, error handling routes, and scheduling controls without writing code.

Step 1: Create Connections

In your Make dashboard, create two connections:

  1. Intercom connection: authenticate with your Intercom workspace using OAuth. Make requests read/write access to conversations, contacts, and tags.
  2. Zoho CRM connection: authenticate with your Zoho CRM account. Make connects via the Zoho API v2 and requests access to modules like Leads, Contacts, Deals, and Notes.

Both connections persist across scenarios, so you set them up once and reuse them in every workflow.

Step 2: Choose Your Trigger

For the primary sync scenario, use the Intercom “Watch Events” trigger module. This module listens for webhook notifications from Intercom and fires the scenario whenever a matching event occurs. The key events to watch are:

Configure the webhook URL that Make generates and register it in your Intercom Developer Hub under the Webhooks section. You can select multiple event topics on a single webhook endpoint.

Step 3: Build the Scenario Flow

After the trigger, add a Router module to branch the scenario into three parallel paths based on the event type. Each path handles a different sync operation: conversation logging, lead creation, or deal data push. This keeps the scenario modular and easy to debug.

Syncing Intercom Conversations to Zoho CRM Notes

The first route in your Make scenario handles conversation sync. When Intercom fires a conversation.admin.closed event, the scenario captures the full conversation thread and writes it as a note on the matching Zoho CRM record.

Mapping Conversation Data

The Intercom webhook payload includes the conversation ID, the contact’s email, the conversation body (HTML), tags, and the assigned agent. Use a Make “Get a Conversation” action module to pull the complete conversation parts if the webhook payload only contains a summary.

Then add a Zoho CRM “Search Records” module to find the matching Lead or Contact by email address. If a match exists, use the “Create a Note” module with these mappings:

Zoho CRM Note FieldIntercom Source
Note Title“Intercom Conv #” + conversation.id
Note Contentconversation.body + agent name + tags
Parent ModuleLeads or Contacts (from search result)
Parent IDRecord ID from search result

This approach ensures every closed conversation appears as a timestamped note inside the CRM. Sales reps reviewing a contact’s record see the full support history without switching to Intercom. If your team uses Zoho CRM automation workflows, you can trigger follow-up tasks when specific conversation tags appear in these notes.

Creating Zoho CRM Leads from Intercom Contacts

The second route handles lead creation. When Intercom fires a contact.created event, the scenario checks whether the contact already exists in Zoho CRM and creates a new lead if no match is found.

Deduplication Logic

Before creating a lead, add a Zoho CRM “Search Records” module that queries both the Leads and Contacts modules by email. If either search returns a result, the scenario skips lead creation and optionally updates the existing record with any new data from Intercom (like company name or phone number).

If no match exists, the “Create a Record” module fires with these field mappings:

Zoho CRM Lead FieldIntercom Contact Field
First Namecontact.name (parsed)
Last Namecontact.name (parsed)
Emailcontact.email
Companycontact.companies[0].name
Phonecontact.phone
Lead Source“Intercom”
Descriptioncontact.custom_attributes.utm_source

Setting the Lead Source to “Intercom” lets you filter and report on leads that originated from your messaging platform versus other channels. This is critical for measuring the ROI of your Intercom investment and aligning it with your broader Zoho CRM integrations strategy.

Handling Name Parsing

Intercom stores the full name as a single field. Use a Make text function to split it: {{split(contact.name, " ")[1]}} for the first name and {{split(contact.name, " ")[2]}} for the last name. Add a fallback that sets the last name to “Unknown” if the contact only provided a first name, since Zoho CRM requires the Last Name field.

Pushing CRM Deal Data to Intercom Custom Attributes

The third route works in the opposite direction. When a deal progresses in Zoho CRM, the relevant data pushes to Intercom so support agents see deal context directly in the conversation sidebar.

Setting Up the Zoho CRM Trigger

Create a separate Make scenario with a Zoho CRM “Watch Records” trigger on the Deals module. Configure it to fire on record updates, filtered to changes in the Stage, Amount, or Closing Date fields. This prevents the scenario from firing on every minor edit.

Writing to Intercom Custom Attributes

Intercom supports custom attributes on contact objects. Before running this scenario, create these custom attributes in your Intercom workspace under Settings > Data > People Data:

In the Make scenario, after the Zoho CRM trigger fires, add an Intercom “Update a Contact” module. Search for the Intercom contact by email (pulled from the Zoho deal’s contact association), then map the deal fields to the custom attributes.

Support agents now see live deal data in the Intercom sidebar when chatting with a customer. If a customer on a $50,000 deal contacts support, the agent immediately knows the deal value and stage without asking the sales team. This context-aware support reduces resolution time and prevents awkward interactions where an agent does not know the customer’s commercial relationship with your company.

Bidirectional Sync and Conflict Resolution

Running data in both directions creates the risk of sync loops. If updating a Zoho CRM record triggers a scenario that updates Intercom, which then triggers another scenario that updates Zoho CRM, you get infinite loops that burn through your Make operations quota.

Preventing Sync Loops

Use these strategies to prevent loops:

  1. Timestamp comparison: Store a “last_synced_at” custom field on both platforms. Before updating a record, compare the incoming data’s timestamp against the last sync timestamp. Skip the update if the incoming data is older.
  2. Source tagging: Add a “sync_source” field. When Make updates a Zoho CRM record, set sync_source to “intercom”. Configure your Zoho CRM trigger to exclude records where the most recent change came from “intercom”. Apply the same logic on the Intercom side.
  3. Make scenario scheduling: Instead of running on instant webhooks, schedule the Zoho-to-Intercom scenario to run every 15 minutes. Batch processing reduces the chance of rapid back-and-forth updates.

For teams managing complex automation chains, understanding how Zoho CRM API and webhooks work at the protocol level helps you design sync logic that scales without hitting rate limits.

Error Handling and Monitoring

Production integrations need error handling that goes beyond “retry on failure.” Make provides built-in error handling routes that you should configure on every module in your scenario.

Common Failure Points

Error TypeCauseResolution
401 UnauthorizedExpired Zoho CRM or Intercom OAuth tokenMake auto-refreshes tokens, but check connection health weekly
404 Not FoundContact deleted between trigger and actionAdd a filter after search to skip if no results
429 Rate LimitedToo many API calls in a short windowAdd a “Sleep” module (2-3 seconds) between batch operations
Duplicate RecordRace condition in lead creationUse upsert logic: search first, create only if not found
Field ValidationZoho CRM mandatory field missingAdd default values in the mapping for required fields

Setting Up Error Routes

On each critical module, right-click and add an error handler route. Configure it to:

  1. Log the error details (module name, input data, error message) to a Google Sheet or a dedicated Zoho CRM custom module for audit purposes
  2. Send a Slack notification or email alert to your integration admin
  3. Use the “Break” error directive for transient errors (rate limits, timeouts) so Make retries automatically
  4. Use the “Ignore” directive for known non-critical errors (like trying to update a deleted contact)

Monitoring is equally important. Make’s scenario execution history shows every run with input/output data for each module. Set up a weekly review cadence to check for patterns, especially around failed lookups that might indicate data quality issues in either platform.

Testing Your Integration Before Going Live

Never deploy an integration directly to production. Follow this testing sequence to validate each sync path.

Test Sequence

  1. Conversation sync test: Create a test conversation in Intercom, close it, and verify the note appears on the correct Zoho CRM record within 60 seconds
  2. Lead creation test: Add a new contact in Intercom with a unique email not in your CRM. Confirm the lead appears in Zoho CRM with all fields mapped correctly and Lead Source set to “Intercom”
  3. Deduplication test: Add another Intercom contact with an email that already exists in Zoho CRM. Confirm the scenario updates the existing record instead of creating a duplicate
  4. Deal push test: Update a deal stage in Zoho CRM and verify the custom attributes update on the matching Intercom contact within the scheduled interval
  5. Error handling test: Temporarily revoke the Intercom API token and trigger the scenario. Confirm the error route fires, logs the failure, and sends the notification

Use Make’s “Run once” button during testing to execute the scenario manually. Check the execution log for each module’s output and verify data accuracy at every step. Only switch to scheduled or instant execution after all five tests pass consistently.

If your team also uses Zoho Flow for automation, consider running simpler one-directional syncs there and reserving Make for the complex bidirectional workflows that need router logic and advanced error handling.

For a full overview of all available options, explore our complete guide to Zoho integrations.

Frequently Asked Questions

Can I sync Intercom conversations to Zoho CRM in real time?

Yes. Using Make’s instant webhook trigger with the Intercom conversation.admin.closed event, closed conversations sync to Zoho CRM as notes within seconds. For open or ongoing conversations, you can set up a scheduled scenario that polls Intercom at regular intervals.

Does this integration work with Zoho CRM Free Edition?

The Zoho CRM API, which Make uses to read and write records, is available on the Standard plan and above. The Free Edition does not include API access, so you need at least the Standard tier for this integration to function.

How many Make operations does the Zoho CRM and Intercom sync use per month?

Each scenario run consumes one operation per module executed. A typical conversation sync run uses 3-4 operations (trigger, search, create note). For a team processing 500 conversations per month, expect roughly 1,500-2,000 operations for conversation sync alone. Make’s free plan includes 1,000 operations, so most teams need a paid plan.

What happens if a contact exists in Intercom but not in Zoho CRM?

The lead creation route in the Make scenario handles this automatically. When a new Intercom contact is detected, the scenario searches Zoho CRM by email. If no match is found, it creates a new lead with the contact’s details and sets the Lead Source to “Intercom” for tracking purposes.

Can I push Zoho CRM data to Intercom without Make?

You can use Zoho CRM’s native webhook feature to send data on record updates, but you still need a receiving endpoint to process the payload and call the Intercom API. Make simplifies this by handling both sides. Alternatives include Zapier, n8n, or a custom middleware built on your own server.

Aaxonix builds production-grade Zoho CRM integrations with Intercom, Slack, and other platforms your team depends on, with proper error handling, deduplication, and bidirectional sync. Book a free consultation to get a scoped integration plan and a walkthrough of your current data flow.

Book a free consultation

A working Zoho CRM and Intercom integration removes the friction between sales and support by keeping both teams informed with the same customer data. Start with the conversation sync scenario, validate it with the testing sequence above, then expand to lead creation and deal data push as your team gets comfortable with the automation. The full Make scenario typically takes 2-3 hours to build and test, and the payoff is immediate: no more context switching, no more duplicate data entry, and a complete view of every customer interaction in both platforms.

Share this article LinkedIn Twitter / X
# CRM Integration # Customer Support # intercom # Lead Sync # Make Automation # Sales Automation # Zoho CRM

Thinking about Zoho or NetSuite?

Our team builds systems that actually work. No fluff, just honest architecture and clean implementation.