canonical: https://jentic.com/apis/intercom.com/intercom

# Intercom API

The Intercom API exposes the platform's customer messaging, support, and help-centre operations across 133 endpoints, covering conversations, contacts, companies, tickets, articles, segments, tags, and the workspace's data attributes. Authentication is a bearer access token issued via Intercom's OAuth flow or a personal access token from the developer hub. Regional servers are available for EU and AU workspaces in addition to the default US production endpoint, and version 2.13 is signalled through the standard Intercom-Version header workflow.

## For AI agents

Send and reply to Intercom conversations, manage contacts and companies, and read help-centre articles and tickets across an Intercom workspace.

## Scope

Does not handle telephony, SMS sending, video calls, or core CRM deal-pipeline objects - use for Intercom messaging, contacts, tickets, and help-centre operations only.

## Capabilities

- Open new conversations from contacts and reply on behalf of admins or users
- Search contacts and companies with the workspace's data attributes and custom fields
- Create and update tickets, attach contacts, and move them through ticket states
- Publish, list, and search help-centre articles, collections, and sections
- Apply tags and segments to contacts and conversations for routing and reporting
- Read events and conversation parts to feed analytics and workflow automation

## Use cases

### Support Agent Reply Automation

Support teams use the Intercom API to draft, send, and triage replies on conversations from a custom UI or AI assistant rather than the Intercom inbox. POST /conversations/{id}/reply sends the message body as either an admin or a user, while GET /conversations/{id}/parts returns the existing back-and-forth so the agent can write a contextual response. Integration is hours rather than days because of Intercom's stable v2 schema.

Example prompt: Reply to Intercom conversation 9145872 as admin 73821 with the message 'Your refund has been issued and will appear in 3-5 business days.'

### Contact and Company Sync

Product and growth teams sync user and account data from their backend into Intercom contacts and companies so messaging and segmentation reflect product reality. POST /contacts and POST /companies create or update records keyed on external_id, and the search endpoint supports filtered queries with operators across attributes. Daily sync jobs replace the older brittle CSV import flow.

Example prompt: Upsert an Intercom contact with email user@acme.com, name 'Avery Chen', and custom attribute 'plan' set to 'pro'

### Help Centre Content Management

Documentation teams manage help-centre articles, collections, and sections through the API rather than the Intercom UI, enabling Markdown-source-of-truth workflows or AI-assisted article generation. POST /articles publishes new pieces, GET /help_center/collections lists the navigation structure, and PUT /articles/{id} applies edits. This unblocks doc-as-code workflows for support content.

Example prompt: Create a new Intercom article titled 'How to update your billing address' under collection 8821 and publish it

### Agent-Driven Customer Triage

An AI agent sits behind a workspace inbox, reading new conversations through GET /conversations and classifying them by topic, sentiment, and urgency. It then assigns the conversation to the right team via PUT /conversations/{id}/parts with an assignment body, tags it for reporting, and drafts a suggested reply for human approval. Jentic handles the bearer token isolation so the agent never sees the raw access token.

Example prompt: Read all unassigned Intercom conversations from the last hour, classify each as 'billing', 'technical', or 'general', and assign to the matching team

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /conversations | Create a new conversation |
| POST | /conversations/{id}/reply | Reply to a conversation as admin or user |
| POST | /contacts/search | Search contacts with filters |
| POST | /contacts | Create a contact |
| POST | /companies | Create or update a company |
| POST | /tickets | Create a support ticket |
| POST | /articles | Publish a help-centre article |
| POST | /tags | Apply or create a tag |

## Key resources

- **Conversations** — Create, list, search, reply, assign, and read parts of customer conversations
- **Contacts** — Create, update, search, archive, and tag contacts (users and leads)
- **Companies** — Create, update, list, and attach contacts to companies for B2B accounts
- **Tickets** — Create, update, and list support tickets with custom ticket types
- **Help Center (Articles, Collections, Sections)** — Manage help-centre content programmatically
- **Tags & Segments** — Apply tags and read segments for routing and reporting
- **Data Attributes & Events** — Read workspace attributes and emit events for behavioural messaging

## Why Jentic

- **Setup:** Wiring the Intercom API by hand means setting up its bearer token, choosing the right US, EU, or AU regional host, and tracking 133 endpoints across messaging, contacts, and tickets. Through Jentic you install once, import the Intercom API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Intercom creates contacts, companies, tickets, and articles by sending the target in the request body, so limit the agent to the operations it needs, such as replying to a conversation or creating a ticket. You choose the operations it may call, so contact creation is not included unless you add it.
- **Credential handling:** Your Intercom bearer token is stored once, encrypted, by your own Jentic One instance and injected into the Authorization header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'reply to an Intercom conversation' or 'create a ticket', and Jentic returns the matching Intercom operation with its input schema so the agent calls the right endpoint without reading 133 endpoints of documentation.

## Related APIs

- **Zendesk API** — Ticket-first support platform versus Intercom's messaging-first model
- **Freshdesk API** — Multi-channel helpdesk versus Intercom's conversation-and-messaging core
- **Drift API** — Conversational marketing platform versus Intercom's broader support and engagement scope
- **HubSpot Conversations Inbox Messages API** — CRM-side record of conversations that pairs with Intercom messaging

## FAQ

### What authentication does the Intercom API use?

Intercom uses bearer token authentication. Pass an OAuth access token or a personal access token in the Authorization header as 'Bearer {token}'. Jentic stores Intercom tokens in your Jentic One instance so the agent never sees the raw token; only short-lived scoped access reaches the runtime.

### Can I reply to a conversation programmatically with the Intercom API?

Yes. POST /conversations/{id}/reply sends a reply with a message_type of 'comment' (visible to user) or 'note' (admin-only). You set type to 'admin' or 'user' to control authorship and supply the admin_id when replying as a teammate.

### What are the rate limits for the Intercom API?

Intercom enforces a default 10,000 calls per minute per workspace for most endpoints, with lower per-second concurrency caps. The actual remaining budget is returned in X-RateLimit-Remaining and X-RateLimit-Reset response headers; treat HTTP 429 as the canonical signal and back off.

### How do I create a ticket through Jentic?

Search Jentic for 'create an Intercom ticket'. The SDK returns the POST /tickets operation with the ticket_type_id, contact, and ticket_attributes schema. Run pip install jentic, await client.search('create an Intercom ticket'), then await client.execute(...) with the ticket payload.

### Does the Intercom API support EU and AU data residency?

Yes. The spec lists three servers: https://api.intercom.io (US), https://api.eu.intercom.io (Europe), and https://api.au.intercom.io (Australia). Choose the server that matches the workspace's hosting region - calls to the wrong region return 401.

### Can I publish help-centre articles via the API?

Yes. POST /articles creates an article with a title, body (HTML), state ('published' or 'draft'), and a parent collection or section. Use GET /help_center/collections and GET /help_center/sections to look up the parent IDs the article should sit under.

### Can I limit what my agent is allowed to do with the Intercom API?

Yes. Because Jentic One is self-hosted, you decide which Intercom operations the agent may call, so you can allow it to reply to a conversation with POST /conversations/{id}/reply while withholding operations that create contacts, companies, tickets, or help-centre articles. Since Intercom sets the target in the request body, an agent scoped only to replies cannot create a new contact or ticket unless you add those operations. Your own rules also govern which stored Intercom token the agent uses, so it only ever acts within the workspace access you grant.
