Intercom's API Reaches Almost Everything. The Bot Logic Itself Is the Exception.
Intercom's REST API lets you read and write contacts, conversations, companies, and most other core objects over HTTPS with OAuth or an access token, and webhooks push real-time events, a new conversation, a reply, a tag change, out to your own systems as they happen. It's thorough enough to build almost anything on, with one real exception: the visual logic inside Fin and Custom Bots is built in Intercom's own UI, and the API can trigger and feed it, but it can't construct that branching logic for you.
What the Intercom API actually covers
Contacts, companies, conversations, and tickets are all fully reachable: create a contact when someone signs up elsewhere, pull a conversation's full transcript, tag or assign a conversation programmatically, update a company's custom attributes from your billing or CRM system. Webhooks cover the other direction, Intercom notifying your system the moment something happens, instead of your system having to poll for changes.
Developer tooling is solid: official docs, a REST reference, SDKs for common languages, and a developer hub for managing API keys and webhook subscriptions. Rate limits apply per workspace and scale with your plan, which matters for any integration syncing large contact volumes in bulk rather than one record at a time.
Where the API stops and Intercom's own UI takes over
Fin, Intercom's AI agent, and the older Custom Bots builder both use a visual flow editor inside Intercom to define their logic, branching questions, conditions, handoff rules. The API can feed Fin real data through Custom Actions (webhook calls Fin can make mid-conversation) and can read or trigger a conversation, but it can't programmatically build or edit the bot's actual decision logic. That stays a UI task for whoever's configuring it.
The practical result: most of what a business needs, getting real account, billing, or order data into a conversation so Fin or an agent can answer accurately, is squarely within API reach through Custom Actions and webhooks. Building the bot's own conversational flow is the one piece that stays manual, by design.
What we build with the Intercom API
Real data inside a Fin conversation
A Custom Action wired to your billing or order system lets Fin pull the actual invoice, plan, or shipment status mid-conversation, instead of answering from help center content alone.
Actions that sync back out automatically
A refund or plan change handled inside Intercom pushes back to your billing system or CRM the moment it happens, through a webhook-triggered call, not a manual follow-up step.
What's Fin still guessing at because it can't reach the data?
Tell us what a conversation needs to answer accurately that currently requires a human to check elsewhere, and we'll scope the Custom Action that closes it.
Building on the Intercom API and stuck on the bot-logic gap?
If you're trying to make Fin or a Custom Bot programmatically smarter and hitting a wall, the data side is almost always still open, Custom Actions and webhooks cover more than it looks like at first. Tell us what you're trying to build and we'll tell you exactly what's reachable. And if the real bottleneck is a different system entirely, we take that work too.
Let's talk