tools/integrations/intercom.md
Customer messaging and support platform API for managing contacts, conversations, messages, companies, articles, and tags.
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | REST API v2.11+ - contacts, conversations, messages, companies, articles, tags |
| MCP | - | Not available |
| CLI | ✓ | intercom.js |
| SDK | ✓ | Node.js, Ruby, Python, PHP, Go |
Authorization: Bearer {token}Intercom-Version: 2.11GET https://api.intercom.io/contacts
GET https://api.intercom.io/contacts/{id}
POST https://api.intercom.io/contacts
{
"role": "user",
"email": "[email protected]",
"name": "Jane Doe",
"custom_attributes": {
"plan": "pro"
}
}
PUT https://api.intercom.io/contacts/{id}
{
"name": "Jane Smith",
"custom_attributes": {
"plan": "enterprise"
}
}
POST https://api.intercom.io/contacts/search
{
"query": {
"field": "email",
"operator": "=",
"value": "[email protected]"
}
}
DELETE https://api.intercom.io/contacts/{id}
GET https://api.intercom.io/conversations
GET https://api.intercom.io/conversations/{id}
POST https://api.intercom.io/conversations/search
{
"query": {
"field": "open",
"operator": "=",
"value": true
}
}
POST https://api.intercom.io/conversations/{id}/reply
{
"message_type": "comment",
"type": "admin",
"admin_id": "{admin_id}",
"body": "Thanks for reaching out!"
}
POST https://api.intercom.io/messages
{
"message_type": "inapp",
"body": "Welcome to our platform!",
"from": {
"type": "admin",
"id": "{admin_id}"
},
"to": {
"type": "user",
"id": "{user_id}"
}
}
GET https://api.intercom.io/companies
POST https://api.intercom.io/companies
{
"company_id": "company_123",
"name": "Acme Corp",
"plan": "enterprise",
"custom_attributes": {
"industry": "Technology"
}
}
GET https://api.intercom.io/tags
POST https://api.intercom.io/tags
{
"name": "VIP Customer"
}
POST https://api.intercom.io/contacts/{contact_id}/tags
{
"id": "{tag_id}"
}
GET https://api.intercom.io/articles
POST https://api.intercom.io/articles
{
"title": "Getting Started Guide",
"body": "<p>Welcome to our platform...</p>",
"author_id": "{admin_id}",
"state": "published"
}
GET https://api.intercom.io/admins
POST https://api.intercom.io/events
{
"event_name": "purchased-item",
"created_at": 1706140800,
"user_id": "user_123",
"metadata": {
"item_name": "Pro Plan",
"price": 99.00
}
}
id - Unique contact identifierrole - user or leademail - Contact emailname - Contact namecreated_at / updated_at - Timestampslast_seen_at - Last activitycustom_attributes - Custom data fieldstags - Applied tagscompanies - Associated companiesid - Conversation identifierstate - open, closed, snoozedopen - Boolean open statusread - Read statuspriority - Priority levelstatistics - Response times, countsconversation_parts - Message historyper_page - Results per page (default 50, max 150)starting_after - Pagination cursorper_page - Results per page (default 20, max 150)starting_after - Pagination cursorquery.field - Field to searchquery.operator - Comparison operator (=, !=, >, <, ~, IN, NIN)query.value - Search valuepagination.per_page - Results per pagepagination.starting_after - Cursor for next pagesort.field / sort.order - Sort configurationX-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset