> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# intercom

> DEPRECATED: Use intercom-official-mcp instead

**Server path:** `/intercom` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                                | Description                                                                                                                                                                                         |
| ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`intercom_add_tag_to_conversation`](#intercom_add_tag_to_conversation)             | Apply a tag to an Intercom conversation for routing, analytics, or categorization. Requires the Intercom tag ID (from list tags or conversation tag objects).                                       |
| [`intercom_create_contact_note`](#intercom_create_contact_note)                     | Attach a note to an Intercom contact (e.g., a summary from Fin or internal context).                                                                                                                |
| [`intercom_create_conversation`](#intercom_create_conversation)                     | Open a new Intercom conversation with a contact.                                                                                                                                                    |
| [`intercom_create_fin_content_source`](#intercom_create_fin_content_source)         | Create a new content source for Fin knowledge.                                                                                                                                                      |
| [`intercom_create_or_update_contact`](#intercom_create_or_update_contact)           | Upsert an Intercom contact by email or external ID. Creates a new contact if none exists, or updates the existing one.                                                                              |
| [`intercom_create_ticket`](#intercom_create_ticket)                                 | Create a structured ticket. Requires Intercom Tickets to be enabled. Title and description are sent as *default\_title* and *default\_description* under ticket\_attributes.                        |
| [`intercom_delete_contact`](#intercom_delete_contact)                               | Delete an Intercom contact by ID.                                                                                                                                                                   |
| [`intercom_delete_fin_external_page`](#intercom_delete_fin_external_page)           | Delete an External Page from Fin knowledge.                                                                                                                                                         |
| [`intercom_get_contact`](#intercom_get_contact)                                     | Retrieve a single Intercom contact with full details including custom attributes and activity.                                                                                                      |
| [`intercom_get_conversation`](#intercom_get_conversation)                           | Fetch full details for an Intercom conversation including parts, participants, tags, and stats.                                                                                                     |
| [`intercom_get_fin_conversation_metadata`](#intercom_get_fin_conversation_metadata) | Retrieve metadata for a Fin conversation (state, tags, ai\_agent, contacts, etc.). Use the Intercom conversation ID returned by intercom\_start\_fin\_conversation or intercom\_send\_fin\_reply.   |
| [`intercom_list_contact_notes`](#intercom_list_contact_notes)                       | List notes attached to an Intercom contact.                                                                                                                                                         |
| [`intercom_list_contacts`](#intercom_list_contacts)                                 | List Intercom contacts with pagination.                                                                                                                                                             |
| [`intercom_list_conversations`](#intercom_list_conversations)                       | List Intercom conversations with optional sorting and pagination.                                                                                                                                   |
| [`intercom_list_fin_content_sources`](#intercom_list_fin_content_sources)           | List content sources used by Fin for knowledge.                                                                                                                                                     |
| [`intercom_list_fin_external_pages`](#intercom_list_fin_external_pages)             | List external pages (documents) Fin can use as knowledge. Optionally filter by source ID or external ID.                                                                                            |
| [`intercom_list_ticket_types`](#intercom_list_ticket_types)                         | List all ticket types configured in the Intercom workspace. Useful for finding the ticket\_type\_id needed to create tickets.                                                                       |
| [`intercom_remove_tag_from_conversation`](#intercom_remove_tag_from_conversation)   | Remove a tag from an Intercom conversation. Requires the Intercom tag ID (from the conversation's tags).                                                                                            |
| [`intercom_reply_to_conversation`](#intercom_reply_to_conversation)                 | Post a reply into an existing Intercom conversation.                                                                                                                                                |
| [`intercom_search_contacts`](#intercom_search_contacts)                             | Search Intercom contacts by attributes such as name, email, phone, tags, and custom properties.                                                                                                     |
| [`intercom_search_conversations`](#intercom_search_conversations)                   | Search Intercom conversations using a query object with filters for attributes, tags, date ranges, assignees, and state.                                                                            |
| [`intercom_send_fin_reply`](#intercom_send_fin_reply)                               | Continue an existing Fin conversation by sending a follow-up user message. Returns updated status, reply HTML, and metadata.                                                                        |
| [`intercom_start_fin_conversation`](#intercom_start_fin_conversation)               | Start a new Fin conversation on behalf of a user. Sends an initial user message and optional user/context data into Fin. Returns the Fin conversation ID, current status, reply HTML, and metadata. |
| [`intercom_update_fin_content_source`](#intercom_update_fin_content_source)         | Update an existing content source for Fin.                                                                                                                                                          |
| [`intercom_update_ticket`](#intercom_update_ticket)                                 | Update an existing Intercom ticket.                                                                                                                                                                 |
| [`intercom_upsert_fin_external_page`](#intercom_upsert_fin_external_page)           | Create or update an External Page used by Fin for knowledge. Uses the external\_id as a stable identifier for upsert behavior.                                                                      |

***

## intercom\_add\_tag\_to\_conversation

Apply a tag to an Intercom conversation for routing, analytics, or categorization. Requires the Intercom tag ID (from list tags or conversation tag objects).

**Parameters:**

| Parameter         | Type   | Required | Default | Description                                                  |
| ----------------- | ------ | -------- | ------- | ------------------------------------------------------------ |
| `conversation_id` | string | Yes      | —       | Conversation ID to tag                                       |
| `tag_id`          | string | Yes      | —       | Intercom tag ID (e.g. "7522907")                             |
| `admin_id`        | string | No       | —       | Intercom admin ID (required by API if not injected by proxy) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "conversation_id": {
        "type": "string",
        "description": "Conversation ID to tag"
      },
      "tag_id": {
        "type": "string",
        "description": "Intercom tag ID (e.g. \"7522907\")"
      },
      "admin_id": {
        "type": "string",
        "description": "Intercom admin ID (required by API if not injected by proxy)"
      }
    },
    "required": [
      "PCID",
      "conversation_id",
      "tag_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_create\_contact\_note

Attach a note to an Intercom contact (e.g., a summary from Fin or internal context).

**Parameters:**

| Parameter    | Type   | Required | Default | Description                      |
| ------------ | ------ | -------- | ------- | -------------------------------- |
| `contact_id` | string | Yes      | —       | Contact ID to attach the note to |
| `body`       | string | Yes      | —       | Note content                     |
| `metadata`   | object | No       | —       | Additional metadata              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID to attach the note to"
      },
      "body": {
        "type": "string",
        "description": "Note content"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Additional metadata"
      }
    },
    "required": [
      "PCID",
      "contact_id",
      "body"
    ]
  }
  ```
</Expandable>

***

## intercom\_create\_conversation

Open a new Intercom conversation with a contact.

**Parameters:**

| Parameter    | Type   | Required | Default | Description                                  |
| ------------ | ------ | -------- | ------- | -------------------------------------------- |
| `contact_id` | string | No       | —       | Contact ID (provide contact\_id or email)    |
| `email`      | string | No       | —       | Contact email (provide contact\_id or email) |
| `body`       | string | Yes      | —       | Initial message body                         |
| `from`       | object | Yes      | —       | Sender identity                              |
| `metadata`   | object | No       | —       | Additional metadata                          |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID (provide contact_id or email)"
      },
      "email": {
        "type": "string",
        "description": "Contact email (provide contact_id or email)"
      },
      "body": {
        "type": "string",
        "description": "Initial message body"
      },
      "from": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Sender type (admin, bot)"
          },
          "id": {
            "type": "string",
            "description": "Sender ID"
          }
        },
        "description": "Sender identity"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Additional metadata"
      }
    },
    "required": [
      "PCID",
      "body",
      "from"
    ]
  }
  ```
</Expandable>

***

## intercom\_create\_fin\_content\_source

Create a new content source for Fin knowledge.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                |
| ------------- | ------ | -------- | ------- | ------------------------------------------ |
| `name`        | string | Yes      | —       | Name of the content source                 |
| `description` | string | No       | —       | Description of the content source          |
| `config`      | object | No       | —       | Configuration (audience, visibility, etc.) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "name": {
        "type": "string",
        "description": "Name of the content source"
      },
      "description": {
        "type": "string",
        "description": "Description of the content source"
      },
      "config": {
        "type": "object",
        "additionalProperties": true,
        "description": "Configuration (audience, visibility, etc.)"
      }
    },
    "required": [
      "PCID",
      "name"
    ]
  }
  ```
</Expandable>

***

## intercom\_create\_or\_update\_contact

Upsert an Intercom contact by email or external ID. Creates a new contact if none exists, or updates the existing one.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                       |
| ------------- | ------ | -------- | ------- | ----------------------------------------------------------------- |
| `contact_id`  | string | No       | —       | Existing contact ID to update                                     |
| `email`       | string | No       | —       | Contact email (used for matching)                                 |
| `external_id` | string | No       | —       | External ID (used for matching)                                   |
| `attributes`  | object | No       | —       | Contact attributes to set (name, phone, custom\_attributes, etc.) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Existing contact ID to update"
      },
      "email": {
        "type": "string",
        "description": "Contact email (used for matching)"
      },
      "external_id": {
        "type": "string",
        "description": "External ID (used for matching)"
      },
      "attributes": {
        "type": "object",
        "additionalProperties": true,
        "description": "Contact attributes to set (name, phone, custom_attributes, etc.)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_create\_ticket

Create a structured ticket. Requires Intercom Tickets to be enabled. Title and description are sent as *default\_title* and *default\_description* under ticket\_attributes.

**Parameters:**

| Parameter           | Type      | Required | Default | Description                                                                             |
| ------------------- | --------- | -------- | ------- | --------------------------------------------------------------------------------------- |
| `ticket_type_id`    | number    | Yes      | —       | Ticket type ID (required, numeric). Find in Intercom Settings > Tickets > Ticket Types. |
| `title`             | string    | Yes      | —       | Ticket title (sent as *default\_title*)                                                 |
| `description`       | string    | Yes      | —       | Ticket description (sent as *default\_description*)                                     |
| `contacts`          | object\[] | No       | —       | Array of contacts to associate with the ticket                                          |
| `ticket_attributes` | object    | No       | —       | Additional custom ticket attributes beyond title and description                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_type_id": {
        "type": "number",
        "description": "Ticket type ID (required, numeric). Find in Intercom Settings > Tickets > Ticket Types."
      },
      "title": {
        "type": "string",
        "description": "Ticket title (sent as _default_title_)"
      },
      "description": {
        "type": "string",
        "description": "Ticket description (sent as _default_description_)"
      },
      "contacts": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "id": {
              "type": "string",
              "description": "Contact ID"
            }
          }
        },
        "description": "Array of contacts to associate with the ticket"
      },
      "ticket_attributes": {
        "type": "object",
        "additionalProperties": true,
        "description": "Additional custom ticket attributes beyond title and description"
      }
    },
    "required": [
      "PCID",
      "ticket_type_id",
      "title",
      "description"
    ]
  }
  ```
</Expandable>

***

## intercom\_delete\_contact

Delete an Intercom contact by ID.

**Parameters:**

| Parameter    | Type   | Required | Default | Description          |
| ------------ | ------ | -------- | ------- | -------------------- |
| `contact_id` | string | Yes      | —       | Contact ID to delete |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID to delete"
      }
    },
    "required": [
      "PCID",
      "contact_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_delete\_fin\_external\_page

Delete an External Page from Fin knowledge.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                                          |
| ------------- | ------ | -------- | ------- | -------------------------------------------------------------------- |
| `external_id` | string | No       | —       | External ID of the page to delete                                    |
| `page_id`     | string | No       | —       | Intercom page ID to delete (provide either external\_id or page\_id) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "external_id": {
        "type": "string",
        "description": "External ID of the page to delete"
      },
      "page_id": {
        "type": "string",
        "description": "Intercom page ID to delete (provide either external_id or page_id)"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_get\_contact

Retrieve a single Intercom contact with full details including custom attributes and activity.

**Parameters:**

| Parameter    | Type   | Required | Default | Description            |
| ------------ | ------ | -------- | ------- | ---------------------- |
| `contact_id` | string | Yes      | —       | Contact ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "contact_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_get\_conversation

Fetch full details for an Intercom conversation including parts, participants, tags, and stats.

**Parameters:**

| Parameter         | Type   | Required | Default | Description                 |
| ----------------- | ------ | -------- | ------- | --------------------------- |
| `conversation_id` | string | Yes      | —       | Conversation ID to retrieve |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "conversation_id": {
        "type": "string",
        "description": "Conversation ID to retrieve"
      }
    },
    "required": [
      "PCID",
      "conversation_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_get\_fin\_conversation\_metadata

Retrieve metadata for a Fin conversation (state, tags, ai\_agent, contacts, etc.). Use the Intercom conversation ID returned by intercom\_start\_fin\_conversation or intercom\_send\_fin\_reply.

**Parameters:**

| Parameter         | Type   | Required | Default | Description                                                                                                      |
| ----------------- | ------ | -------- | ------- | ---------------------------------------------------------------------------------------------------------------- |
| `conversation_id` | string | Yes      | —       | Intercom conversation ID (same ID returned by intercom\_start\_fin\_conversation and intercom\_send\_fin\_reply) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "conversation_id": {
        "type": "string",
        "description": "Intercom conversation ID (same ID returned by intercom_start_fin_conversation and intercom_send_fin_reply)"
      }
    },
    "required": [
      "PCID",
      "conversation_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_list\_contact\_notes

List notes attached to an Intercom contact.

**Parameters:**

| Parameter    | Type   | Required | Default | Description                  |
| ------------ | ------ | -------- | ------- | ---------------------------- |
| `contact_id` | string | Yes      | —       | Contact ID to list notes for |
| `page`       | number | No       | —       | Page number for pagination   |
| `per_page`   | number | No       | —       | Number of results per page   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "contact_id": {
        "type": "string",
        "description": "Contact ID to list notes for"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID",
      "contact_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_list\_contacts

List Intercom contacts with pagination.

**Parameters:**

| Parameter  | Type   | Required | Default | Description                |
| ---------- | ------ | -------- | ------- | -------------------------- |
| `page`     | number | No       | —       | Page number for pagination |
| `per_page` | number | No       | —       | Number of results per page |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_list\_conversations

List Intercom conversations with optional sorting and pagination.

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                       |
| ---------- | ------ | -------- | ------- | ------------------------------------------------- |
| `page`     | number | No       | —       | Page number for pagination                        |
| `per_page` | number | No       | —       | Number of results per page                        |
| `sort`     | string | No       | —       | Field to sort by (e.g., created\_at, updated\_at) |
| `order`    | string | No       | —       | Sort order                                        |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      },
      "sort": {
        "type": "string",
        "description": "Field to sort by (e.g., created_at, updated_at)"
      },
      "order": {
        "type": "string",
        "enum": [
          "asc",
          "desc"
        ],
        "description": "Sort order"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_list\_fin\_content\_sources

List content sources used by Fin for knowledge.

**Parameters:**

| Parameter  | Type   | Required | Default | Description                |
| ---------- | ------ | -------- | ------- | -------------------------- |
| `page`     | number | No       | —       | Page number for pagination |
| `per_page` | number | No       | —       | Number of results per page |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_list\_fin\_external\_pages

List external pages (documents) Fin can use as knowledge. Optionally filter by source ID or external ID.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                 |
| ------------- | ------ | -------- | ------- | --------------------------- |
| `source_id`   | string | No       | —       | Filter by content source ID |
| `external_id` | string | No       | —       | Filter by external page ID  |
| `page`        | number | No       | —       | Page number for pagination  |
| `per_page`    | number | No       | —       | Number of results per page  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "source_id": {
        "type": "string",
        "description": "Filter by content source ID"
      },
      "external_id": {
        "type": "string",
        "description": "Filter by external page ID"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_list\_ticket\_types

List all ticket types configured in the Intercom workspace. Useful for finding the ticket\_type\_id needed to create tickets.

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## intercom\_remove\_tag\_from\_conversation

Remove a tag from an Intercom conversation. Requires the Intercom tag ID (from the conversation's tags).

**Parameters:**

| Parameter         | Type   | Required | Default | Description                                                  |
| ----------------- | ------ | -------- | ------- | ------------------------------------------------------------ |
| `conversation_id` | string | Yes      | —       | Conversation ID to remove tag from                           |
| `tag_id`          | string | Yes      | —       | Intercom tag ID (e.g. "7522907")                             |
| `admin_id`        | string | No       | —       | Intercom admin ID (required by API if not injected by proxy) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "conversation_id": {
        "type": "string",
        "description": "Conversation ID to remove tag from"
      },
      "tag_id": {
        "type": "string",
        "description": "Intercom tag ID (e.g. \"7522907\")"
      },
      "admin_id": {
        "type": "string",
        "description": "Intercom admin ID (required by API if not injected by proxy)"
      }
    },
    "required": [
      "PCID",
      "conversation_id",
      "tag_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_reply\_to\_conversation

Post a reply into an existing Intercom conversation.

**Parameters:**

| Parameter          | Type      | Required | Default | Description                                                      |
| ------------------ | --------- | -------- | ------- | ---------------------------------------------------------------- |
| `conversation_id`  | string    | Yes      | —       | Conversation ID to reply to                                      |
| `message_type`     | string    | Yes      | —       | Message type (comment for user-visible reply, note for internal) |
| `type`             | string    | Yes      | —       | Author type of the reply                                         |
| `body`             | string    | Yes      | —       | Reply message body (HTML supported)                              |
| `intercom_user_id` | string    | No       | —       | Intercom user ID of the author (required when type is "user")    |
| `attachments`      | object\[] | No       | —       | File attachments                                                 |
| `metadata`         | object    | No       | —       | Additional metadata                                              |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "conversation_id": {
        "type": "string",
        "description": "Conversation ID to reply to"
      },
      "message_type": {
        "type": "string",
        "enum": [
          "comment",
          "note"
        ],
        "description": "Message type (comment for user-visible reply, note for internal)"
      },
      "type": {
        "type": "string",
        "enum": [
          "admin",
          "user",
          "bot"
        ],
        "description": "Author type of the reply"
      },
      "body": {
        "type": "string",
        "description": "Reply message body (HTML supported)"
      },
      "intercom_user_id": {
        "type": "string",
        "description": "Intercom user ID of the author (required when type is \"user\")"
      },
      "attachments": {
        "type": "array",
        "items": {
          "type": "object",
          "additionalProperties": true
        },
        "description": "File attachments"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Additional metadata"
      }
    },
    "required": [
      "PCID",
      "conversation_id",
      "message_type",
      "type",
      "body"
    ]
  }
  ```
</Expandable>

***

## intercom\_search\_contacts

Search Intercom contacts by attributes such as name, email, phone, tags, and custom properties.

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                               |
| ---------- | ------ | -------- | ------- | --------------------------------------------------------- |
| `query`    | object | Yes      | —       | Search query object with filters (properties, tags, etc.) |
| `page`     | number | No       | —       | Page number for pagination                                |
| `per_page` | number | No       | —       | Number of results per page                                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "object",
        "additionalProperties": true,
        "description": "Search query object with filters (properties, tags, etc.)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## intercom\_search\_conversations

Search Intercom conversations using a query object with filters for attributes, tags, date ranges, assignees, and state.

**Parameters:**

| Parameter  | Type   | Required | Default | Description                                                            |
| ---------- | ------ | -------- | ------- | ---------------------------------------------------------------------- |
| `query`    | object | Yes      | —       | Search query object with filters (attributes, tags, date ranges, etc.) |
| `page`     | number | No       | —       | Page number for pagination                                             |
| `per_page` | number | No       | —       | Number of results per page                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "query": {
        "type": "object",
        "additionalProperties": true,
        "description": "Search query object with filters (attributes, tags, date ranges, etc.)"
      },
      "page": {
        "type": "number",
        "description": "Page number for pagination"
      },
      "per_page": {
        "type": "number",
        "description": "Number of results per page"
      }
    },
    "required": [
      "PCID",
      "query"
    ]
  }
  ```
</Expandable>

***

## intercom\_send\_fin\_reply

Continue an existing Fin conversation by sending a follow-up user message. Returns updated status, reply HTML, and metadata.

**Parameters:**

| Parameter         | Type   | Required | Default | Description                                                        |
| ----------------- | ------ | -------- | ------- | ------------------------------------------------------------------ |
| `conversation_id` | string | Yes      | —       | Intercom conversation ID to continue                               |
| `message`         | string | Yes      | —       | Follow-up user message                                             |
| `user`            | object | No       | —       | User identity                                                      |
| `timestamp`       | string | No       | —       | ISO 8601 timestamp of the message (e.g., 2025-01-24T10:01:20.000Z) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "conversation_id": {
        "type": "string",
        "description": "Intercom conversation ID to continue"
      },
      "message": {
        "type": "string",
        "description": "Follow-up user message"
      },
      "user": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User ID in Intercom"
          },
          "name": {
            "type": "string",
            "description": "User display name"
          },
          "email": {
            "type": "string",
            "description": "User email"
          }
        },
        "description": "User identity"
      },
      "timestamp": {
        "type": "string",
        "description": "ISO 8601 timestamp of the message (e.g., 2025-01-24T10:01:20.000Z)"
      }
    },
    "required": [
      "PCID",
      "conversation_id",
      "message"
    ]
  }
  ```
</Expandable>

***

## intercom\_start\_fin\_conversation

Start a new Fin conversation on behalf of a user. Sends an initial user message and optional user/context data into Fin. Returns the Fin conversation ID, current status, reply HTML, and metadata.

**Parameters:**

| Parameter         | Type   | Required | Default | Description                                                        |
| ----------------- | ------ | -------- | ------- | ------------------------------------------------------------------ |
| `message`         | string | Yes      | —       | Initial user message to send to Fin                                |
| `conversation_id` | string | No       | —       | External conversation ID to associate with this Fin conversation   |
| `user`            | object | No       | —       | User identity                                                      |
| `timestamp`       | string | No       | —       | ISO 8601 timestamp of the message (e.g., 2025-01-24T10:01:20.000Z) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "message": {
        "type": "string",
        "description": "Initial user message to send to Fin"
      },
      "conversation_id": {
        "type": "string",
        "description": "External conversation ID to associate with this Fin conversation"
      },
      "user": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "User ID in Intercom"
          },
          "name": {
            "type": "string",
            "description": "User display name"
          },
          "email": {
            "type": "string",
            "description": "User email"
          }
        },
        "description": "User identity"
      },
      "timestamp": {
        "type": "string",
        "description": "ISO 8601 timestamp of the message (e.g., 2025-01-24T10:01:20.000Z)"
      }
    },
    "required": [
      "PCID",
      "message"
    ]
  }
  ```
</Expandable>

***

## intercom\_update\_fin\_content\_source

Update an existing content source for Fin.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                 |
| ------------- | ------ | -------- | ------- | --------------------------- |
| `source_id`   | string | Yes      | —       | Content source ID to update |
| `name`        | string | No       | —       | Updated name                |
| `description` | string | No       | —       | Updated description         |
| `config`      | object | No       | —       | Updated configuration       |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "source_id": {
        "type": "string",
        "description": "Content source ID to update"
      },
      "name": {
        "type": "string",
        "description": "Updated name"
      },
      "description": {
        "type": "string",
        "description": "Updated description"
      },
      "config": {
        "type": "object",
        "additionalProperties": true,
        "description": "Updated configuration"
      }
    },
    "required": [
      "PCID",
      "source_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_update\_ticket

Update an existing Intercom ticket.

**Parameters:**

| Parameter           | Type   | Required | Default | Description                                                                                 |
| ------------------- | ------ | -------- | ------- | ------------------------------------------------------------------------------------------- |
| `ticket_id`         | string | Yes      | —       | Ticket ID to update                                                                         |
| `status`            | string | No       | —       | Updated ticket status                                                                       |
| `assignee_id`       | string | No       | —       | Admin/team ID to assign the ticket to                                                       |
| `ticket_attributes` | object | No       | —       | Ticket attributes to update (e.g., *default\_title*, *default\_description*, custom fields) |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "ticket_id": {
        "type": "string",
        "description": "Ticket ID to update"
      },
      "status": {
        "type": "string",
        "description": "Updated ticket status"
      },
      "assignee_id": {
        "type": "string",
        "description": "Admin/team ID to assign the ticket to"
      },
      "ticket_attributes": {
        "type": "object",
        "additionalProperties": true,
        "description": "Ticket attributes to update (e.g., _default_title_, _default_description_, custom fields)"
      }
    },
    "required": [
      "PCID",
      "ticket_id"
    ]
  }
  ```
</Expandable>

***

## intercom\_upsert\_fin\_external\_page

Create or update an External Page used by Fin for knowledge. Uses the external\_id as a stable identifier for upsert behavior.

**Parameters:**

| Parameter     | Type   | Required | Default | Description                                           |
| ------------- | ------ | -------- | ------- | ----------------------------------------------------- |
| `external_id` | string | Yes      | —       | Your stable identifier for the page (used for upsert) |
| `title`       | string | Yes      | —       | Page title                                            |
| `body`        | string | Yes      | —       | Page content (HTML or markdown)                       |
| `url`         | string | No       | —       | Source URL of the page                                |
| `source_id`   | string | No       | —       | Content source ID this page belongs to                |
| `metadata`    | object | No       | —       | Additional metadata                                   |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID"
      },
      "external_id": {
        "type": "string",
        "description": "Your stable identifier for the page (used for upsert)"
      },
      "title": {
        "type": "string",
        "description": "Page title"
      },
      "body": {
        "type": "string",
        "description": "Page content (HTML or markdown)"
      },
      "url": {
        "type": "string",
        "description": "Source URL of the page"
      },
      "source_id": {
        "type": "string",
        "description": "Content source ID this page belongs to"
      },
      "metadata": {
        "type": "object",
        "additionalProperties": true,
        "description": "Additional metadata"
      }
    },
    "required": [
      "PCID",
      "external_id",
      "title",
      "body"
    ]
  }
  ```
</Expandable>
