Before you start
Intercom workspace with API access
Intercom workspace with API access
You need an Intercom workspace on a plan that includes API access. You also need admin-level permissions to generate access tokens in the Developer Hub.
Admin access in OpenCX
Admin access in OpenCX
Only organization admins can connect integrations. Confirm your role at Settings → Organization.
Setup
Generate an access token
In Intercom, go to Settings → Integrations → Developer Hub (or create an app in the Developer Hub). Generate an access token with full conversation and contact permissions.
Enter credentials in OpenCX
Open Settings → Integrations in your OpenCX dashboard. Select Intercom and enter:
Click Save. OpenCX validates the credentials by listing your Intercom conversations. If validation fails, double-check the token has not been revoked and your Intercom plan includes API access.
| Field | Value |
|---|---|
| Access token | The token you generated in the previous step. |
| Workspace ID | Your Intercom workspace identifier, visible in your Intercom URL or app settings. |
Select the default admin
After credentials are saved, OpenCX loads your Intercom admins. Pick the admin account that represents the AI agent — this is who customers see replies from.
Copy the webhook URL
OpenCX displays a webhook URL after connection. Copy it and paste it into your Intercom app’s webhook settings in the Developer Hub. Subscribe to these topics:
conversation.user.createdconversation.user.repliedconversation.admin.repliedconversation.admin.assignedconversation.admin.closed
Configure handoff assignment
Choose what happens when the AI hands off a conversation:
- Unassigned (default) — removes the AI admin and leaves the conversation unassigned for your team to pick up.
- Specific admin — routes to a named admin on handoff.
- Specific team — routes to an Intercom team on handoff.
Send a test message
Open your Intercom Messenger and send a test message. The AI should reply within a few seconds. Then say “I want to talk to a human” — you should see a handoff note appear as an internal note and the conversation unassigned (or reassigned per your config).
Settings reference
All settings are configured at Settings → Integrations → Intercom.| Setting | Purpose |
|---|---|
| Default admin | The Intercom admin the AI replies as. Required. |
| Default team | Fallback team for routing. Optional. |
| Handoff assignment | Where conversations go on handoff: unassigned, specific admin, or specific team. |
| Ignore first message | Skip AI processing on the opening message. Useful when Intercom bots handle the greeting. |
| Process on assignment | Wait for the conversation to be assigned to the AI admin before processing, instead of processing on the first message. |
| Full conversation sync | Store all conversation messages in OpenCX even when the conversation is not assigned to AI. For reporting and supervision. |
| Forward unsupported attachments | Pass PDF, video, and audio attachments to the AI as placeholder text so it can acknowledge them. |
| Send citations as note | Post an internal note linking to the AI’s source citations in OpenCX after each reply. |
| Company data sync | Sync custom attributes from the contact’s Intercom company to their OpenCX profile. Options: disabled, first company only, all companies. |
| Custom attribute delay | Seconds to wait before re-fetching conversation custom attributes after creation. Handles Intercom race conditions where attributes are set by workflows after the conversation is created. Max 10 seconds. |
Disconnecting
To remove the Intercom integration, open Settings → Integrations → Intercom and click Disconnect. This deletes stored credentials and stops webhook processing. Existing OpenCX sessions are preserved but no longer receive updates from Intercom.Related Documentation
Conversations
How messages flow, handoff steps, and tags.
Assist Mode
AI-drafted internal notes on agent-owned conversations.
Channels
Per-channel implementation details for Web and Email.
Troubleshooting
Credentials failing, webhook silent, AI not replying.