---
title: Send data to Intercom
description: Map model rows to Intercom contacts or companies and account for the destination's create behavior.
species: guide
---
# Send data to Intercom

Supernova can update or create Intercom `contacts` and `companies`. New sends default to the destination `id`, which matches the id synced into the lake.

## Permissions

Intercom internal integrations issue one access token with configured permissions. The API does not expose a reliable per-object permission check, so verify write access in Intercom before the first confirmed run. An unauthorized write fails without advancing the diff baseline.

## Build the model

```sql
select
  id,
  plan_name,
  health_score
from titan.analytics.intercom_health
where id is not null
```

Intercom attributes accept real JSON numbers and booleans. An invalid number, date, enumeration, or boolean fails locally for that row.

## Creating contacts

Creating contacts can set off messages already running in Intercom. A new contact receives any outbound message or series whose audience it matches, usually within minutes. Check live messages before enabling creates; bulk email can also incur destination charges.

Because of this consequence, every pending contact create requires an explicit confirmation preview.

## Creating companies

A company created through the API does not appear in Intercom until a contact is attached to it. Sending a company does not attach contacts. A successful create can therefore be real while absent from Intercom's company list.

## Matching

Only attributes Intercom can resolve reliably are offered as match properties. Prefer `id`. Email is not a safe default because a lead and a user can share it, and it may be absent.

The send is pinned to the Intercom workspace where it was authored. If the source token later points at a different workspace, the run refuses and asks you to recreate or restore the connection.
