> For the complete documentation index, see [llms.txt](https://docs.stackai.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stackai.com/integrations/catalog/intercom.md).

# Intercom

Intercom is a customer messaging and support platform. Connect to manage contacts, conversations, tags, and help-center articles from your AI workflows.

### Connectors

Choose the connector that matches your authentication method. The options below use the names shown in StackAI.

| Connector | Authentication |
| --------- | -------------- |
| Intercom  | API Key        |

#### Intercom

Connect to Intercom API for managing customer conversations, contacts, and support resources.

**Set up in Intercom**

1. Sign in to the Intercom Developer Hub (developers.intercom.com) with your Intercom account.
2. Open your Developer Hub Dashboard and create a new app (or select an existing one) tied to the workspace you want to access.
3. Open the app's Authentication section and copy its Access Token. (Access Tokens are for accessing your own workspace; use OAuth if you are building a public integration.)

**Set up in StackAI**

1. Open **Settings → Connections**, add a connection, and select **Intercom**.
2. Enter the credentials and connection details in the fields below.
3. Save the connection and check its connection status. Select this saved connection when configuring an action or feature that uses it.

**Connection fields**

| StackAI field | Required | What to enter                                                                                                                                                                      |
| ------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| API Key       | Yes      | Your Intercom Access Token. You can create one in the Developer Hub. [Provider instructions](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication). |

**Provider documentation:** [Setup reference](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication).

#### Verify the connection

Check that the connection is healthy. Then run a read operation against a resource the connected account can access. A successful connection check confirms authentication; it does not guarantee permission for every action.

If access is denied, check the credential or OAuth permissions, the selected account or environment, and access to the specific resource. Update expired credentials or reconnect after permissions change.

### Use an action

1. Add the required **Intercom** action to the workflow.
2. Select a connection when the action requests one.
3. Complete the required fields. Use the reference picker when a value comes from another workflow step.
4. Run the workflow and inspect the action’s output. Check the result before using it in a later step.

### Actions

#### Get Articles

Retrieve a list of articles from Intercom with pagination support.

**Inputs**

No input fields are required in this catalog entry.

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Calls

Retrieve a paginated list of calls from Intercom.

**Inputs**

| Field            | Type   | Required | Description                                                   |
| ---------------- | ------ | -------- | ------------------------------------------------------------- |
| Page Number      | number | No       | Page number to retrieve (defaults to first page). Default: 1. |
| Results Per Page | number | No       | Number of results per page (max 25). Default: 25.             |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Company Contacts

Retrieve a list of contacts that belong to a specific company from Intercom.

**Inputs**

| Field      | Type   | Required | Description                               |
| ---------- | ------ | -------- | ----------------------------------------- |
| Company ID | string | Yes      | Enter the company ID to get its contacts. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Contact

Get a single contact from Intercom by their ID.

**Inputs**

| Field      | Type   | Required | Description                       |
| ---------- | ------ | -------- | --------------------------------- |
| Contact ID | string | Yes      | Enter the contact ID to retrieve. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Contacts

Retrieve a paginated list of all contacts from Intercom.

**Inputs**

No input fields are required in this catalog entry.

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Update Contact

Update a contact in Intercom with new information.

**Inputs**

| Field             | Type   | Required | Description                                 |
| ----------------- | ------ | -------- | ------------------------------------------- |
| Contact ID        | string | Yes      | Enter the contact ID to update.             |
| Email             | string | No       | Enter the contact's email address.          |
| Name              | string | No       | Enter the contact's name.                   |
| Phone             | string | No       | Enter the contact's phone number.           |
| Custom Attributes | object | No       | Enter custom attributes as key-value pairs. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Tag Contact

Add a tag to a contact in Intercom.

**Inputs**

| Field      | Type   | Required | Description                             |
| ---------- | ------ | -------- | --------------------------------------- |
| Contact ID | string | Yes      | Enter the contact ID to tag.            |
| Tag ID     | string | Yes      | Enter the tag ID to add to the contact. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Untag Contact

Remove a tag from a contact in Intercom.

**Inputs**

| Field      | Type   | Required | Description                                  |
| ---------- | ------ | -------- | -------------------------------------------- |
| Contact ID | string | Yes      | Enter the contact ID to untag.               |
| Tag ID     | string | Yes      | Enter the tag ID to remove from the contact. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Search Articles

Search for articles in Intercom help center

**Inputs**

| Field          | Type             | Required | Description                                                                                                                       |
| -------------- | ---------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------- |
| Phrase         | string           | Yes      | The phrase to search for in the articles.                                                                                         |
| State          | string           | No       | The state of the Articles returned. One of published, draft or all. Default: published.                                           |
| Help Center ID | select (integer) | Yes      | The ID of the Help Center to search in. Options load from the selected connection.                                                |
| Max Articles   | number           | No       | Maximum number of articles to return. Must be a positive integer. The number of relevant articles may be less than k. Default: 3. |

**Outputs**

| Field    | Type        | Description                                   |
| -------- | ----------- | --------------------------------------------- |
| Articles | dict\_array | List of articles found in the search results. |

#### Get Conversation

Retrieve a specific conversation from Intercom with full details including conversation parts.

**Inputs**

| Field                | Type    | Required | Description                                  |
| -------------------- | ------- | -------- | -------------------------------------------- |
| Conversation ID      | integer | Yes      | Enter the conversation ID to retrieve.       |
| Display Format       | string  | No       | Choose how to display conversation messages. |
| Include Translations | boolean | No       | Include translations for conversation parts. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Conversations

Retrieve a paginated list of conversations from Intercom with filtering options.

**Inputs**

| Field            | Type    | Required | Description                                                    |
| ---------------- | ------- | -------- | -------------------------------------------------------------- |
| Results Per Page | integer | No       | Enter the number of conversations to return per page.          |
| Starting After   | string  | No       | Enter the cursor string to get the next page of conversations. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Create Conversation

Create a new conversation in Intercom with an initial message.

**Inputs**

| Field        | Type    | Required | Description                                          |
| ------------ | ------- | -------- | ---------------------------------------------------- |
| From Contact | object  | Yes      | Enter the contact details to start the conversation. |
| Message Body | string  | Yes      | Enter the message content.                           |
| Created At   | integer | No       | Enter the creation timestamp (optional).             |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Update Conversation

Update an existing conversation in Intercom with custom attributes and other properties.

**Inputs**

| Field              | Type    | Required | Description                                              |
| ------------------ | ------- | -------- | -------------------------------------------------------- |
| Conversation ID    | integer | Yes      | Enter the conversation ID to update.                     |
| Display Format     | string  | No       | Choose how to display conversation messages.             |
| Mark as Read       | boolean | No       | Mark the conversation as read.                           |
| Conversation Title | string  | No       | Enter a new title for the conversation.                  |
| Custom Attributes  | object  | No       | Enter custom attributes as key-value pairs.              |
| Company ID         | string  | No       | Enter the company ID to associate with the conversation. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Delete Conversation

Permanently delete a conversation from Intercom.

**Inputs**

| Field           | Type    | Required | Description                          |
| --------------- | ------- | -------- | ------------------------------------ |
| Conversation ID | integer | Yes      | Enter the conversation ID to delete. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Search Conversations

Search conversations in Intercom with advanced filtering and complex query options.

**Inputs**

| Field        | Type   | Required | Description                                                           |
| ------------ | ------ | -------- | --------------------------------------------------------------------- |
| Search Query | object | Yes      | Define your search filters using a query object.                      |
| Pagination   | object | No       | Specify pagination options like results per page and starting cursor. |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Tag Conversation

Add a tag to a specific conversation in Intercom.

**Inputs**

| Field           | Type   | Required | Description                                    |
| --------------- | ------ | -------- | ---------------------------------------------- |
| Conversation ID | string | Yes      | Enter the conversation ID to tag.              |
| Tag ID          | string | Yes      | Enter the tag ID to apply to the conversation. |
| Admin ID        | string | Yes      | Enter the admin ID who is applying the tag.    |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Untag Conversation

Remove a specific tag from a conversation in Intercom.

**Inputs**

| Field           | Type   | Required | Description                                       |
| --------------- | ------ | -------- | ------------------------------------------------- |
| Conversation ID | string | Yes      | Enter the conversation ID to remove the tag from. |
| Tag ID          | string | Yes      | Enter the tag ID to remove from the conversation. |
| Admin ID        | string | Yes      | Enter the admin ID who is removing the tag.       |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Enqueue Reporting Data Export

Start a new reporting data export job in Intercom.

**Inputs**

| Field         | Type          | Required | Description                                       |
| ------------- | ------------- | -------- | ------------------------------------------------- |
| Dataset ID    | string        | Yes      | Enter the dataset ID to export.                   |
| Attribute IDs | string\_array | Yes      | Enter the attribute IDs to include in the export. |
| Start Time    | integer       | Yes      | Enter the start time as Unix timestamp.           |
| End Time      | integer       | Yes      | Enter the end time as Unix timestamp.             |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Reporting Data Status

Check the status of a reporting data export job in Intercom.

**Inputs**

| Field          | Type   | Required | Description                               |
| -------------- | ------ | -------- | ----------------------------------------- |
| Job Identifier | string | Yes      | Enter the job identifier to check status. |
| App ID         | string | Yes      | Enter the app ID.                         |
| Client ID      | string | Yes      | Enter the client ID.                      |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Get Reporting Datasets

List available datasets and attributes for reporting data export in Intercom.

**Inputs**

No input fields are required in this catalog entry.

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

#### Download Reporting Data

Download completed reporting data export from Intercom.

**Inputs**

| Field          | Type   | Required | Description                           |
| -------------- | ------ | -------- | ------------------------------------- |
| Job Identifier | string | Yes      | Enter the job identifier to download. |
| App ID         | string | Yes      | Enter the app ID.                     |

**Outputs**

| Field       | Type    | Description                  |
| ----------- | ------- | ---------------------------- |
| Status Code | integer | Status code of the response. |
| Headers     | dict    | Headers of the response.     |
| Body        | object  | Body of the response.        |

### Important behavior

Actions that create, update, send, or delete data can change the connected service. Review their inputs before running them. A retry can repeat an operation; consider this when configuring retries for actions that change data.

The catalog lists the fields and capabilities available in the supplied provider definition. Availability can also depend on your deployment and organization’s Feature Access settings.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.stackai.com/integrations/catalog/intercom.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
