# Intercom — Pipedream Connect

> Intercom is the only solution that combines an AI chatbot, help desk, and proactive support—so you can keep costs low, support teams happy, and customers satisfied.

- API slug: `intercom` (use in MCP headers and tool keys)
- Auth: OAuth (Pipedream-managed)
- Categories: Communication
- Website: https://intercom.com
- This page (HTML): https://pipedream.com/apps/intercom
- Tools: 13 actions · 16 triggers

## Connect via MCP (recommended)

- Endpoint: `https://remote.mcp.pipedream.net/v3`
- Headers: `Authorization: Bearer <token>` · `x-pd-project-id` · `x-pd-environment` · `x-pd-external-user-id` · `x-pd-app-slug: intercom`

```ts
import { Client } from "@modelcontextprotocol/sdk/client/index.js"
import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const accessToken = await pd.rawAccessToken

const transport = new StreamableHTTPClientTransport(
  new URL("https://remote.mcp.pipedream.net/v3"),
  {
    requestInit: {
      headers: {
        Authorization: `Bearer ${accessToken}`,
        "x-pd-project-id": process.env.PIPEDREAM_PROJECT_ID!,
        "x-pd-environment": "production",
        "x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
        "x-pd-app-slug": "intercom",
      },
    },
  },
)

const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)

const { tools } = await mcp.listTools()

// e.g. run Add Tag To Contact:
const result = await mcp.callTool({
  name: "intercom-add-tag-to-contact",
  arguments: {
    contactId: "Contact ID",
    tagId: "Tag ID",
  },
})
```

