Intercom
Read and write Intercom contacts and conversations via the Intercom REST API.
The tool talks directly to https://api.intercom.io (EU/AU regions supported via
the region input) using standard-library HTTP only. It returns the raw JSON
response body as result and the HTTP status code as status, so jobs and the
assistant can branch on success or surface the error payload.
Operations
| operation | method | path | required params |
|---|---|---|---|
list_contacts |
GET | /contacts?per_page=N |
— |
get_contact |
GET | /contacts/{contactId} |
contactId |
create_contact |
POST | /contacts |
email (optional name) |
list_conversations |
GET | /conversations?per_page=N |
— |
get_conversation |
GET | /conversations/{conversationId} |
conversationId |
Inputs
apiKey(required) — Intercom access token, sent asAuthorization: Bearer <token>.operation(required) — one of the operations above.region—us(default),eu, orau, matching your workspace's data hosting region.contactId— required forget_contact.email/name— forcreate_contact(emailrequired; new contacts are created withrole: user).conversationId— required forget_conversation.limit—per_pagefor list operations (1–150, default 10).
All requests send Intercom-Version: 2.15 and Accept: application/json.
apiKey setup
- Go to Intercom > Settings > Integrations > Developer Hub.
- Create (or open) an app, then open its Authentication tab.
- Copy the Access token.
- Pass it as the
apiKeyinput. The tool sends it asAuthorization: Bearer <token>.
If your workspace is hosted in the EU or Australia, set region to eu or au
so requests hit the correct regional host.
Examples
List the 25 most recent contacts:
operation: list_contacts
apiKey: dG9rZW4...
limit: "25"
Create a contact:
operation: create_contact
apiKey: dG9rZW4...
email: [email protected]
name: Jane Doe
Retrieve a single conversation:
operation: get_conversation
apiKey: dG9rZW4...
conversationId: "123456789"