đ Hi everyone! Karla here from the Technical Support Engineering team. Today, weâre diving into how to use Custom Actions and Custom Objects to reference People data â the kind of data that sticks with your users across multiple conversations.
Â
Weâll walk through setting up a Prescription Tracker workflow â a simple example that shows how to store and display data for each user inside Intercom Messenger. Letâs start with the why.
Â
Imagine youâre tracking prescriptions for your customers. If a user chats today about Tylenol, youâd want that stored on their profile. Then, if they return next week about Ibuprofen, that data should build on top of their record â not replace it.
Â
Thatâs what People data does: it acts like a long-term memory for your users.
Â
Each conversation can reference one item (the chat about Tylenol, for example), but the People record holds the full history of every prescription thatâs ever been added for that user.
Â
Letâs start by checking out what my test API returns when I call the /prescriptions endpoint đ

Â
This is key, because the structure of your APIâs request and response will shape how you set up your Data connector.
Â
âď¸Next, we will create your The Data Connector connects Intercom to your external system â in this case, your prescriptions API.
Â
Go to Settings â Integrations â Data Connector

Â
Click New data connectorÂ

Â
Name it something like CS Prescriptions Demo

Â
Add a description âď¸

Â
Enable Fin to use this connector directly without adding it to a workflow or task âď¸

Â
Choose the GET method and paste your endpoint, e.g. https://your-api-url/prescriptionÂ

Â
Moving on to the next step. In Test Response, you want to make sure you select Live Response đ

Next, select Test or Retest request to make sure the API returns data successfully

Â
We get a 200 OK response with the data from the API, looks like weâre ready to go! đđź

Once you click the Next step button, it will take you to Data transformation.

Â
The Data Transformation section lets you reshape and clean your API data before itâs stored in Intercom. This step is super helpful when creating Custom Object attributes, since it ensures your data is formatted correctly and maps smoothly to each field.
Â
Click the Next step button again. This brings you to the Object mapping section.

This step is technically optional, but itâs really important if you plan to use your data in Workflows, especially for GET requests.
Object mapping tells Intercom where to store the information that comes back from your API, so your Workflow can use it to answer customer questions automatically.
Â
Now letâs map the response data to a Custom Object, but first, what exactly is that?
Â
Custom Objects let you extend Intercomâs standard People and Conversation data so you can store information that reflects your business more accurately and flexibly. Theyâre perfect for tracking things like orders, prescriptions, or subscriptions, anything unique to your use case.
Â
The first step here is to save your Data Connector, and then go ahead and create your Custom Object to hold that data.
Â
To get started, go to Settings > workspace data > Custom object data.

Â
Create your first Custom Object by clicking on âCreate new objectâ. Give the object a name (e.g. Prescriptions CO to represent Prescription Custom Object) and then click âSaveâ.

Â
This creates a new parent object with some recommended default attributes that track some data that are important when using Custom Actions:
- âexternal_idâ
- âexternal_created_atâ
- âexternal_updated_atâ
Once done, we can create attributes that match up to the response of the API. Iâll not include ID since the external_id comes as a default attribute.

Â
Next we add all of our attributes and map them to the response that correlates, then include a reference to People which will allow us to create connections between our Custom Object and the People to power the workflow đ

Â
For convo_prescription, you want to make sure Allow referencing multiple Conversations is toggled off

Â
For people_conversation, weâll create a reference that allows a person to have multiple prescriptions. We talk about this in our article on Setting up references with Custom Objects.
Â
You want to make sure Allow referencing multiple people is toggled on đ

Â
This setup means one person can have multiple prescriptions stored â perfect for tracking ongoing data that grows over time.

What weâll do next is create a conversation attribute where we want to store the prescriptions weâre showing them and the one the customer chooses to chat about.
Â
Â
First, weâll create Conversation Data with the Reference format and select the Prescriptions CO Custom Object for the full inventory weâre displaying.
Â
In this case, weâll toggle off âAllow referencing multiple Prescriptions CO,â since we only want to reference a single item rather than creating a many-to-many relationship. đ

Â
Next, we will create a People Attribute with the Reference format, and once again select the Prescriptions CO Custom Object.

This time, we will toggle on "Allow referencing multiple Prescriptions COs," since we want to create a many-to-many relationship to permanently store all of the user's prescription data on their profile. đ

Â
Once done, we can go ahead and Save everything.
Â
Now letâs move on to the Object Mapping step in the Data Connector. âŹď¸
First we map the Intercom Object of the Prescription CO to the API object thatâs returned, in this case itâs an Array of Products.
Then we match each attribute that we have created in the Custom Object to a matching attribute from the API response. Once done, we select the reference from either People or Conversations to the Prescriptions CO.
Â
Here is what it should look like đ

Â
Â
Make sure Update references from People or Conversations to Prescriptions CO should show People > Prescription_people đ

Set live đ

Â
Now letâs put it all together in a workflow so your bot can fetch and display each userâs prescriptions dynamically.
Â
Hereâs what my workflow looks like and how to add the Data Connectorđ
Go to Fin AI Agent > Workflows > New Workflow

Â
Create from scratch

Â
Use When customer opens a new conversation in Messenger trigger âŹď¸

Add trigger settings

Â
After trigger settings are set, you will rename the buttons in Path A. In this example, I have named my buttons Prescriptions and Other Stuff
Â
Once the buttons are labeled, click on Select Data Connector > CS Prescriptions Demo


Once done, add the error message for if the Data connector fails (e.g., âUh-oh, something went wrong!â) and assign the conversation to your support team đ

Â
Add a message âWhich prescription are you writing about today?â

Â
Then add the Buttons from Custom Objects under the message block

Â
Click on Select data > Prescriptions CO

Â
Click on Add condition to select the "People > Prescription_people for Person from contextâ option đ

Â
We choose this option because itâs the field we mapped the data to when configuring the Custom Object and People attributes.
Â
Next, select how many prescription buttons to display and which attribute each button should present đ

Once youâve set everything up, hit save and close. Then pick None, unless you want this button to branch into another path, in which case you can link it there instead.
Â
Click on Save selection to > Prescription_convo Â

Â
You can click on the {..} to select the attributes and the scroll down the list until you get the Conversation > Selected Prescription (Prescription CO) options and structure the message however you want it

Select product_name under Conversation > Prescription_convo đ

You will repeat the steps, for it to look like this đ

Â
Here is the full workflow âŹď¸

Â
Run a quick test of your workflow on a live messenger not the preview section đŠđťâđŹ


Youâll see the list of prescriptions appear dynamically based on the userâs People data.

Â
When you select one, your bot will pull the exact details from your Custom Object and display them instantly.

Â
If you add a new prescription to your API, itâll automatically appear in the list the next time that user interacts with the bot. No extra setup needed!
Â
And there you have it, a complete, People Dataâpowered workflow that fetches real-time user information right into Messenger.
Â
This setup ensures your data sticks with your users, not just their conversations, letting you build smarter, more personalized experiences.
Â
Give it a try, and see how you can adapt this flow for your own use cases â loyalty programs, order tracking, or anything else that grows with your users over time. đ
Â
