Skip to main content

Intercom

Intercom is an AI-powered customer service and messaging platform that helps businesses communicate with customers through live chat, email, in-app messaging, and automation. It consolidates customer support, sales, and marketing interactions into a single inbox, enabling teams to manage conversations across chat, email, and messaging apps at scale. Intercom's core capabilities include its AI agents (Fin AI Agent and Copilot), a robust help center, automated workflows, customer segmentation, and a Contacts and Conversations API that gives businesses a complete view of their users' activity. SaaS companies, e-commerce brands, and enterprises use Intercom to deliver proactive support, reduce churn, onboard new users, and improve customer engagement throughout the entire customer lifecycle.

Intercom icon

Power end-to-end data operations for your Intercom API with Nexla. Our bi-directional Intercom connector is purpose-built for Intercom, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Intercom or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Intercom workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

To connect Nexla to Intercom, you need an Intercom account and either an Access Token (for accessing your own workspace) or an OAuth app (for integrations that access multiple workspaces). Access Tokens are the simpler option for most data integration use cases and are available immediately after creating an app in the Intercom Developer Hub.

Obtain an Intercom Access Token

Intercom uses Bearer token authentication for API access. Each app you create in the Intercom Developer Hub is issued a unique Access Token that grants access to the workspace where it is installed. Follow the steps below to create an app and obtain your Access Token.

  1. Navigate to the Intercom Developer Hub and sign in with your Intercom account credentials.

  2. From the Developer Hub dashboard, click Your Apps in the top navigation, then click the New app button.

  3. Enter a name for the app in the App name field (for example, "Nexla Integration"). Select the workspace where you want to install this app from the Workspace dropdown. Then click Create app.

  4. Once the app is created, go to the Configure tab within your app, then select Authentication from the left-hand menu.

  5. On the Authentication page, locate the Access Token section. Your Access Token is displayed here. Copy this token — you will enter it when configuring the Nexla credential.

Keep your Access Token secure

Your Intercom Access Token provides direct access to your workspace data and should be treated like a password. Do not share it with third parties or commit it to source control.

Intercom Access Tokens are associated with a specific workspace and do not expire unless manually revoked. For more information, refer to the Intercom Authentication documentation.

Intercom API Rate Limits

Intercom enforces rate limits on API requests. The default limit is 10,000 API calls per minute per app and 25,000 calls per minute per workspace. Nexla handles standard API requests within these limits, but for high-volume data flows you may want to review the Intercom Rate Limiting documentation for details on how limits are enforced and how to request higher limits if needed.

Regional API Endpoints

Intercom workspaces can be hosted in three regions: United States, European Union, and Australia. By default, API calls to api.intercom.io are automatically routed to the correct region. If your workspace requires a specific regional endpoint, you can use api.eu.intercom.io (EU) or api.au.intercom.io (Australia) in the API Endpoint URL field when configuring data sources or destinations.

Authenticate

Credentials required

Authenticate using Intercom API tokens

FieldRequiredSecretDescription
Intercom Access TokenYesYesPaste the full Authorization value, e.g. sampleToken12345...

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter the Intercom Access Token you copied from the Intercom Developer Hub in the Access Token field. This token is used as a Bearer token in the Authorization header of all API requests Nexla makes to the Intercom API.

    The Access Token field corresponds to the token displayed on the Configure > Authentication page of your app in the Intercom Developer Hub. Ensure you copy the full token string without any leading or trailing spaces.

  4. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Intercom connector tile, then select the credential that will be used to connect to the Intercom instance, and click Next; or, create a new Intercom credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Intercom endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Conversations

Retrieves all conversations from the Intercom workspace. Use this endpoint to ingest customer support conversation data for analysis, SLA reporting, or integration with BI and analytics tools.

  • Issues a GET request to https://api.intercom.io/conversations. Returns a JSON object with a conversations array containing conversation records.
  • Response data path: $.conversations[*] — each element of the conversations array is one conversation record. The Intercom API paginates results automatically.

For EU-hosted workspaces, replace api.intercom.io with api.eu.intercom.io. For Australia-hosted workspaces, use api.au.intercom.io. The Intercom API enforces a rate limit of 10,000 requests per minute per app.

Contacts

Retrieves all contacts from the Intercom workspace. Use this endpoint to ingest user and lead records for CRM integration, marketing segmentation, or user lifecycle analysis.

  • Issues a GET request to https://api.intercom.io/contacts. Returns a JSON object with a data array containing contact records.
  • Response data path: $.data[*] — each element of the data array is one contact record.

