hvac-marketing-skills/tools/integrations/intercom.md
Corey Haines 3a85964305 feat: add 23 new CLI tools and integration guides
New tools across 13 categories:
- Email/Newsletter: beehiiv, klaviyo, postmark, brevo, activecampaign
- Data Enrichment: clearbit, apollo
- CRO/Testing: hotjar, optimizely
- Analytics: plausible
- Scheduling: calendly, savvycal
- Forms: typeform
- Messaging: intercom
- Social: buffer
- Video: wistia
- Payments: paddle
- Affiliate: partnerstack
- Reviews: trustpilot, g2
- Push: onesignal
- Webinar: demio, livestorm

Each tool includes a zero-dependency CLI and integration guide.
Registry and CLI README updated with all new entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 11:28:41 -08:00

5.1 KiB

Intercom

Customer messaging and support platform API for managing contacts, conversations, messages, companies, articles, and tags.

Capabilities

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

Authentication

Common Agent Operations

List contacts

GET https://api.intercom.io/contacts

Get a contact

GET https://api.intercom.io/contacts/{id}

Create a contact

POST https://api.intercom.io/contacts

{
  "role": "user",
  "email": "user@example.com",
  "name": "Jane Doe",
  "custom_attributes": {
    "plan": "pro"
  }
}

Update a contact

PUT https://api.intercom.io/contacts/{id}

{
  "name": "Jane Smith",
  "custom_attributes": {
    "plan": "enterprise"
  }
}

Search contacts

POST https://api.intercom.io/contacts/search

{
  "query": {
    "field": "email",
    "operator": "=",
    "value": "user@example.com"
  }
}

Delete a contact

DELETE https://api.intercom.io/contacts/{id}

List conversations

GET https://api.intercom.io/conversations

Get a conversation

GET https://api.intercom.io/conversations/{id}

Search conversations

POST https://api.intercom.io/conversations/search

{
  "query": {
    "field": "open",
    "operator": "=",
    "value": true
  }
}

Reply to a conversation

POST https://api.intercom.io/conversations/{id}/reply

{
  "message_type": "comment",
  "type": "admin",
  "admin_id": "{admin_id}",
  "body": "Thanks for reaching out!"
}

Create a message

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}"
  }
}

List companies

GET https://api.intercom.io/companies

Create or update a company

POST https://api.intercom.io/companies

{
  "company_id": "company_123",
  "name": "Acme Corp",
  "plan": "enterprise",
  "custom_attributes": {
    "industry": "Technology"
  }
}

List tags

GET https://api.intercom.io/tags

Create a tag

POST https://api.intercom.io/tags

{
  "name": "VIP Customer"
}

Tag a contact

POST https://api.intercom.io/contacts/{contact_id}/tags

{
  "id": "{tag_id}"
}

List articles

GET https://api.intercom.io/articles

Create an article

POST https://api.intercom.io/articles

{
  "title": "Getting Started Guide",
  "body": "<p>Welcome to our platform...</p>",
  "author_id": "{admin_id}",
  "state": "published"
}

List admins

GET https://api.intercom.io/admins

Submit events

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
  }
}

Key Metrics

Contact Data

  • id - Unique contact identifier
  • role - user or lead
  • email - Contact email
  • name - Contact name
  • created_at / updated_at - Timestamps
  • last_seen_at - Last activity
  • custom_attributes - Custom data fields
  • tags - Applied tags
  • companies - Associated companies

Conversation Data

  • id - Conversation identifier
  • state - open, closed, snoozed
  • open - Boolean open status
  • read - Read status
  • priority - Priority level
  • statistics - Response times, counts
  • conversation_parts - Message history

Parameters

List Contacts

  • per_page - Results per page (default 50, max 150)
  • starting_after - Pagination cursor

List Conversations

  • per_page - Results per page (default 20, max 150)
  • starting_after - Pagination cursor

Search (Contacts & Conversations)

  • query.field - Field to search
  • query.operator - Comparison operator (=, !=, >, <, ~, IN, NIN)
  • query.value - Search value
  • pagination.per_page - Results per page
  • pagination.starting_after - Cursor for next page
  • sort.field / sort.order - Sort configuration

When to Use

  • Managing customer contact records and segments
  • Automating customer messaging and onboarding
  • Monitoring and responding to support conversations
  • Tracking customer events and behavior
  • Building custom support workflows
  • Syncing customer data between platforms

Rate Limits

  • Default: 10,000 API calls per minute per app
  • Per workspace: 25,000 API calls per minute
  • Distributed in 10-second windows (resets every 10 seconds)
  • Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
  • HTTP 429 returned when exceeded

Relevant Skills

  • customer-onboarding
  • customer-retention
  • lead-generation
  • customer-support
  • in-app-messaging