FlowKit

Connecting Intercom to n8n: qualifying leads and automating conversations with AI

Published 4 August 2026 · 6 min read

Intercom often carries three jobs at once — live chat, marketing lead capture, and customer support — without any of those streams naturally talking to the rest of your stack (CRM, Slack, a knowledge base). A lead who starts a conversation in the Intercom widget stays an isolated row in Intercom until someone copies it elsewhere by hand. Connecting Intercom to n8n closes that gap: an incoming lead can be scored and pushed to the CRM in seconds, an unresolved conversation can surface in a Slack digest, and a contact can be enriched automatically before a rep ever reaches out. This guide covers authentication, the node's actual resources, how to trigger a workflow (Intercom has no native trigger node in n8n), and three concrete use cases.

Authentication: the Access Token via the Developer Hub

The n8n Intercom node authenticates with an Access Token, generated not in the regular account settings but in Intercom's Developer Hub:

  1. On developers.intercom.com, create (or open) an app in your workspace.
  2. Under the Authentication tab, generate an Access Token — Intercom creates it automatically when the app is created.
  3. In n8n, create an Intercom API credential and paste that token.

This token carries whatever permissions were granted to the app (reading/writing contacts, companies, conversations…): scope it to only what your workflows actually need, rather than defaulting to full access. As with any broadly privileged token, create the app under a dedicated technical account rather than a personal one, so the automation survives an employee leaving.

The Intercom node's resources

The node covers three resources, each with Create, Update, Get, Get Many, and Delete operations:

  • Lead — an anonymous or unauthenticated visitor who interacted with Intercom (chat widget, form) without yet being tied to an identified user account.
  • User — a contact already associated with a known account in your product, typically identified by their user_id or email.
  • Company — the organization a Lead or User can be linked to; in addition to the five standard operations, the Company resource exposes a Users operation that lists every contact associated with a given company.

Each resource accepts custom attributes on top of standard fields (name, email, phone, avatar, first-visit UTM parameters), which lets you write a qualification score, a category, or any other business field directly onto the record.

One thing worth knowing before designing a workflow: Intercom merged its old Leads and Users APIs into a unified Contacts API several years ago, but the n8n node was built before that change and still keeps Lead and User as two distinct resources (a consolidation into a single Contact resource is under review in the n8n repository). In practice this doesn't change how you use it: pick Lead for a not-yet-identified visitor, User for a contact already tied to an account, and both map to the same contact object on Intercom's side.

Triggering a workflow from Intercom

