# Intercom

## Intercom – Connector Configuration

### Step 1: Create a Developer Account & Access Developer Hub

* Sign in to your Intercom account at [Intercom](https://www.intercom.com/)
* Navigate to the [Intercom Developer Hub](https://developers.intercom.com/)
* Go to **Your Apps** section in the Developer Hub

> ⚠️ **Note**: You need an existing Intercom workspace to create developer apps.

***

### Step 2: Create Your App

1. **Create a new app**:
   * Click **"New app"** or **"Create app"**
   * Provide an **App name** (e.g., "My Integration")
   * Add an **App description** explaining what your integration does
   * Select your **Workspace** from the dropdown
2. **App Configuration**:
   * Choose **"Internal integration"** for private use within your workspace
   * Or choose **"Public app"** if you plan to distribute it publicly

***

### Step 3: Configure OAuth Settings

1. **Navigate to Authentication**:
   * In your app dashboard, go to the **"Authentication"** section
   * Select **"OAuth"** as the authentication method
2. **Set up OAuth Configuration**:
   * **Redirect URLs**: Add your callback URL
   * **Scopes**: Select the permissions your app needs:
     * `read_conversations` - Read conversations and messages
     * `write_conversations` - Create and update conversations
     * `read_contacts` - Read contact information
     * `write_contacts` - Create and update contacts
     * `read_teams` - Read team information
     * And other scopes as needed for your integration

👉 For Appmixer, set the redirect URI to:

```http
https://[YOUR_API_BASE]/auth/intercom/callback
```

Example:

```http
https://api.appmixer.com/auth/intercom/callback
```

***

### Step 4: Copy Your Credentials

After configuring OAuth, you'll find your credentials in the **Authentication** section:

* **Client ID** - Found in the OAuth section
* **Client Secret** - Found in the OAuth section

⚠️ **Important**: Keep your Client Secret secure and never expose it in client-side code!

***

### Step 5: Configure Webhooks (Optional)

If your integration needs real-time updates:

1. **Go to Webhooks section**:
   * Navigate to **"Webhooks"** in your app dashboard
   * Click **"Create webhook"**
2. **Webhook Configuration**:
   * **Webhook URL**: Your endpoint to receive webhook notifications
   * **Topics**: Select events you want to subscribe to:
     * `conversation.created`
     * `conversation.updated`
     * `contact.created`
     * `contact.updated`
     * And others as needed
3. **Webhook Security**:
   * Note the **Webhook Secret** for verifying webhook signatures
   * Use this to validate that webhooks are coming from Intercom

***

### Step 6: Connector Configuration

1. Go to the Appmixer BackOffice -> Configuration.
2. Add new configuration: `acme:intercom`.
3. Add your `clientId` and `clientSecret` keys with values.

![blankImage](https://802996127-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIAGKHlIqVKJe9agnFr14%2Fuploads%2Fgit-blob-1861428ad939fdf3b1a5ec312de3e30f220bc634%2FintercomImage-1.png?alt=media)

![blankImage](https://802996127-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIAGKHlIqVKJe9agnFr14%2Fuploads%2Fgit-blob-8d6bad906178639d95d533a7517bdb542406f0db%2FintercomImage-2.png?alt=media)

***

1. **Install your app**:
   * In the app dashboard, click **"Install app"**
   * This will install the app to your selected workspace
2. **Generate Access Token** (for testing):
   * Go to **"Configure"** -> **"Authentication"**
   * Generate a test access token if needed for development
3. **API Testing**:
   * Use the generated credentials to test API calls
   * Intercom API base URL: `https://api.intercom.io/`
   * Include `Authorization: Bearer <access_token>` header in requests

***

### Step 7: Going Live

When ready for production:

1. **App Review** (for public apps):
   * Submit your app for Intercom's review process
   * Provide detailed information about your app's functionality
   * Include privacy policy and terms of service links
2. **App Store Listing** (optional):
   * If approved, your app can be listed in the Intercom App Store
   * Configure app store listing with screenshots and descriptions

***

### Important Notes

⚠️ **Rate Limits**:

* Intercom has rate limits based on your plan
* Standard: 1,000 requests per minute
* See [Intercom Rate Limits](https://developers.intercom.com/intercom-api-reference/reference/rate-limiting) for details

⚠️ **API Versions**:

* Intercom uses API versioning via headers
* Always specify the API version: `Intercom-Version: 2.10`

⚠️ **Scopes**:

* Request only the minimum scopes needed for your integration
* Users will see all requested permissions during OAuth flow

***

### Useful Links

* [Intercom Developer Documentation](https://developers.intercom.com/)
* [API Reference](https://developers.intercom.com/intercom-api-reference)
* [OAuth Guide](https://developers.intercom.com/building-apps/docs/oauth)
* [Webhook Documentation](https://developers.intercom.com/building-apps/docs/webhooks)
* [Rate Limits](https://developers.intercom.com/intercom-api-reference/reference/rate-limiting)

***
