# Connect Intercom

You'll save visitors' answers to Intercom tags and data attributes, then use what you know about each contact to personalize your website.

Available on the Pro plan.

Connecting Intercom lets you save website answers to contact records for your follow-up. You can also use the tags and attributes you already have to choose what each contact sees on your website.

## Connect Intercom

You'll need permission to manage your RightMessage project's integration, an Intercom app's access token, and your workspace's hosting region. The token needs access to the contact, tag, and data-attribute operations you plan to use.

Each RightMessage project connects to one email platform or CRM. Check what uses an existing connection before replacing it.

> **Check Intercom's authentication requirements first**
>
> RightMessage currently asks for an access token. Intercom's [authentication policy](https://developers.intercom.com/docs/build-an-integration/learn-more/authentication) requires third-party integrations to use OAuth instead. Contact RightMessage support before sharing a token for a new connection. The steps below describe the current access-token form, not OAuth.

1. In Intercom's Developer Hub, open the app you'll use. Find its access token under **Configure → Authentication**.
2. In RightMessage, open your project settings and choose **Integration**.
3. Under **Email platforms & CRMs**, select **Intercom**.
4. In **Overview**, paste the token into **Access Token**.
5. Set **Region** to your workspace's region, **US (default)**, **EU**, or **AU**. Use EU or AU for a workspace hosted there, even though US is the default.
6. Click **Connect** and check the connection health.

