---
title: "Intercom Integration"
description: "Manage Intercom contacts and conversations"
---
The Intercom integration provides access to manage Intercom contacts and conversations through the Integrate MCP server.

## Installation

The Intercom integration is included with the SDK:

```typescript
import { intercomIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create an Intercom OAuth App

1. Go to [Intercom Developer Hub](https://developers.intercom.com/)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Intercom integration to your server configuration. The integration automatically reads `INTERCOM_CLIENT_ID` and `INTERCOM_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, intercomIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    intercomIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
intercomIntegration({
  clientId: process.env.CUSTOM_INTERCOM_ID,
  clientSecret: process.env.CUSTOM_INTERCOM_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("intercom");
const result = await client.intercom.listContacts({});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, intercomIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [intercomIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/intercom.ts"
  name="IntercomIntegrationConfig"
/>


## Tools

### `intercom_list_contacts`

List contacts

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomListContactsParams"
/>

### `intercom_get_contact`

Get contact details

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomGetContactParams"
/>

### `intercom_create_contact`

Create a new contact

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomCreateContactParams"
/>

### `intercom_list_conversations`

List conversations

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomListConversationsParams"
/>

### `intercom_get_conversation`

Get conversation details

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomGetConversationParams"
/>

### `intercom_reply_conversation`

Reply to a conversation

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomReplyConversationParams"
/>

### `intercom_list_companies`

List companies

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomListCompaniesParams"
/>

### `intercom_get_company`

Get company details

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomGetCompanyParams"
/>

### `intercom_search_contacts`

Search for contacts

<AutoTypeTable
  path="generated/tool-params/intercom.ts"
  name="IntercomSearchContactsParams"
/>

## Notes

- Category: Business
- Authentication mode: OAuth
