Intercom
With Intercom modules in Make, you can manage the contacts, companies, admins, data events, data attributes, tags, notes, and conversations in your Intercom account.
To use the Intercom modules, you must have an Intercom account. You can create an account at https://www.intercom.com/.
Refer to the Intercom API documentation for a list of available endpoints.
Connect Intercom to Make
To establish the connection in Make:
Log in to your Make account, add an Intercom module to your scenario, and click Create a connection.
Note: If you add a module with an
instant
tag, click Create a webhook, then Create a connection.Optional: In the Connection name field, enter a name for the connection.
Optional: Click Show advanced settings and enter your custom app client credentials. For more information, refer to Intercom Authentication documentation.
If requested, use the following Redirect URI when creating your custom app:
https://www.integromat.com/oauth/cb/intercom
.Click Save.
If prompted, authenticate your account and confirm access.
You have successfully established the connection. You can now edit your scenario and add more Intercom modules. If your connection requires reauthorization at any point, follow the connection renewal steps here.
Set up Intercom Webhooks
This app uses webhooks to trigger a scenario when an event occurs instantly. All webhook modules have an instant
tag next to their name.
To set up a webhook, follow these steps:
Add an Intercom
instant
module to your scenario and click Create a webhook.Optional: Enter a name for the webhook in the Webhook name field.
Select the corresponding connection for the webhook in the Connection field.
Click Save > Copy address to clipboard.
Log in to your Intercom account and navigate to your App in your Developer Hub.
In the left sidenav within your Intercom app, click Webhooks and enter your request endpoint URL (the link copied in Step 4 above) in the field provided.
Choose the Topics you will need.
Intercom will now send data to Make through the webhook when the selected event occurs. For more information, refer to the Intercom Setting Up Webhooks documentation.
Build Intercom Scenarios
After connecting the app, you can perform the following actions:
Watch Events
List Contacts
Get a Contact
Create a Contact
Update a Contact
Delete a Contact
Merge a Lead into a User
List a Contact's Companies
List a Contact's Tags
List a Contact's Segments
Get a Contact's Note
List Companies
List Companies (Large Datasets)
Get a Company
Create or Update a Company
List a Company's Contacts
List a Company's Segments
Attach/Deatch a Company to/from a Contact
List Admins
Get an Admin
Set an Admin as Away
List Activity Logs
List Contact's Data Events
Submit a Contact's Event
List Data Attributes
Create/Update a Data Attribute
List Tags
Create/Update a Tag
Delete a Tag
Attach/Detach a Tag to/from a Company
Attach/Detach a Tag to/from a Conversation
Attach/Detach a Tag to/from a Contact
List Segments
Get a Segment
List Contact's Notes
Create a Contact Note
List Conversations
Search for Conversations
Get a Conversation
Create a Contact Initiated Conversation
Create an Admin Initiated Conversation
Assign a Conversation
Attach/Detach a Contact to/from a Conversation
Make a Conversation as Read
Reply to a Conversation
Snooze a Conversation
Close a Conversation
Open a Snoozed or Closed Conversation
Update a Conversation's Custom Attributes
Get an Authenticated User
Make an API Call
Contacts
Retrieves all your contacts (users and leads).
Connection | |
Limit | Set the maximum number of contacts Make should return during one execution cycle. |
Retrieves a contact.
Connection | |
Contact ID | Select or map the Contact ID whose details you want to retrieve. |
Creates a new contact (user or lead).
Connection | |
Role | Select or map the Contact ID whose details you want to retrieve. |
External ID | Enter (map) an External ID |
Enter (map) the email address of the contact. | |
Phone | Enter (map) the contact's email address. |
Name | Enter (map) the contact's name. |
Avatar | Enter (map) the URL address of the contact's avatar. |
Last Seen At | Enter (map) the date and time when the contact was last active. |
Signed Up At | Enter (map) the date and time when the contact signed up in the system. |
Owner ID | Enter (map) the Owner ID of the contact. |
Updates a contact.
Connection | |
Contact ID | Select or ma the Contact ID whose details you want to update. |
Role | Select or map the Contact ID whose details you want to retrieve. |
External ID | Enter (map) an External ID |
Enter (map) the email address of the contact. | |
Phone | Enter (map) the contact's email address. |
Name | Enter (map) the contact's name. |
Avatar | Enter (map) the URL address of the contact's avatar. |
Last Seen At | Enter (map) the date and time when the contact was last active. |
Signed Up At | Enter (map) the date and time when the contact signed up in the system. |
Owner ID | Enter (map) the Owner ID of the contact. |
Deletes a contact.
Connection | |
Contact ID | Select or map the Contact ID you want to delete. |
Merges a lead into a user.
Connection | |
Lead ID | Select or map the Lead ID you want to merge into a user. This contact (lead) will be deleted after merging. |
User ID | Select or map the User ID with which you merge the lead. This contact (user) will remain. Attributes that don't exist on this contact will be copied over from the lead contact. |
Retrieves the list of companies associated with a contact.
Connection | |
Contact ID | Select or map the Contact ID whose companies you want to list. |
Limit | Set the maximum number of companies Make should return during one execution cycle. |
Retrieves the list of tags associated with a contact.
Connection | |
Contact ID | Select or map the Contact ID whose tags you want to list. |
Limit | Set the maximum number of tags Make should return during one execution cycle. |
Retrieves all segments that belong to a contact.
Connection | |
Contact ID | Select or map the Contact ID whose segments you want to list. |
Limit | Set the maximum number of segments Make should return during one execution cycle. |
Retrieves a note associated with a contact.
Connection | |
Contact ID | Select or map the Contact ID whose note details you want to retrieve. |
Note ID | Select or map the Note ID whose details you want to retrieve. |
Companies
Retrieves all companies with associated users.
Connection | |
Order | Select or map the order in which you want to list the companies:
|
Filter by | Select or map the option to filter the companies based on the specified filter:
|
Segment ID | Select or map the Segment ID to filter the companies based on the specified segment. |
Tag ID | Select or map the Tag ID to filter the companies based on the specified tag. |
Limit | Set the maximum number of companies Make should return during one execution cycle. |
Retrieves all companies. This module is a variant of the List Companies module and is intended for large datasets.
Connection | |
Limit | Set the maximum number of companies Make should return during one execution cycle. |
Retrieves a company.
Connection | |
Select Company | Select or map the option to choose the method for retrieving the company details. |
Company Name | Select or map the company name whose details you want to retrieve. |
External Company ID | Select or map the External Company ID whose details you want to retrieve. |
Creates or updates a company.
Connection | |
Company ID | Select or map the Company ID to update an existing company, to create a new company, use the map option and enter the new company name. |
Name | Enter (map) the company name. |
Plan | Enter (map) the plan in which you want to add the company. |
Remote Created At | Enter (map) the date and time at which you are creating the company in the system. |
Number of Employees | Enter (map) the number of employees working in the company. |
Monthly Revenue | Enter (map) the monthly revenue of the company. The value must be lower than or equal to 2147483647. |
Website | Enter (map) the URL address of the company. |
Industry | Enter (map) the industry in which the company does business. For example, automobiles. |
Custom Attributes | Add the custom attributes of the company. For example, Date of the establishment. |
Retrieves all contacts attached to a company.
Connection | |
Internal Company ID | Select or map the Company ID to list the specified company's contacts. |
Order | Select or map the order in which you want to list the contacts. |
Limit | Set the maximum number of contacts Make should return during one execution cycle. |
Retrieves all segments that belong to a company.
Connection | |
Contact ID | Select or map the Contact ID whose segments you want to list. |
Order | Select or map the order in which you want to list the segments. |
Limit | Set the maximum number of segments Make should return during one execution cycle. |
Attaches or detaches a company from a user.
Connection | |
Attach or Detach | Select or map the action you want to perform:
|
Internal Company ID | Select or map the Internal Company ID you want to attach or detach from the contact. |
Contact ID | Select or map the Contact ID from which you want to attach or detach a contact. |
Admins
Retrieves all your admins.
Connection | |
Limit | Set the maximum number of admins Make should return during one execution cycle. |
Retrieves an admin.
Connection | |
Admin ID | Select or map the Admin ID whose details you want to retrieve. |
Sets an admin on "away" for the inbox.
Connection | |
Admin ID | Select or map the Admin ID whose status you want to set as away. |
Away Mode Enabled | Select the checkbox to enable the status of the admin to away mode. |
Away Mode Reassign | Select whether you want to assign any new conversation replies to your default inbox. |
Retrieves a log of activities by all admins.
Connection | |
Created At After | Enter (map) the date and time to list the activity logs that were created on or after the specified date. |
Created At Before | Enter (map) the date and time to list the activity logs that were created on or before the specified date. |
Limit | Set the maximum number of activity logs Make should return during one execution cycle. |
Data Events
Retrieves a contact's events from the last 90 days.
Connection | |
Select Contact | Select or map the method to choose the contact whose events you want to list for the last 90 days:
|
Contact ID | Select or map the Contact ID whose data events you list. |
Summary | Select whether you want to group the event count returns by event name. |
Limit | Set the maximum number of data events Make should return during one execution cycle. |
Submits a contact event.
Connection | |
Event Name | Enter (map) an event name. |
Created At | Enter (map) the date and time when the event is created. |
Contact ID | Select or map the Contact ID whose event you want to submit. |
Metadata Source | Select or map the option to add the metadata:
|
Metadata | Add the metadata: Key - Enter (map) the details of the key. For example, currency. Value - Enter (map) the value for the key. Value can be any type from Intercom Event Metadata types. For the types, Rich Link and **Monetary Amount**, enter JSON. For example: |
Data Attributes
Retrieves the data attributes of the contact or company entity.
Connection | |
Model | Select or map the model whose data attributes you want to list. |
Include Archived | Select whether you want to include the archived data attributes in the output. |
Limit | Set the maximum number of data attributes Make should return during one execution cycle. |
Creates or updates a data attribute for contacts or companies.
Connection | |
Create or Update Data Attribute | Select or map the action you want to perform:
|
Contact or Company Data Attribute | Select or map the option of the data attribute:
|
Data Type | Select or map the data type:
|
Name | Enter (map) a name for the data attribute. |
Label | Enter (map) an applicable label for the attribute. |
Description | Enter (map) the details of the data attribute. |
Options | Add the options, if the type of the data attribute is |
Archived | Select whether you want to archive the data attribute. |
Tags
Retrieves all your tags.
Connection | |
Limit | Set the maximum number of tags Make should return during one execution cycle. |
Creates or updates a tag.
Connection | |
Tag Name | Enter (map) the tag's name. |
Tag ID | Select or map the Tag ID you want to update otherwise leave this field blank. |
Deletes a tag.
Connection | |
Tag ID | Select or map the Tag ID you want to delete. |
Attaches or detaches a tag from a company.
Connection | |
Attach or Detach | Select or map the action your want to perform:
|
Companies | Select or map the company to which you want to attach or detach a tag. |
Tag Name | Select or map the tag you want to attach or detach. |
Attaches or detaches a tag from a conversation.
Connection | |
Attach or Detach | Select or map the action your want to perform:
|
Tag ID | Select or map the Conversation ID to which you want to attach or detach a tag. |
Tag Name | Select or map the tag you want to attach or detach. |
Admin ID | Select or map the Admin ID who is attaching or detaching the tag. |
Attaches or detaches a tag from a user.
Connection | |
Attach or Detach | Select or map the action your want to perform:
|
Tag ID | Select or map the Tag ID you want to attach or detach from the contact. |
Contact ID | Select or map the Contact ID from which you want to attach or detach the tag. |
Segments
Retrieves all your segments.
Connection | |
Type | Select or map the Segment type:
|
Limit | Set the maximum number of segments Make should return during one execution cycle. |
Retrieves a segment.
Connection | |
Type | Select or map the segment type:
|
Segment ID | Select or map the Segment ID whose details you want to retrieve. |
Notes
Retrieves all notes associated with a contact.
Connection | |
Contact ID | Select or map the Contact ID whose notes you want to list. |
Limit | Set the maximum number of notes Make should return during one execution cycle. |
Creates a note associated with a contact.
Connection | |
Contact ID | Select or map the Contact ID whose notes you want to list. |
Text | Enter (map) the note's text you want to add to the contact. |
Admin ID | Select or map the Admin ID who is adding the note. |
Conversations
Retrieves all your conversations.
Connection | |
Order | Select or map the order in which you want to sort the conversations:
|
Sort By | Select or map the option to sort the conversations:
|
Before Date | Enter (map) a date to search the conversations created or updated before the specified date. |
Limit | Set the maximum number of segments Make should return during one execution cycle. |
Searches for conversations matching a query.
Connection | |
Single or Multiple Filter | Select the filters you want to add to search the conversations:
|
Operator | Select or map the operator. For example, Equals to, Not Equals. |
Field | Select or map the field. For example, Tag ID. |
Value | Enter (map) the value to apply the filter. For example, tag name. |
Retrieves a conversation.
Connection | |
Conversation ID | Select or map the Conversation ID whose details you want to update. |
Create a conversation initiated by a user or lead.
Connection | |
Contact ID | Select or map the Contact ID to create the conversation. You can also use a visitor ID, this visitor will be automatically converted to contact with a lead role once the conversation is created. |
Message Body | Enter (map) the body text. |
Creates a message for an in-app conversation or email conversation.
Connection | |
Message Type | Select or map the message type:
|
Message Body | Enter (map) the body text. |
From Admin ID | Select or map the Admin ID who is initiating the conversation. |
To Contact ID | Select or map the Contact ID to whom you want to assign a conversation. |
Assigns a conversation to an admin or team.
Connection | |
Conversation | Enter (map) the conversation you want to assign to an admin or team. |
Assignment Options | Select or map the assignment options:
|
Assignee | Select or map the assignee to whom you want to assign the conversation. |
Admin | Select or map the admin to whom you want to assign the conversation. |
Note | Enter (map) the note for assigning the conversation. |
Attaches or detaches a contact from a conversation.
Connection | |
Attach or Detach | Select or map the action you want to perform:
|
Admin or Contact | Select or map the admin or contact as a conversation participant on behalf of either another contact or an admin. |
Admin ID | Select or map the Admin ID to add as a conversation participant. |
Contact ID | Select or map the Contact ID to add as a conversation participant. |
Select Contact | Select or map the option to select the customer to add the conversation:
|
Contact ID | Select or map the Contact ID to whom you want to send the conversation. |
Conversation ID | Enter (map) the conversation ID you want to attach or detach. |
Limit | Set the maximum number of conversations Make should return during one execution cycle. |
Marks a conversation as read.
Connection | |
Conversation ID | Select or map the Conversation ID which you want to mark as read. |
Replies to a conversation with a message on behalf of contact or admin or with a note for admins.
Connection | |
Type | Select or map the reply type:
|
Message Type | Select or map message type you want to send:
|
Conversation or Contact's Last Conversation | Select or map the conversation type:
|
Contact ID | Select or map the Contact ID associated with the conversation. |
Admin ID | Select or map the Admin ID associated with the conversation. |
Select Contact | Select or map the option to select the customer to add the conversation:
|
Contact ID | Select or map the Contact ID associated with the conversation. |
Message | Enter (map) the reply message text. |
Attachment URL's | Add the attachment's URL address that you want to send with the reply: |
Snoozes a conversation to reopen on a future date.
Connection | |
Conversation | Select or map the conversation you want to snooze. |
Admin ID | Select or map the Admin ID who is snoozing the conversation |
Snoozed Until | Enter (map) the time in seconds until which you want to snooze the conversation. |
Closes a conversation.
Connection | |
Conversation | Select the conversation you want to close. |
Admin | Select the admin who is authoring the conversation. |
Message | Enter the message for closing the conversation. |
Open a snoozed or closed conversation.
Connection | |
Conversation | Select the conversation you want to open. |
Admin | Select the admin who is opening the conversation. |
Updates the custom attributes of a conversation.
Connection | |
Conversation ID | Select the conversation you want to update. |
Custom Attributes | Add the custom attributes for the conversation to update. |
Other
Receives notifications for all events.
Webhook Name | Enter a name for the webhook. |
Connection |
For more information, see Intercom Webhooks.
Retrieves the authenticated user.
Performs an arbitrary authorized API call.
Connection | |
URL | Enter a path relative to NoteFor the list of available endpoints, refer to the Intercom API Documentation. |
Method | Select the HTTP method you want to use: GET to retrieve information for an entry. POST to create a new entry. PUT to update/replace an existing entry. PATCH to make a partial entry update. DELETE to delete an entry. |
Headers | Enter the desired request headers. You don't have to add authorization headers; we already did that for you. |
Query String | Enter the request query string. |
Body | Enter the body content for your API call. |
The following API call returns all the segments from your Intercom account.
Matches of the search can be found in the module's Output under Bundle > Body > segments. In our example, 5 segments were returned: