Joy and Intercom

Joy and Intercom

Show each customer's points, VIP tier, and referral link on their Intercom contact, and use that data in Inbox views, segments, and messages.

This integration is available on all plans.

Overview

When a customer asks your support team how many points they have or why their tier changed, the answer usually lives in a different app. The Joy integration saves each customer's loyalty data as custom attributes on their Intercom contact, so your team sees it right next to the conversation.

The same attributes work anywhere Intercom lets you filter or personalize: Inbox views, segments, outbound messages, and automation rules. Data moves one way, from Joy to Intercom.

Before you start, make sure you can open Developer Hub in your Intercom workspace. You create a private app there to get the access token Joy needs.

Data synced to Intercom

Joy creates these custom attributes in your Intercom workspace when you connect, then keeps them up to date on every contact:

AttributeWhat it holds
joy_loyalty_pointsCurrent points balance
joy_member_statusMembership status in your loyalty program
joy_vip_tierCurrent VIP tier name
joy_birthdayBirthday the customer saved in Joy
joy_referral_urlThe customer's personal referral link
joy_created_atDate the customer joined your loyalty program

Joy also fills in the contact's email, phone number, and name. When a customer's details change in Joy, for example after they earn points, reach a new tier, or save a birthday, their Intercom contact updates within seconds.

Joy finds each customer's Intercom contact by their Shopify customer ID first, then by email. If neither matches, Joy creates a new contact with the User role.

How to connect Intercom

Joy connects to Intercom with an access token from a private app in your workspace. Setup takes a few minutes: create the app in Intercom, copy its token, then paste it into Joy.

1

Create a private app in Intercom

In Intercom, click your workspace name in the top-left corner and go to Settings → Integrations → Developer Hub. Click New app, give it a name such as "Joy Loyalty", choose Private so the app is linked only to your workspace, and click Create app.

2

Turn on the permissions Joy needs

Open the new app and go to the Authentication tab. Tick these four permissions:

  • Read and list users
  • Write users
  • Read and list data attributes
  • Write and edit data attributes

Joy needs all four. Without the data attribute permissions, Joy cannot create or update the joy_ attributes on your contacts.

3

Copy your access token

On the same Authentication tab, scroll to Access tokens and copy the token. It starts with dG9r.

Treat the token like a password. Anyone who has it can read and change contacts in your Intercom workspace.

4

Check your workspace region

Look at the address bar while you are in Intercom. The address tells you which region to choose in Joy:

Address in IntercomRegion to choose
app.intercom.comUS
app.eu.intercom.comEU
app.au.intercom.comAustralia
5

Connect Intercom in Joy

In Joy, go to Integrations and open Intercom. Under Step 1: Connect to Intercom, click Connect. Paste the token into Intercom Access Token, choose your Workspace region, and click Connect.

You see Intercom connected. Bulk sync started. and the badge next to the page title changes to Connected.

If you see Failed to connect Intercom, check that you copied the whole token and that the region matches the address in Intercom, then click Connect again.

6

Let the first sync finish

Under Step 2: Sync customer data to Intercom, a badge counts the customers Joy has sent so far. The sync runs in the background, so you can leave the page. After it finishes, click Re-sync at any time to send all customers again.

Use Joy data in Intercom

Open any contact in Intercom to find the joy_ attributes in the contact sidebar under Custom Attributes. Your team reads them there during a conversation, and you can use the same attributes when you build Inbox views, segments, or outbound campaigns.

A few ways to put the data to work:

Answer points questions without switching apps

When a customer asks about their balance, your teammate reads joy_loyalty_points and joy_vip_tier in the contact sidebar and replies in the same conversation.

Route your top-tier customers to a dedicated view

Create an Inbox view filtered by joy_vip_tier so conversations from your highest tier stand out and get answered first.

Remind customers to share their referral link

Build a segment of contacts who have a joy_referral_url and send them a message that includes their personal link.

Nudge customers who have points to spend

Build a segment where joy_loyalty_points is above the cost of your first reward, and send a message pointing them to your rewards.

Pause the sync

Use the toggle next to the Intercom title to stop sending updates. While the toggle is off, the badge shows Pause and Intercom contacts keep the values they had. Turn the toggle back on to resume, then click Re-sync to send any changes made while the sync was paused.

FAQ

Q: Does Joy read anything back from Intercom?
A: No. Data only moves from Joy to Intercom.

Q: The joy_ attributes do not appear on my contacts.
A: Check that your Intercom app has all four permissions from the setup steps, then click Re-sync. On a large customer list, the first sync takes a while to reach every contact.

Q: Does Joy add new contacts to Intercom?
A: Yes. If a loyalty customer has no matching contact in Intercom, Joy creates one with the User role.

Q: How do I change the access token or region after connecting?
A: The Connect button is unavailable while Intercom is connected. Contact Joy support through live chat, and our team reconnects Intercom with your new token or region.