Custom Objects allow you to extend Intercom's standard People and Conversation objects to store data that represents your business in a more flexible way. References allow you to define how those objects are related to each other so that relevant data can be displayed to the right people.
Reference types
Referencing multiple objects
This is a more common type of reference. For example, multiple orders might belong to the same person, but an order can belong to one person only. So you could create a Custom Object called “Order” and create both a People reference and an Order reference attribute to relate them to each other.
In your Custom Object called "Order":
In your People attribute:
Referencing single object
Another type of reference is "one-to-one" reference. For example, you have lots of people in your system, and you require them to provide passport details to book a flight.
Assuming a person can only have one passport at a time and a passport can belong to one person only, you would create a Custom Object for “Passport” with attributes for “passport_number” and “expiry_date” and then create a reference which links it to the person with the 'Allow referencing to multiple people' toggle off.
And on the People attribute side, you create a reference to the "Passport" object with the toggle off as well.
In your Custom Object called "Passport":
In your People attribute:
Editing reference types
References can still be edited once you've saved them except their names. Please note that if you edit the toggle, all existing associations for this may be deleted. This means bots and Data connectors that use this attribute might fail.
Using Custom Objects in workflow buttons
When using Custom Objects in workflow buttons, you need two conversation attributes that reference your Custom Object type: one to display options; and one to store the user's selection.
Before you start
Create two conversation attributes that both reference your Custom Object type:
Display attribute — set to "reference many" so it can store all options returned by your data connector. It's used to generate the buttons shown to the customer.
Selection attribute — set to "reference one" so it stores the customer's single choice.
Setting up the data connector
When creating your data connector, the setup follows this order:
Name and description — give the connector a clear name (e.g., "Get order options") and describe when teammates should use it. This is configured at the beginning of the setup.
Object mapping — map your API response fields to the relevant Custom Object attributes. Make sure to map the ID to the
external_idfield to avoid duplicates.Update references from People or Conversations — this is the final step in the object mapping section. Select the display attribute ("reference many") here so the data connector populates the button options in your workflow.
Setting up the workflow step
In your workflow's Custom Object selector step:
Button generation — use the display attribute ("reference many") to read and show all options.
User selection — use the selection attribute ("reference one") to save the customer's choice.
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts




