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

# Intercom

Track admin login activity and seat utilization across your Intercom workspace

### About Intercom

Intercom is a customer messaging platform that provides live chat, bots, and helpdesk tools. Connecting Intercom to Harmony gives IT teams visibility into who has paid inbox seats, admin login activity, and seat utilization — helping optimize costs and manage access.

### What the Intercom integration enables

| Capability             | Description                                                                |
| ---------------------- | -------------------------------------------------------------------------- |
| User Discovery         | Surface all Intercom admins in Harmony's software inventory                |
| Login Tracking         | Monitor admin sign-in activity for security and usage insights             |
| License Visibility     | Identify paid inbox seats vs. light/free collaborator accounts             |
| Multi-Instance Support | Connect multiple Intercom workspaces for organizations with separate teams |

### Prerequisites

* **Intercom Admin access**: You must be a workspace admin to create apps in the Developer Hub
* **US-region Intercom workspace**: See the region note below
* **Access Token**: Generated from a private app (see below)
* **Harmony Account**: Active Harmony workspace

{% hint style="warning" %}
**Region support:** Intercom workspaces are hosted in one of three regions — US, EU, or Australia — and each region has its own API host. Harmony currently connects to the US host (`api.intercom.io`) only. Access tokens from EU- or Australia-hosted workspaces cannot be used yet.
{% endhint %}

### Connect Intercom to Harmony

#### Step 1: Create a Private App and Get an Access Token

1. Log in to Intercom and open the [Developer Hub](https://app.intercom.io/a/apps/_/developer-hub/app-packages)
2. Click **New App**, give it a name (e.g. `Harmony`), and click **Create App**
3. In your new app, go to **Configure** > **Authentication**
4. Select the **Read admins** and **Read admin activity logs** permissions (see [Permissions Explained](#permissions-explained) below)
5. Copy the **Access Token**

{% hint style="warning" %}
Keep your access token secure. Treat it like a password — never share it with third parties.
{% endhint %}

#### Step 2: Navigate to Integrations

1. Log in to your Harmony dashboard
2. Go to **Settings** > **Integrations**
3. Find **Intercom** under **SaaS Applications** and click **Connect**

#### Step 3: Enter Credentials

1. Paste your **Access Token**
2. Click **Connect**

{% hint style="info" %}
For organizations with multiple Intercom workspaces, you can add multiple instances by repeating this process for each workspace.
{% endhint %}

### What Harmony Syncs

**From Intercom:**

* Admin users (name, email, team membership)
* Seat type (paid inbox seat vs. light collaborator)
* The Intercom role name assigned to each admin, recorded verbatim for access reviews
* Admin sign-in activity (timestamp, IP address, sign-in method)

{% hint style="info" %}
**Where to find Intercom data in Harmony:**

* **Applications** — Intercom appears as a discovered application with seat and usage details
* **People** — Each employee's profile shows their Intercom seat type and last login
  {% endhint %}

{% hint style="info" %}
**Sync schedule:**

* Admin inventory — including seats, roles, and team membership — refreshes every 6 hours
* Sign-in activity is collected every hour
* On first connection, Harmony pulls up to 90 days of historical sign-in activity
  {% endhint %}

### Permissions Explained

Intercom permissions are selected as checkboxes on your app's **Configure** > **Authentication** page in the Developer Hub. Harmony requires both of the following, and nothing beyond them.

#### Required scopes

| Scope                    | Description                                 | Purpose                                                                        |
| ------------------------ | ------------------------------------------- | ------------------------------------------------------------------------------ |
| Read admins              | List and view all admins                    | List workspace admins with name, email, seat type, role, and team membership   |
| Read admin activity logs | List and view all admins and their activity | Read admin sign-in events, including timestamp, IP address, and sign-in method |

{% hint style="info" %}
If the **Read admin activity logs** permission is missing, admin inventory still syncs but sign-in activity does not.
{% endhint %}

### Disconnect Intercom from Harmony

1. Log in to your Harmony dashboard
2. Navigate to **Settings** > **Integrations**
3. Find **Intercom** under **SaaS Applications** and click the integration card
4. Click **Disconnect**
5. Confirm the disconnection when prompted

Once disconnected, Harmony stops syncing data from Intercom. Previously synced data remains available in Harmony.

***

### Use Cases

<details>

<summary>License Optimization</summary>

Identify admins with paid inbox seats who haven't logged in recently. Reclaim unused seats to reduce your Intercom subscription costs.

</details>

<details>

<summary>Access Review</summary>

Track which admins are actively using Intercom and confirm access is revoked during offboarding workflows.

</details>

<details>

<summary>Security Monitoring</summary>

Monitor admin login activity — detect unusual sign-in patterns, new IP addresses, or dormant accounts that suddenly become active.

</details>

***

### Troubleshooting

<details>

<summary>Data is not appearing after connection</summary>

**Possible causes:**

* The initial sync has not completed yet
* The app is missing the **Read admins** or **Read admin activity logs** permission
* The private app was not installed on the workspace
* The Intercom workspace is hosted in the EU or Australia region, which Harmony does not support yet

**Solutions:**

1. Admin inventory refreshes every 6 hours and sign-in activity every hour — allow time for the first sync to run
2. Verify both permissions are selected under **Configure** > **Authentication** in the Developer Hub, then copy the access token again and reconnect
3. Verify the app is installed: go to Developer Hub > your app > **Test & Publish** > **Your Workspaces**
4. If the issue persists, regenerate the access token and reconnect

</details>

<details>

<summary>Only some admins appear in Harmony</summary>

**Possible causes:**

* Intercom bot accounts (like Fin) are automatically filtered from inventory
* The API returns only workspace admins, not end-user contacts

**Solutions:**

1. This is expected behavior — Harmony tracks admin/agent seats, not customer contacts
2. Bot accounts (operator accounts) are excluded by design

</details>

***

### Data & Privacy

<details>

<summary>Key privacy principles</summary>

For information about how Harmony handles your data, see our [Privacy Policy](https://harmony.io/privacy).

* Harmony accesses Intercom data in read-only mode and does not modify any data in your Intercom workspace
* Only admin/teammate data is accessed — customer contact data is never synced
* Integration can be revoked at any time from Harmony settings

</details>


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/integrations/saas-applications/intercom.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