![Intercom connection controls in RightMessage, with no credentials entered](https://rightmessage.com/help/screens/integrations-intercom-connection.light.webp)

Keep the token private. To change it later, edit the field and click **Save Changes**. If authentication fails, check the token and region before replacing any field mappings.

## Choose what to sync

You can save choice answers and segment groups to a data attribute or a tag for each answer. Typed answers can go to a native field or writable data attribute. RightMessage can read an identified contact's tags, custom attributes, and native name, email, and phone data.

1. Open **Questions**, choose your question, and open **Sync with Intercom**.
2. For a choice question, choose **Data Attribute** or tags under **Sync mode**.
3. For an attribute, choose **Destination** and fill in **Answer → value**. For tags, select the existing tag for each answer. Typed questions map directly to a field or attribute.
4. If you need to create contacts, open the Email question's **Setup** and keep **Identify the visitor** enabled.
5. Under **Contact action**, choose **Create/Update contact**, or choose **Add to tag** and select at least one tag.
6. Review your flow and click **Publish**.

Single-answer questions default to field sync. Multiple-answer questions prefer tags when available. Keep answer tags separate from unrelated workflow tags. The shared [answer-mapping guide](https://rightmessage.com/help/synchronizing-contact-data-with-your-email-platform-or-crm) covers multiple-answer values, tag removal, and switching modes.

For an **Other** write-in, use **Save write-ins to Intercom** and choose a destination different from the choice-answer field.

### Pick a writable attribute

Create an attribute before mapping it, either in Intercom or with **New Intercom data attribute** in the destination picker. Enter **Field Name** using letters, numbers, and underscores, then click **Create**. This creates a text attribute. Create number, boolean, and date attributes in Intercom first. Archived attributes don't appear in the list.

Choose an attribute that Intercom's API allows you to update. Read-only attributes can still appear in the picker, so check that your chosen attribute accepts writes.

The separate native answer destinations are **Name** and **Phone**. There aren't separate native first-name and last-name fields. Use **One field** for a full name or map its parts to custom attributes. Email identifies the contact and isn't a native answer destination.

> **Use custom attributes when you need submitted names and phone numbers**
>
> The current form action can omit **Name** and **Phone** updates even when contact creation or a tag update succeeds. Map those submitted values to writable custom attributes and check the contact in Intercom.

### Create contacts without an Intercom form

The contact actions write directly to Intercom. You don't need a form or list destination, and this connection doesn't submit Intercom forms or add contacts to lists.

If a displayed Email question consent checkbox is left unchecked, RightMessage keeps the response without identifying the visitor or sending their data to Intercom.

Matching mapped values can place identified visitors in the corresponding RightMessage segments. You can also use known attributes for website personalization. This doesn't import all contacts or backfill every historical response.

### Send Intercom events

To send an event from a RightMessage form, choose **Trigger an event** under **Action** and enter an event name. Intercom accepts free-form names here. Optional **Event metadata** adds key/value data, and its values support Liquid templates. This is separate from an Email question's **Contact action**, which offers contact creation and tags.

When the Intercom JavaScript client is present on your page, RightMessage also sends these automatic browser events:

| When a visitor…              | Intercom event         |
| ---------------------------- | ---------------------- |
| Sees a widget                | `rmWidget.displayed`   |
| Dismisses a widget           | `rmWidget.dismissed`   |
| Submits a form               | `rmOffer.formSubmit`   |
| Clicks an offer              | `rmOffer.clicked`      |
| Answers a choice question    | `rmQuestion.answered`  |
| Submits an open-ended answer | `rmQuestion.openEnded` |

Event metadata can include widget, flow, offer, and question details. Form events include submitted form data. Question events can include answer text and freeform input. Keep that data sharing in mind when choosing what to collect.

Without the Intercom JavaScript client, RightMessage doesn't send those automatic browser events. The configured form event action uses the API connection instead. This integration doesn't read Intercom event or purchase history or offer direct automation enrollment.

## Recognize subscribers from email links

Choose a test contact you control and [install the RightMessage snippet](https://rightmessage.com/help/everything-you-need-to-know-about-your-rightmessage-tracking-script) on the page you'll test.

RightMessage reads `rm_ic` as an Intercom contact ID. Add it to a link to one of your own pages. Here's an example for [WorkForge](https://workforge.rightmessage.com):

```text
https://workforge.rightmessage.com/pricing.html?rm_ic=INTERCOM_CONTACT_ID
```

In Intercom's message editor, replace `INTERCOM_CONTACT_ID` with the recipient attribute that supplies their actual Intercom contact ID. It isn't a merge field you can paste unchanged. Use the contact record's ID, not an unrelated external user ID. If the URL already has a query string, use `&rm_ic=` instead.

Don't put an email in `rm_ic`. This parameter is read as a contact ID, and the Intercom snippet doesn't process the generic `?email=` parameter during page-load identification. If your message editor can't supply the contact ID, use Messenger identification or a configured RightMessage form or identifying Email question.

Opening one of these links looks up an existing contact. It doesn't create one. Keep personalized links private rather than sharing one person's identifying link with everyone.

### Recognize contacts through Messenger

If Intercom Messenger runs on your website, RightMessage looks for a cookie whose name starts with `intercom-id-` and uses its value to request a contact. The cookie must resolve to a contact in the connected workspace, and that contact must have an email address.

An anonymous Messenger visitor isn't necessarily an identified contact. Messenger is needed for this cookie method and automatic browser event tracking, but not for every identification method.

## Check the connection

1. Give your test contact a distinctive Intercom tag or data-attribute value.
2. Open their delivered identifying link in a fresh browser session on a page with RightMessage installed.
3. Use the [on-site debugger](https://rightmessage.com/help/using-the-rightmessage-debugger) to check the intended contact and their Intercom data.
4. Navigate to another page without the parameter to check that the browser remembers them. Another browser or device needs to identify them again.
5. Submit a mapped answer on your published website. Open the contact in Intercom and check the exact tag or attribute value.
6. Use a new email address you control to test your contact-creation action.

To test Messenger separately, use a browser where Messenger already identifies your test contact and leave out the link parameter. If the cookie doesn't resolve the contact, try an explicit contact-ID link before changing tag mappings.

If a new attribute or tag is missing, click **Clear Cache** in the Intercom connection's **Overview** and reopen the picker. Check each tag in Intercom even if the action completes. A rejected tag operation can leave other updates applied.

When you can recognize the intended contact and see the submitted answer on their Intercom record, the setup is working. Follow [Verify an integration change](https://rightmessage.com/help/verify-an-integration-change) when you change the connection or its mappings.