Docs: [MCP guide](https://pipedream.com/docs/connect/mcp/developers.md)

## API proxy

For a Intercom endpoint with no pre-built tool, the proxy forwards your request with the connected user's credentials attached.

```bash
# The path segment is the target URL, URL-safe base64 encoded:
# https://api.intercom.io/me

curl "https://api.pipedream.com/v1/connect/{project_id}/proxy/aHR0cHM6Ly9hcGkuaW50ZXJjb20uaW8vbWU?external_user_id={external_user_id}&account_id=apn_xxxxxxx" \
  -H "Authorization: Bearer {access_token}" \
  -H "x-pd-environment: production"
```

Docs: [API proxy guide](https://pipedream.com/docs/connect/api-proxy.md)

## SDK

```ts
import { PipedreamClient } from "@pipedream/sdk"

const pd = new PipedreamClient({
  projectId: process.env.PIPEDREAM_PROJECT_ID!,
  clientId: process.env.PIPEDREAM_CLIENT_ID!,
  clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
  projectEnvironment: "production",
})

const result = await pd.actions.run({
  id: "intercom-add-tag-to-contact",
  externalUserId: "{external_user_id}", // any stable ID for this user in your system
  configuredProps: {
    intercom: { authProvisionId: "apn_xxxxxxx" },
    contactId: "Contact ID",
    tagId: "Tag ID",
  },
})
```

Docs: [Managed auth guide](https://pipedream.com/docs/connect/managed-auth/quickstart.md) · [Tools guide](https://pipedream.com/docs/connect/components.md)

## Actions (13)

### `intercom-add-tag-to-contact` — Add Tag To Contact (Write)

Adds a specific tag to a contact in Intercom. Use Search Contacts to find the contact's ID and List Tag ID Options to find valid tag IDs before calling this action. Example: set Contact ID to 63a07ddf05a32042dffac965 and Tag ID to 7522907 to tag that contact. Returns the updated tag object on…

Full schema: https://pipedream.com/apps/intercom/actions/add-tag-to-contact.md

### `intercom-create-note` — Create Note (Write)

Creates a note on a contact's record in Intercom. The note is automatically attributed to the currently authenticated admin — no Admin ID prop is required. Use Search Contacts to find the contact's ID before calling this action. Example: set User to 63a07ddf05a32042dffac965 and Body to Followed up…

Full schema: https://pipedream.com/apps/intercom/actions/create-note.md

### `intercom-list-admin-id-options` — List Admin ID Options (Read-only)

Retrieves all admins in your Intercom workspace and returns their IDs and names. Call this action before any action that requires an Admin ID — such as Manage A Conversation, Reply To Conversation, or Send Message To Contact — to discover valid values. Example: returns [{ label: "Jane Doe", value…

Full schema: https://pipedream.com/apps/intercom/actions/list-admin-id-options.md

### `intercom-list-team-assignee-id-options` — List Assignee ID Options (Read-only)

Retrieves all teams in your Intercom workspace and returns their IDs and names. Call this action before Manage A Conversation to discover valid team IDs for conversation assignment. Example: returns [{ label: "Support", value: "334" }, ...]. Use 0 to represent Unassigned. See the documentation.

Full schema: https://pipedream.com/apps/intercom/actions/list-team-assignee-id-options.md

### `intercom-list-conversations` — List Conversations (Read-only)

Lists conversations in your Intercom workspace, most recently updated first (GET /conversations). Use this to discover a conversation's ID before calling Reply To Conversation, Manage A Conversation, or Retrieve Conversation — there is no other way to look one up. Returns a bounded page of…

Full schema: https://pipedream.com/apps/intercom/actions/list-conversations.md

### `intercom-list-tag-id-options` — List Tag ID Options (Read-only)

Retrieves all tags in your Intercom workspace and returns their IDs and names. Call this action before Add Tag To Contact to discover valid tag IDs. Example: returns [{ label: "VIP", value: "7522907" }, ...]. See the documentation.

Full schema: https://pipedream.com/apps/intercom/actions/list-tag-id-options.md

### `intercom-manage-conversation` — Manage A Conversation (Write)

Close, snooze, open, or assign a conversation by its ID. Which of the optional props apply depends on Message Type: close uses Body, snoozed uses Snoozed Until, assignment uses Type together with Assignee ID or Team Assignee ID, and open uses none of them. Example: set Conversation ID to…

Full schema: https://pipedream.com/apps/intercom/actions/manage-conversation.md

### `intercom-reply-to-conversation` — Reply To Conversation (Write)

Reply to an existing Intercom conversation as an admin or on behalf of a contact (POST /conversations/{conversation_id}/reply). Use List Admin ID Options to find a valid Admin ID, and Search Contacts to find a contact's Intercom user ID, email, or external user ID. Example: set Conversation ID to…

Full schema: https://pipedream.com/apps/intercom/actions/reply-to-conversation.md

### `intercom-retrieve-conversation` — Retrieve A Conversation (Read-only)

Fetches a single Intercom conversation by ID and returns the full conversation object, including id, title, state, created_at, conversation_parts (the message thread), and assignee information. Use this to inspect conversation history or verify state before calling Manage A Conversation or Reply To…

Full schema: https://pipedream.com/apps/intercom/actions/retrieve-conversation.md

### `intercom-search-contacts` — Search Contacts (Read-only)

Search Intercom contacts by a query string (POST /contacts/search). Returns a bounded page of matching contacts, each including id, email, and external_id so you can copy the appropriate value into Reply To Conversation's Intercom User ID, Email, or User ID prop. If pages.next.starting_after is…

Full schema: https://pipedream.com/apps/intercom/actions/search-contacts.md

### `intercom-send-incoming-message` — Send Incoming Message (Write)

Creates a new inbound conversation in Intercom on behalf of a contact (POST /conversations). The action first fetches the contact's role via GET /contacts/{id} to set the correct message sender type — this counts as an additional API call. Use Search Contacts to find valid contact IDs before…

Full schema: https://pipedream.com/apps/intercom/actions/send-incoming-message.md

### `intercom-send-message-to-contact` — Send Message To Contact (Write)

Sends an outbound message from an admin to a contact in Intercom (POST /messages). Set Message Type to in_app for an in-app message or email for an email — email messages require Subject and support Template (plain or personal). Use List Admin ID Options to find a valid From ID and Search Contacts…

Full schema: https://pipedream.com/apps/intercom/actions/send-message-to-contact.md

### `intercom-upsert-contact` — Upsert Contact (Write)

Create a new contact, or update an existing one if a contact with the same Email already exists — Email is the match key for this upsert (any other props you set only apply to the created/updated record, they do not affect matching). Example: set Email to jane.doe@acme.com, Name to Jane Doe, and…

Full schema: https://pipedream.com/apps/intercom/actions/upsert-contact.md

## Triggers (16)

### `intercom-new-company` — New Companies (Polling)

Emit new event each time a new company is added.

Full schema: https://pipedream.com/apps/intercom/triggers/new-company.md

### `intercom-new-admin-reply` — New Reply From Admin (Polling)

Emit new event each time an admin replies to a conversation.

Full schema: https://pipedream.com/apps/intercom/triggers/new-admin-reply.md

### `intercom-new-conversation` — New Conversations (Polling)

Emit new event each time a new conversation is added.

Full schema: https://pipedream.com/apps/intercom/triggers/new-conversation.md

### `intercom-new-user-reply` — New Reply From User (Polling)

Emit new event each time a user replies to a conversation.

Full schema: https://pipedream.com/apps/intercom/triggers/new-user-reply.md

### `intercom-new-unsubscription` — New Unsubscriptions (Polling)

Emit new event each time a user unsubscribes from receiving emails.

Full schema: https://pipedream.com/apps/intercom/triggers/new-unsubscription.md

### `intercom-new-user` — New Users (Polling)

Emit new event each time a new user is added.

Full schema: https://pipedream.com/apps/intercom/triggers/new-user.md

### `intercom-lead-added-email` — Lead Added Email (Polling)

Emit new event each time a lead adds their email address.

Full schema: https://pipedream.com/apps/intercom/triggers/lead-added-email.md

### `intercom-conversation-closed` — New Closed Conversation (Polling)

Emit new event each time a conversation is closed.

Full schema: https://pipedream.com/apps/intercom/triggers/conversation-closed.md

### `intercom-new-conversation-rating-added` — New Conversation Rating Added (Polling)

Emit new event each time a new rating is added to a conversation.

Full schema: https://pipedream.com/apps/intercom/triggers/new-conversation-rating-added.md

### `intercom-new-event` — New Event (Polling)

Emit new event for each new Intercom event for a user.

Full schema: https://pipedream.com/apps/intercom/triggers/new-event.md

### `intercom-new-lead` — New Leads (Polling)

Emit new event each time a new lead is added.

Full schema: https://pipedream.com/apps/intercom/triggers/new-lead.md

### `intercom-new-ticket` — New Tickets (Polling)

Emit new event when a new ticket is created in Intercom.

Full schema: https://pipedream.com/apps/intercom/triggers/new-ticket.md

### `intercom-new-topic` — New Topic (Instant) (Instant)

Emit new event for each new topic that you subscribed in your webhook. See more here.

Full schema: https://pipedream.com/apps/intercom/triggers/new-topic.md

### `intercom-tag-added-to-conversation` — Tag Added To Conversation (Polling)

Emit new event each time a new tag is added to a conversation.

Full schema: https://pipedream.com/apps/intercom/triggers/tag-added-to-conversation.md

### `intercom-tag-added-to-lead` — Tag Added To Lead (Polling)

Emit new event each time a new tag is added to a lead.

Full schema: https://pipedream.com/apps/intercom/triggers/tag-added-to-lead.md

### `intercom-tag-added-to-user` — Tag Added To User (Polling)

Emit new event each time a new tag is added to a user.

Full schema: https://pipedream.com/apps/intercom/triggers/tag-added-to-user.md

---

- All apps: https://pipedream.com/apps — index: https://pipedream.com/llms.txt
- Pipedream docs for agents: https://pipedream.com/docs/llms.txt