There's no Intercom Trigger node in n8n. Real-time triggering goes through Intercom's native webhooks, configured from the same Developer Hub app as the token:

  1. In the Intercom app, under the Webhooks tab, add the URL of an n8n Webhook node (as POST).
  2. Subscribe to the relevant topics — for example conversation.user.created (a new conversation opened by a contact), conversation.admin.replied (an agent's reply), or contact.lead.created (a new lead captured by the widget).
  3. Every subscribed event arrives as a POST on the n8n webhook, with the full payload of the object involved.

Without an Intercom app configured for webhooks, the alternative is light polling: a Schedule Trigger every five to ten minutes followed by an Intercom → Lead/User → Get Many, filtered on contacts updated since the last run.

Use case 1 — Automatic scoring and qualification of new leads

The contact.lead.created webhook triggers an AI Agent node with a Structured Output Parser, which analyzes the lead's initial message (and, if available, their source page or UTM parameters) to produce a qualification score and a category. The result is written back to the record via Intercom → Lead → Update (as a custom attribute), and an IF node routes hot leads to an immediate Slack alert. The scoring rubric, prompt examples, and the feedback loop for refining the model are covered in detail in our guide on automatically qualifying incoming leads with AI — the pipeline there is built for a generic form and carries over directly to an Intercom webhook.

Use case 2 — Syncing Intercom to the CRM

A qualified lead in Intercom only becomes useful to the sales team once it lands in the CRM. After scoring, a HubSpot or Pipedrive node looks up the contact by email (to avoid duplicates), then creates or updates the record with the score, the category, and a link back to the originating Intercom conversation. This search-before-create pattern, custom field handling, and rate-limit management are covered in depth in our CRM sync guide with n8n.

Use case 3 — Daily digest of pending conversations

A daily Schedule Trigger kicks off an HTTP Request call to GET /conversations (filtered to open, unassigned conversations), followed by an AI Agent node that summarizes the dominant topics, flags conversations pending for more than X hours, and surfaces messages with a negative tone. The result goes out to a Slack channel, following the same pattern as the daily digest in the Inbox AI Pack (€79) — the same architecture (aggregation, AI summary, Slack delivery), applied to a conversation stream instead of a mailbox.

One point worth flagging on response times: a study by Ulrich Gnewuch, Stefan Morana, Marc T. P. Adam, and Alexander Mädche, Opposing Effects of Response Time in Human–Chatbot Interaction, published in 2022 in Business & Information Systems Engineering, shows that a fast response time isn't always a positive: beyond a simple automated acknowledgment, an instantaneous reply can come across as less human and reduce perceived trust, whereas a moderate delay consistent with the question's complexity improves satisfaction. For an AI-generated digest or reply draft, that argues for having an agent review and send it themselves rather than automating the reply end to end.

Limits and best practices

The native node doesn't cover conversations or the tags attached to contacts: anything touching /conversations, /tags, or /notes goes through an HTTP Request node reusing the Intercom API credential — the standard move for any operation missing from a native node. On a workflow that processes batches (sync, bulk enrichment), watch the X-RateLimit-Remaining headers returned by the API and add a Wait node or retry logic, as detailed in our guide on 429 errors and rate limiting. And as with any workflow touching customer data in production, set up a dedicated Error Workflow so a lead never silently disappears after an API failure.

Summary

Connecting Intercom to n8n comes down to an Access Token generated via the Developer Hub, three resources well covered by the native node (Lead, User, Company), a detour through HTTP Request for conversations, and triggering via Intercom webhooks rather than a native trigger. This architecture — webhook, AI scoring, CRM write-back, and Slack digest — is exactly what the Inbox AI Pack (€79) provides; if your Intercom leads also need to feed a knowledge base or a RAG chatbot, the RAG Assistant Pack (€119) and the Complete FlowKit Bundle (€269 instead of €347) cover the whole pipeline.

FAQ

Frequently asked questions

Does the n8n Intercom node handle conversations and chat messages?

No: the native node is limited to the Lead, User, and Company resources (create, update, get, delete, plus a Users operation to list a company's members). To read, reply to, or close a conversation, you need an HTTP Request node reusing the existing Intercom credential, targeting the API's /conversations endpoints (for example POST /conversations/{id}/reply to send a reply).

Why does the node still separate Lead and User when Intercom talks about "contacts"?

Intercom merged its old Leads and Users APIs into a unified Contacts API several years ago. The n8n node, however, was built before that change and still exposes Lead and User as two separate resources, each mapping to the same contact object on Intercom's side. A consolidation into a single Contact resource is under review in the n8n repository; in the meantime, pick Lead for an anonymous or unidentified visitor and User for a contact already tied to a known account.

Is there an Intercom Trigger node in n8n?

No. Real-time triggering goes through Intercom's native webhooks: from the Developer Hub, an Intercom app can subscribe to topics (conversation.user.created, conversation.admin.replied, contact.lead.created…) and push each event as a POST to an n8n Webhook node. Without a configured Intercom app, a Schedule Trigger followed by a Get Many filtered on the update date remains the polling alternative.

What Intercom API rate limit should I know about before automating at volume?

Intercom applies a per-app rate limit, typically several hundred requests per minute depending on the plan, with the standard X-RateLimit-Limit and X-RateLimit-Remaining headers returned on every response. For a workflow processing batches (CRM sync, bulk enrichment), add a Wait node between calls or retry-with-backoff logic instead of letting the workflow fail on a 429.

Bundle FlowKit Complet

€269