If you are moving from Intercom to Chatwoot, you can use Chatwoot's built-in importer to bring your contacts and past conversations into your Chatwoot account. The import runs in the background, so you can continue setting up Chatwoot while it completes.
Availability: The built-in Intercom importer is available on Chatwoot paid plans. You must be an account administrator to start and manage an import.
What the Intercom import brings over
You can choose to import:
-
Contacts
-
Conversations, including their message history and the contacts associated with those conversations
Chatwoot preserves the available source timestamps and source details so the imported records remain useful as historical context.
Imported conversations are added as resolved historical conversations in source-specific Intercom import inboxes. These inboxes preserve history; they do not replace the live channels you will configure in Chatwoot.
Before you begin
Make sure that:
-
You have a Chatwoot account on a paid plan. If you are new to Chatwoot, create your account first.
-
You are an administrator in the Chatwoot account.
-
You can create or access a private app in the Intercom workspace you are migrating.
-
The Intercom app can read contacts and conversations.
-
You have planned your channel cutover. The import is a one-time migration, not a continuous sync.
Only one import (be it Intercom, Freshdesk or others) can run in a Chatwoot account at a time.
Step 1: Get an Intercom Access Token
Chatwoot uses an Intercom Access Token to read the data selected for migration.
-
Open the Intercom Developer Hub.
-
Create a private app in the Intercom workspace you want to migrate, or open an existing private app created for the migration.
-
Ensure the app has permission to read contacts and conversations.
-
Open Configure → Authentication in the app.
-
Copy the Access Token.
For more information, see Intercom's authentication guide.
In Chatwoot, the field is labeled Intercom access key. Paste the Intercom Access Token into this field.
Treat the token like a password. We recommend using a dedicated app for the migration and revoking its token or removing the app after the import has completed and you have verified the results.

Step 2: Open Data settings in Chatwoot
-
Sign in to Chatwoot.
-
Go to Settings → Data.
-
Open the Import tab.
-
Click Import.

Step 3: Configure and start the import
In the New import dialog:
-
Select Intercom as the source.
-
Enter an import name. This helps you identify the migration later.
-
Paste your Intercom Access Token into Intercom access key.
-
Under Data to import, select one or both of the following:
-
Contacts imports contacts from the Intercom workspace.
-
Conversations imports past conversations, their messages, and the contacts required for those conversations.
-
-
Move out of the access-key field and wait for Chatwoot to validate the key.
-
When you see Access key validated, click Import.
If validation fails, check that you copied the complete token and that the Intercom app has permission to read the data you selected.

Step 4: Monitor and verify the import
Chatwoot opens the import details page after the import starts. The page updates automatically while the import runs and shows separate progress for contacts, conversations, and messages.
Depending on the outcome, the import can finish as Completed or Completed with errors. Review the following before you cut over:
-
The imported counts for contacts, conversations, and messages
-
A sample of imported contacts and conversations
-
The Errors section for records Chatwoot could not import
-
The Skip logs section for records that were intentionally skipped
You can download error and skip logs as CSV files. If an import becomes stalled, use Retry when the option appears. You can also abandon an active import if you need to stop it.

Step 5: Move your live channels to Chatwoot
The data import brings over historical records. It does not recreate your Intercom Messenger or connect it as a live Chatwoot channel.
To move your website chat:
-
Add the Chatwoot widget code to your website.
-
Remove the Intercom widget code as close as possible to the Chatwoot launch to avoid a gap in coverage.
-
Start a test conversation from your website and confirm that it reaches the correct Chatwoot inbox and team.
If you use other Intercom channels, set up the corresponding Chatwoot channels and test each one before completing the cutover.
Important behavior and limitations
-
The import is a one-time historical migration. New changes in Intercom are not continuously synced to Chatwoot.
-
Historical imports do not send messages or notifications to your customers.
-
Imported conversations are resolved and stored in source-specific import inboxes. Configure new Chatwoot inboxes for ongoing customer communication.
-
File attachments are not transferred. When an Intercom message has attachments, Chatwoot adds a note to the message indicating how many attachments were skipped.
-
Intercom teammates, teams, assignments, routing rules, automations, apps, and Messenger settings are not recreated in Chatwoot.
-
Some source-specific fields are retained as metadata but may not appear as equivalent Chatwoot fields.
-
Keep access to Intercom until you have reviewed the imported counts, sample records, and any error or skip logs.
Make Chatwoot your own
Once the import and channel cutover are complete, these resources will help your team get started:
For anything else, reach out to us through the support chat. Happy chatting!