Skip to main content

What Intercom adds to Halo

Intercom is an ingest-only integration:
ModeWhat it does
IngestSync contacts, companies, conversations, and tickets into Halo. Conversation transcripts can be distilled into customer-scoped knowledge.
Use this when you’re:
  • Migrating from Intercom to Halo and want all your historical data
  • Running both in parallel during a transition period
  • Backfilling Halo with the customer history you already have
Connect at Integrations > Intercom.

Setup

Connecting

Intercom uses access token + region auth (not OAuth in this implementation):
  1. In your Intercom workspace, generate a Personal access token with read scopes for contacts, companies, conversations, and tickets.
  2. In Halo, click Connect Intercom.
  3. Paste the token, select your region (us, eu, or au), and submit.
Halo validates the token, encrypts and stores it, and triggers a full historical sync.

Webhook (optional, near-real-time)

For ongoing sync after the initial backfill:
  1. In Intercom, configure a webhook with webhook_secret (required for verification).
  2. Paste the secret into Halo on the Intercom integration page.
  3. Set the webhook URL to:
    https://app.haloagents.ai/api/integrations/intercom/webhook/{orgId}
    
Halo verifies signatures using HMAC-SHA1 on the raw body. Topics handled:
TopicAction
conversation.user.createdCreate a Halo transcript / ticket
conversation.user.repliedAppend message
conversation.admin.repliedAppend message
contact.created, contact.updated, user.createdUpsert end user
ticket.created, ticket.state.updatedSync ticket
Without webhooks, Halo still runs hourly cron sync (cronSync: true).

Ingest mode

When ingest is on:
DataWhere it lands
Contactsend_users table with source: intercom
Companiescompanies table with source: intercom
Conversationstranscripts table with metadata.source: intercom
Ticketstickets table with metadata.source: intercom
Conversation historyDistilled into knowledge under intercom: and distilled:intercom: prefixes
Conversation transcripts are distillable — Halo can run an additional summarization pass to extract customer insights (“Customer always asks about pricing transparency, prefers email follow-ups, has had 3 tickets about SSO”).

Configuration

FieldPurpose
user_id_fieldWhich Intercom field to use as the external user ID
company_id_fieldWhich Intercom field to use as the external company ID
activity_refreshHow often to refresh conversation activity
webhook_secretRequired for webhook verification (encrypted at rest)

Migration tips

If you’re migrating from Intercom:
  1. Connect Intercom first to backfill historical data
  2. Configure webhooks to keep Intercom data flowing during the transition
  3. Set up email forwarding so new emails come to Halo (see Receiving Emails)
  4. Migrate help center articles using the help center Migration tool
  5. Switch the chat widget on your site from Intercom to Halo
  6. Keep Intercom connected for a few months as a fallback / source of truth
  7. Disconnect Intercom once you’re confident Halo has everything

Status and stats

The integration page shows:
  • Total contacts, companies, conversations, tickets synced
  • Last sync time
  • Webhook secret status (configured / not configured)

Where to go next

Help Center Migration

Import your existing help center articles into Halo.

Receiving Emails

Forward emails into Halo to replace Intercom’s inbox.