Authorization Type

Carbon uses OAuth 2.0 to connect to Intercom workspaces.

Authorization Flow

Functionality

Carbon syncs all Published articles under a single Intercom workspace. Any Draft article won’t be synced. We currently support only having a single Intercom workspace connected per customer_id.

Configuration

Custom OAuth Credentials

  1. After you create or log into your Intercom Developer account, click New App to create your own app.

  1. Under the Authentication tab, click Edit -> Use OAuth -> Add redirect URL and then enter https://api.carbon.ai/integrations/intercom. You can also use a custom CNAME record pointing to https://api.carbon.ai but the domain path must still be /integrations/intercom.

  1. Under the Authentication tab, click Edit and then add permissions for Read one admin, Read and List Articles, and Read and Write Articles. You can remove access to the other permissions.

  1. Under the Basic Info tab, share the Client ID and Client secret with us via Slack.

  1. Under the Basic Info tab, add an App icon and App name.

  1. Click Test and publish -> Submit for review and fill in the details require to publish your app. After your app is approved, then we can enable the white labeling.

Synchronization

Syncs are triggered when end-users add or remove pages via the Intercom OAuth flow. You can use the resync_file API endpoint to programmatically resync specific Intercom files.

To sync Intercom files on a 24-hour schedule (more frequent schedules available upon request), you can use the /update_users endpoint. This endpoint allows organizations to customize syncing settings according to their requirements, with the option to enable syncing for all data sources using the string ‘ALL’. It’s important to note that each request supports up to 100 customer IDs.

Here’s an example illustrating how to automatically enable syncing for updated Intercom content for specified users:

{
    "customer_ids": ["team@carbon.ai", "sam@openai.com"],
    "auto_sync_enabled_sources": ["INTERCOM"]
}