Intercom to ClickUp, chats triaged and routed fast
New Intercom conversations come in hot, and then… they sit. Someone has to read them, guess what they are, decide who owns them, and hope nothing urgent gets buried in the scroll. That’s how fast support turns into “we’ll get back to you soon.”
Support leads feel it first, because they’re the ones fielding the “any update?” follow-ups. But product managers and sales teams feel it too. This Intercom ClickUp routing automation triages every chat, routes it to the right place, and pings Sales in Slack when it matters.
You’ll see what gets automated, what results you can expect, and how the workflow decides between Support, Product, Sales, or “do nothing.”
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: Intercom to ClickUp, chats triaged and routed fast
flowchart LR
subgraph sg0["🧠 AI Classification Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>📨 Incoming Intercom Hook"]
n1@{ icon: "mdi:robot", form: "rounded", label: "🧠 AI Classification Prompt", pos: "b", h: 48 }
n2@{ icon: "mdi:brain", form: "rounded", label: "GPT Mini Chat Model", pos: "b", h: 48 }
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>🧮 Format Classification Data"]
n4@{ icon: "mdi:swap-horizontal", form: "rounded", label: "🛠️ Check Support Category", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "📦 Check Product Category", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-horizontal", form: "rounded", label: "💼 Check Sales Category", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/clickup.svg' width='40' height='40' /></div><br/>🧾 Generate Support Task"]
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/clickup.svg' width='40' height='40' /></div><br/>🛍️ Generate Product Task"]
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/slack.svg' width='40' height='40' /></div><br/>📣 Sales Slack Notification"]
n0 --> n1
n6 --> n9
n2 -.-> n1
n5 --> n8
n4 --> n7
n3 --> n4
n3 --> n5
n3 --> n6
n1 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n1 ai
class n2 aiModel
class n4,n5,n6 decision
class n0 api
class n3 code
classDef customIcon fill:none,stroke:none
class n0,n3,n7,n8,n9 customIcon
The Problem: Intercom Chats Don’t Triage Themselves
Intercom is great at collecting conversations. It is not great at deciding what they mean for your business. So your team ends up doing the same mental work all day: read the message, infer intent, tag it, pick a priority, then forward it to the right person (or worse, the wrong person). Multiply that by a busy inbox and you get slow responses, inconsistent tagging, and a bunch of “we should’ve caught that sooner” moments. Honestly, the painful part isn’t the work. It’s the constant context-switching while you’re trying to actually solve problems.
It adds up fast. Here’s where it breaks down in real life.
- Messages that should become ClickUp tasks stay trapped in Intercom, so nothing gets tracked or prioritized.
- Sales questions look like support questions until someone reads the whole thread, which means leads get handled late.
- Tags and priority labels vary by person, so reporting becomes unreliable and handoffs turn messy.
- Product feedback gets lost in the noise, and the team only hears it when churn shows up.
The Solution: AI Triage + ClickUp Tasks + Sales Slack Alerts
This workflow listens for every new Intercom conversation via a webhook, then sends the full message payload to an OpenAI chat model (gpt-4o-mini) with a structured prompt. The AI returns a clean JSON classification with category (Support, Product, Sales, or Other), along with sentiment, urgency, reasoning, and suggested tags. n8n then parses that output, merges it back with the customer details, and formats consistent fields your team can actually use. After that, routing is automatic: Support and Product become structured ClickUp tasks, Sales becomes a real-time Slack notification with context, and anything classified as “Other” is ignored so you don’t clutter your systems.
The workflow starts when Intercom posts a new conversation payload. AI classifies and enriches it, then n8n routes it through simple category checks. Finally, ClickUp gets the tasks your teams will work from, and Slack gets the alert your Sales team needs right now.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say you get about 30 new Intercom conversations a day. If a human spends roughly 4 minutes reading, categorizing, tagging, and forwarding each one, that’s about 2 hours daily just on triage. With this workflow, the “human time” becomes a quick skim of the created ClickUp task or Slack alert, maybe 30 seconds each, so around 15 minutes total. The rest happens in the background while you keep working.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Intercom to send new conversation webhooks
- ClickUp to create Support and Product tasks
- Slack to alert Sales in real time
- OpenAI API key (get it from your OpenAI dashboard)
Skill level: Intermediate. You’ll connect accounts, paste prompts, and map a few fields from Intercom into ClickUp and Slack.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Intercom triggers the workflow. A webhook receives the full conversation payload when a new customer message arrives, including message text and basic customer metadata.
AI classifies the conversation. The message JSON is sent to an AI Agent backed by an OpenAI chat model, returning a structured response with category, urgency, sentiment, reasoning, and tags.
n8n cleans and structures the output. A code step parses the AI response, merges it with the original Intercom details, and prepares a consistent set of fields your downstream tools can rely on.
Routing happens automatically. If checks split the flow: Support and Product create ClickUp tasks, Sales posts a Slack alert to the right channel, and “Other” can be dropped to avoid noise.
You can easily modify the categories and routing rules to match your internal queues or SLAs based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
Set up the inbound webhook that receives Intercom conversation payloads and starts the workflow.
- Add and open 📨 Incoming Intercom Hook.
- Set HTTP Method to
POST. - Set Path to
[YOUR_ID]and copy the production webhook URL into Intercom. - Execute a test webhook call from Intercom to generate sample data for downstream nodes.
Step 2: Set Up the AI Classification Engine
Configure the AI prompt and connect the language model that classifies the conversation.
- Open 🧠 AI Classification Prompt and keep Prompt Type set to
define. - Verify the prompt includes the conversation input reference
{{ $json["data"]["item"] }}so the AI sees the raw Intercom JSON. - Open GPT Mini Chat Model and select the model
gpt-4o-mini. - Credential Required: Connect your openAiApi credentials in GPT Mini Chat Model.
- Ensure GPT Mini Chat Model is connected as the language model for 🧠 AI Classification Prompt (credentials are added to the model node, not the agent node).
Step 3: Format and Normalize AI Output
Parse the AI response, enrich it with original conversation fields, and build task-ready data.
- Open 🧮 Format Classification Data and keep the provided JavaScript Code as-is to parse
$input.first().json.choices[0].message.content. - Confirm the node references the original payload via
$('📨 Incoming Intercom Hook').first().json.data.item. - Ensure the output fields include category, sentiment, urgency, task_title, and task_description used by downstream actions.
Step 4: Configure Category Routing
Route the formatted data into parallel paths based on the AI’s category classification.
- Open 🛠️ Check Support Category and set the condition to Equals with Left Value
{{ $json.category }}and Right ValueSupport. - Open 📦 Check Product Category and set the condition to Equals with Left Value
{{ $json.category }}and Right ValueProduct. - Open 💼 Check Sales Category and set the condition to Equals with Left Value
{{ $json.category }}and Right ValueSales. - Confirm parallel routing: 🧮 Format Classification Data outputs to 🛠️ Check Support Category, 📦 Check Product Category, and 💼 Check Sales Category in parallel.
Right Value to Other.Step 5: Configure Output Actions (ClickUp + Slack)
Create ClickUp tasks for Support/Product and send Slack alerts for Sales inquiries.
- Open 🧾 Generate Support Task and set List, Team, Space, and Folder to your ClickUp IDs.
- Set Name to
{{ $json.task_title }}and map Tags to{{ $json.tags.join(', ') }}and Priority to{{ $json.urgency }}. - Credential Required: Connect your clickUpOAuth2Api credentials in 🧾 Generate Support Task.
- Repeat the same setup in 🛍️ Generate Product Task with your Product list and folder IDs.
- Credential Required: Connect your clickUpOAuth2Api credentials in 🛍️ Generate Product Task.
- Open 📣 Sales Slack Notification, keep the message template as provided, and set Channel to
[YOUR_ID]. - Credential Required: Connect your slackApi credentials in 📣 Sales Slack Notification.
[YOUR_ID]. Replace all placeholders before testing.Step 6: Test and Activate Your Workflow
Verify each path works correctly and then activate the workflow for production.
- Click Execute Workflow and send a test Intercom conversation to 📨 Incoming Intercom Hook.
- Confirm 🧠 AI Classification Prompt returns valid JSON and 🧮 Format Classification Data outputs the structured fields.
- Test category-specific routing by sending one Support, one Product, and one Sales example; verify each path triggers the correct action.
- Successful execution looks like: a ClickUp task created from 🧾 Generate Support Task or 🛍️ Generate Product Task, and a Slack alert sent by 📣 Sales Slack Notification.
- Toggle the workflow to Active once all test cases succeed.
Common Gotchas
- ClickUp credentials can expire or need specific permissions. If things break, check the ClickUp token and workspace access in your n8n Credentials screen first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice and category definitions early or you’ll be editing outputs forever.
Frequently Asked Questions
About an hour if your Intercom, ClickUp, Slack, and OpenAI accounts are ready.
No. You will mostly connect accounts and map fields. The included code step is already written, and you typically only tweak categories and task formatting.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs, which are usually a few cents per day at small volumes.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you should. You can update the AI Classification Prompt to use your own category names (like Billing, Bug, Feature Request, Enterprise Lead) and then adjust the three “Check Category” logic blocks to match. Common customizations include changing what becomes a ClickUp task, posting Sales alerts to different Slack channels, and tightening the rules for what counts as “urgent.”
Most of the time it’s a webhook or auth mismatch. Confirm Intercom is sending the conversation payload to the exact n8n webhook URL you deployed, and that your Intercom app has permission to read conversation events. If it suddenly stopped working, regenerate the Intercom webhook secret (if you use one) and update the value in n8n, then re-test with a new conversation.
A lot. On n8n Cloud, the limit is based on your execution quota, and self-hosting depends on your server. Practically, most small teams can run hundreds of chats per day without changing anything, as long as OpenAI and your tools aren’t rate limiting.
Often, yes. The big win is control: you can parse structured JSON, merge data, and branch logic without fighting plan limits or awkward workarounds, plus you can self-host if execution volume grows. Zapier and Make can still work if you only want a simple “create a task every time” setup, but this workflow’s AI classification and routing logic is where n8n tends to feel cleaner. It also makes debugging easier because you can inspect each run end-to-end. If you want help choosing, Talk to an automation expert.
Once triage is automatic, Intercom stops feeling like a firehose. Your team gets clear ClickUp tasks, Sales gets Slack context, and you respond faster without adding headcount.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.