Skip to main content
Intercom logo

Overview

Add Intercom to any ModuleX agent or workflow. Customer-communication integration for Intercom: contacts (CRUD + search), notes, tags, admins, conversations (CRUD + search), and inbound/outbound messaging. All against api.intercom.io with the Intercom-Version: 2.12 header on every request.
Categories: Customer Support · CRM & Customer · Communication · Automation · Development · Auth: Access Token · Actions: 13

Authentication

Access Token

Use your Intercom Access Token for direct authentication

Required Credentials

FieldDescriptionRequiredFormat
Access TokenYour Intercom Access TokenYesdG9rOjxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
API Base URLIntercom API base URL (optional — leave empty for https://api.intercom.io US default). Set to https://api.eu.intercom.io for EU workspaces or https://api.au.intercom.io for Australia.Nohttps://api.intercom.io

Available Actions

Parameters

contact_id
string
required
The unique identifier for the contact

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetContactOutput",
  "type": "object"
}

Parameters

query_field
string
Field to search by (email, name, phone, role, external_id, etc.) (Default: email)
query_operator
string
Query operator (=, !=, >, <, , !, IN, NIN) (Default: =)
query_value
string
required
Value to search for
per_page
integer
Results per page (max 150) (Default: 50)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "contacts": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Contacts",
      "type": "array"
    },
    "total_count": {
      "default": 0,
      "title": "Total Count",
      "type": "integer"
    },
    "pages": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pages"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchContactsOutput",
  "type": "object"
}

Parameters

email
string
required
The contact’s email address
role
string
Role of the contact (‘user’ or ‘lead’)
external_id
string
A unique identifier from your system
phone
string
The contact’s phone number
name
string
The contact’s name
avatar
string
URL of the avatar image
unsubscribed_from_emails
boolean
Whether the contact is unsubscribed from emails
custom_attributes
object
Custom attributes for the contact

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "action_type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Action Type"
    },
    "contact": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Contact"
    }
  },
  "required": [
    "success"
  ],
  "title": "UpsertContactOutput",
  "type": "object"
}

Parameters

contact_id
string
required
The contact’s unique Intercom identifier
body
string
required
The note content (supports HTML)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "CreateNoteOutput",
  "type": "object"
}

Parameters

contact_id
string
required
The contact’s unique Intercom identifier
tag_id
string
required
The tag’s unique identifier

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "AddTagToContactOutput",
  "type": "object"
}

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListTagsOutput",
  "type": "object"
}

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListAdminsOutput",
  "type": "object"
}

Parameters

conversation_id
string
required
The conversation’s unique identifier

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "GetConversationOutput",
  "type": "object"
}

Parameters

per_page
integer
Conversations per page (max 150) (Default: 20)
starting_after
string
Pagination cursor from previous response

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "conversations": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Conversations",
      "type": "array"
    },
    "pages": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pages"
    }
  },
  "required": [
    "success"
  ],
  "title": "ListConversationsOutput",
  "type": "object"
}

Parameters

query_field
string
Field to search by (created_at, state, source.type, etc.) (Default: created_at)
query_operator
string
Query operator (=, !=, >, <, IN, NIN) (Default: >)
query_value
string
required
Value to search for (timestamp for date fields)
per_page
integer
Results per page (max 150) (Default: 20)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "conversations": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Conversations",
      "type": "array"
    },
    "total_count": {
      "default": 0,
      "title": "Total Count",
      "type": "integer"
    },
    "pages": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pages"
    }
  },
  "required": [
    "success"
  ],
  "title": "SearchConversationsOutput",
  "type": "object"
}

Parameters

contact_id
string
required
The contact’s unique Intercom identifier
body
string
required
The message content

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "SendIncomingMessageOutput",
  "type": "object"
}

Parameters

from_admin_id
string
required
The admin’s unique identifier
to_contact_id
string
required
The contact’s unique identifier
to_type
string
Recipient type (‘user’ or ‘lead’) (Default: user)
message_type
string
Message type (‘in_app’ or ‘email’) (Default: in_app)
subject
string
required
Subject/title of the message
body
string
required
Message content (HTML and plaintext supported)
template
string
Template style (‘plain’ or ‘personal’) (Default: personal)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "SendMessageToContactOutput",
  "type": "object"
}

Parameters

conversation_id
string
required
The conversation’s unique identifier
reply_type
string
required
Type of reply (‘user’ or ‘admin’)
message_type
string
Message type (‘comment’ or ‘note’, note only for admin) (Default: comment)
body
string
required
The reply content
admin_id
string
Admin ID (required if reply_type is ‘admin’)
intercom_user_id
string
Intercom user ID (for user reply)
attachment_urls
array
List of image URLs to attach (max 10)

Response

{
  "additionalProperties": false,
  "properties": {
    "success": {
      "title": "Success",
      "type": "boolean"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Error"
    },
    "result": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Result"
    }
  },
  "required": [
    "success"
  ],
  "title": "ReplyToConversationOutput",
  "type": "object"
}

Limits & Quotas

  • per_page is clamped at 150 (Intercom’s max).
  • reply_to_conversation allows up to 10 attachment URLs (Intercom’s max).
  • Failures (non-2xx, exceptions) surface as success=False + error.

Klaviyo

Pinterest

ServiceNow