Contacts in Intercom include both users (authenticated) and leads (anonymous). Use the Intercom Search API (POST to /contacts/search) via manual configuration if you need to filter contacts by specific attributes before ingestion.

Companies

Retrieves all companies from the Intercom workspace. Use this endpoint to ingest account-level data for B2B analysis, customer health scoring, or CRM synchronization.

  • Issues a GET request to https://api.intercom.io/companies. Returns a JSON object with a data array containing company records.
  • Response data path: $.data[*] — each element of the data array is one company record.

Companies in Intercom represent B2B accounts. Each company record includes attributes such as company name, plan, monthly spend, and custom attributes defined in your workspace.

Admins

Retrieves all admins (teammates) from the Intercom workspace. Use this endpoint to export your support team roster for capacity planning, performance reporting, or access auditing.

  • Issues a GET request to https://api.intercom.io/admins. Returns a JSON object with an admins array containing admin records.
  • Response data path: $.admins[*] — each element of the admins array is one admin record.

Admins are the human teammates who handle conversations in Intercom. This endpoint is useful for cross-referencing conversation assignment data with team member details in downstream reporting.

Tags

Retrieves all tags defined in the Intercom workspace. Use this endpoint to export the tag taxonomy for reporting, to validate tag usage across contacts and conversations, or to maintain a reference list in downstream systems.

  • Issues a GET request to https://api.intercom.io/tags. Returns a JSON object with a data array containing tag records.
  • Response data path: $.data[*] — each element of the data array is one tag record.

Tags in Intercom are used to categorize contacts, companies, and conversations. This list is account-level reference data — sync it periodically to keep downstream tag lookup tables current.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Intercom data sources can also be manually configured to ingest data from any valid Intercom API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Common Intercom API endpoints follow the pattern https://api.intercom.io/<resource> — for example, https://api.intercom.io/contacts, https://api.intercom.io/conversations, https://api.intercom.io/companies, https://api.intercom.io/data_attributes, https://api.intercom.io/events, https://api.intercom.io/segments, https://api.intercom.io/tags, https://api.intercom.io/teams, https://api.intercom.io/articles, and https://api.intercom.io/tickets. For EU-hosted workspaces, replace api.intercom.io with api.eu.intercom.io; for Australia-hosted workspaces, use api.au.intercom.io. The Intercom Search API (for contacts and conversations) uses a POST request with a JSON filter body instead of GET.

Date/time macros are useful for incrementally ingesting conversations or events using a query parameter such as created_since, and lookup-based macros can chain a contact, company, or conversation ID from a prior source into the URL. Most list endpoints return records in a top-level data array, so the path to data is typically $.data[*] — the Conversations endpoint instead uses $.conversations[*] and the Admins endpoint uses $.admins[*]. The Authorization header is handled automatically by Nexla based on your credential configuration; add an Intercom-Version header (e.g. Intercom-Version:2.11) only if you need to pin a specific API version.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Intercom data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Intercom destination, and select the Send to Destination option from the menu. Select the Intercom connector from the list of available destination connectors, then select the credential that will be used to connect to the Intercom organization, and click Next; or, create a new Intercom credential for use in this flow.

Manual configuration

Intercom destinations can also be manually configured to send data to any valid Intercom API endpoint. You can also configure Nexla to automatically send the response received from the Intercom API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The Intercom API accepts and returns JSON only. Common destination endpoints include https://api.intercom.io/contacts (POST to create, PATCH https://api.intercom.io/contacts/{contact_id} to update), https://api.intercom.io/conversations, https://api.intercom.io/conversations/{conversation_id}/reply, https://api.intercom.io/notes, https://api.intercom.io/contacts/{contact_id}/tags, https://api.intercom.io/tickets, https://api.intercom.io/events, and https://api.intercom.io/companies. For update/upsert operations, include the ID of the object to be updated at the end of the URL. For EU-hosted workspaces, replace api.intercom.io with api.eu.intercom.io; for Australia-hosted workspaces, use api.au.intercom.io.

The Authorization header is handled automatically by Nexla based on your credential configuration; add an Intercom-Version header (e.g. Intercom-Version:2.11) only if you need to pin a specific API version. Intercom enforces a rate limit of 10,000 API calls per minute per app, so batch large volumes of records — for bulk contact imports, the Property Inside JSON Object grouping algorithm typically wraps records in a contacts property.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Intercom endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Intercom until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.