Intercom
Manage Intercom contacts and companies, reply to, assign and close conversations, handle tickets, and publish help center articles.
Connect Intercom
- In the sidebar, open Connections and press Add connection.
- Type
intercomand choose Intercom. - Choose Sign in with Intercom.
- Press Sign in with Intercom at the bottom of the sheet, then choose your account in Intercom’s window and allow access.
Or choose Paste your access token, paste it, and press Test and save. It stays until someone deletes it.
Sign in with Intercom, or paste the access token of an app in your workspace (Developer Hub › your app › Configure › Authentication). Set the region your workspace’s data is hosted in.
What if it says “Sign-in isn’t set up here yet”?
Signing in with Intercom needs a Intercom app on this installation, and it has none yet. Until it is set up, Paste your access token works without it.
On Cloud: The sheet says “It’s set up once for everyone who uses this service, not by an organization.”
Self-hosted: An admin of the installation sees Set up Intercom sign-in instead, and sets it up once for everyone. Everyone else sees who to ask.
- Create an app in Intercom’s developer settings (Intercom’s guide).
- In GoRunner, copy the Redirect address to add in Intercom’s developer settings, and add it to the app.
- Paste the Client ID and Client secret, then press Save and sign in.
Can I use my own Intercom app?
Yes. In the sheet, open Use your own Intercom app and paste its Client ID and Client secret. Add the redirect address it shows to your app first. The connection then signs in through your app instead of the installation’s.
Connections says how to sign in again, rename or delete it. In a product that embeds GoRunner, Add connection can be missing: then your provider makes connections for you.
Start a workflow
Add a trigger and choose Intercom. The trigger uses the same connection as the steps.
On Conversation or Contact Created or Updated
Checks Intercom about once a minute and starts a run for each conversation or contact created, or each change to one, since the check before, oldest first. The first check after publishing only takes note of what is there (it starts nothing); changing the trigger starts over the same way. Several changes between two checks start one run, with the record as it is then. At most 100 runs start per check; the rest follow on the next one. (Intercom sends webhooks only to one address per app, set in its Developer Hub, so this trigger checks instead.).
- Trigger on · Required
What starts a run.
Options: New conversation, Conversation updated (a reply, note, assignment, state change …), New contact, Contact updated.
Default: New conversation.
- Contact Role · Optional
Only users, or only leads. Empty: both.
Options: Users, Leads.
Shows when Trigger on is New contact or Contact updated.
A later step can use its data, such as {{trigger.change_type}}, {{trigger.created_at}}, {{trigger.email}} and 5 more. See Use data from earlier steps.
Do things in Intercom
Add an Intercom step, choose a Resource, then an Operation. Choose a row to see its fields.
- ContactCreate · Get · Get Many · Search · Update · Delete · Add Tag · Remove Tag · Attach to Company · Add Note · Merge Lead into User
- CompanyCreate or Update · Get · Get Many · Update · Delete · Get Contacts · Add Tag · Remove Tag
- ConversationCreate · Get · Get Many · Search · Reply · Add Note · Assign · Close · Reopen · Snooze · Add Tag · Remove Tag
- TicketCreate · Get · Search · Update · Reply · Delete
- ArticleCreate · Get · Get Many · Search · Update · Delete
- Data AttributeGet Many · Create · Update
- TagGet Many · Create · Delete
- AdminGet Many · Get
Later steps read a step’s output by its name: see Use data from earlier steps.
Limits
- A reply from Intercom can be up to 16 MB (a file download can have its own limit). A larger one fails the step; it is never cut short.
- When Intercom says to slow down (429), the step waits as long as it asks, if the step’s time allows. Otherwise it fails and says when to try again.
Not in your list? See When an app isn’t here.
For developers
In the API, which calls apps pieces, Intercom is pieceId: "intercom" with actionId: "intercom", set by resource and an operation_… field, such as operation_admin. Its trigger is intercomtrigger / intercom_poll. Get an app returns every field.
It can change something outside the run (writes_external). See How versions and side effects work.
Intercom › Contact
Create
- Role · Optional
A user (signed up) or a lead (not yet). Empty: user on create, unchanged on update (a lead can become a user).
Options: User, Lead.
- Email · Optional
Create needs an Email, an External ID, or the Lead role.
- External ID · Optional
The person's id in your own system (users only).
- Name · Optional
- Phone · Optional
- Avatar URL · Optional
An image of the person.
- Owner · Optional
The admin who owns the contact.
- Signed Up At · Optional
ISO 8601 or Unix seconds.
- Last Seen At · Optional
ISO 8601 or Unix seconds.
- Unsubscribed from Emails · Optional
Options: Unsubscribed, Subscribed.
- Custom Attributes · Optional
Values of your contact data attributes by name: {"plan": "pro"}. Data Attribute › Get Many lists them.
Get and Delete
- Contact ID · Required
The contact's Intercom id, or their link in Intercom.
Get Many
- Return All · Optional
Read every contact, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many contacts to return (1–2000).
Default: 50.
Shows when Return All is off.
Search
- Email · Optional
Find contacts with this email (instead of a Filter).
- Filter · Optional
Or a full Intercom query, such as {"field": "role", "operator": "=", "value": "lead"}. one condition {"field": "email", "operator": "=", "value": "sam@example.com"} or a group {"operator": "AND", "value": [ … ]}. Operators: = != in NIN > < ~ !~ ^ $. Times are Unix seconds.
- Sort By · Optional
A field to sort by, such as updated_at or created_at.
- Sort Order · Optional
Options: Ascending, Descending.
- Return All · Optional
Read every contact, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many contacts to return (1–2000).
Default: 50.
Shows when Return All is off.
Update
- Contact ID · Required
The contact's Intercom id, or their link in Intercom.
- Role · Optional
A user (signed up) or a lead (not yet). Empty: user on create, unchanged on update (a lead can become a user).
Options: User, Lead.
- Email · Optional
Create needs an Email, an External ID, or the Lead role.
- External ID · Optional
The person's id in your own system (users only).
- Name · Optional
- Phone · Optional
- Avatar URL · Optional
An image of the person.
- Owner · Optional
The admin who owns the contact.
- Signed Up At · Optional
ISO 8601 or Unix seconds.
- Last Seen At · Optional
ISO 8601 or Unix seconds.
- Unsubscribed from Emails · Optional
Options: Unsubscribed, Subscribed.
- Custom Attributes · Optional
Values of your contact data attributes by name: {"plan": "pro"}. Data Attribute › Get Many lists them.
Add Tag and Remove Tag
- Contact ID · Required
The contact's Intercom id, or their link in Intercom.
- Tag · Required
The tag.
Attach to Company
- Contact ID · Required
The contact's Intercom id, or their link in Intercom.
- Company ID · Required
The company's Intercom id (not your company_id).
Add Note
- Contact ID · Required
The contact's Intercom id, or their link in Intercom.
- Note · Required
The note's text (HTML allowed).
- Admin · Optional
Who writes the note. Empty: the admin the connection acts as.
Merge Lead into User
- Lead ID · Required
The lead to merge (it is removed).
- User ID · Required
The user it is merged into.
Intercom › Company
Create or Update
- Company ID · Optional
The company's id in your own system. Create or Update finds the company by it, and adds it when there is none.
- Name · Optional
- Plan · Optional
- Size · Optional
Number of employees.
- Website · Optional
- Industry · Optional
- Monthly Spend · Optional
How much the company pays you a month (a whole number).
- Created At (yours) · Optional
When the company was created in your system: ISO 8601 or Unix seconds.
- Custom Attributes · Optional
Values of your company data attributes by name: {"tier": "gold"}.
Get
- Find By · Optional
Options: Intercom ID, Company ID (yours), Name.
- Value · Required
The id or name to find the company by.
Get Many
- Return All · Optional
Read every item, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many items to return (1–2000).
Default: 50.
Shows when Return All is off.
Update
- Company ID · Required
The company's Intercom id, or its link in Intercom.
- Name · Optional
- Plan · Optional
- Size · Optional
Number of employees.
- Website · Optional
- Industry · Optional
- Monthly Spend · Optional
How much the company pays you a month (a whole number).
- Created At (yours) · Optional
When the company was created in your system: ISO 8601 or Unix seconds.
- Custom Attributes · Optional
Values of your company data attributes by name: {"tier": "gold"}.
Delete
- Company ID · Required
The company's Intercom id, or its link in Intercom.
Get Contacts
- Company ID · Required
The company's Intercom id, or its link in Intercom.
- Return All · Optional
Read every item, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many items to return (1–2000).
Default: 50.
Shows when Return All is off.
Add Tag and Remove Tag
- Company ID · Required
The company's Intercom id, or its link in Intercom.
- Tag · Required
The tag's name (adding a name that does not exist yet makes the tag).
Intercom › Conversation
Create
- Contact ID · Required
The user or lead the conversation is from.
- Message · Required
The text (HTML allowed in replies and notes).
Get
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Plain Text · Optional
Return the messages as plain text instead of HTML.
Off by default.
Get Many
- Return All · Optional
Read every conversation, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many conversations to return (1–2000).
Default: 50.
Shows when Return All is off.
Search
- Filter · Required
Intercom's search query: one condition {"field": "email", "operator": "=", "value": "sam@example.com"} or a group {"operator": "AND", "value": [ … ]}. Operators: = != in NIN > < ~ !~ ^ $. Times are Unix seconds.
- Sort By · Optional
A field to sort by, such as updated_at or created_at.
- Sort Order · Optional
Options: Ascending, Descending.
- Return All · Optional
Read every conversation, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many conversations to return (1–2000).
Default: 50.
Shows when Return All is off.
Reply
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Message · Required
The text (HTML allowed in replies and notes).
- Reply As · Optional
An admin's reply in the inbox, or a message from the contact.
Options: Admin, The contact.
- Contact ID · Optional
The contact who writes (Reply As The contact).
Shows when Reply As is The contact.
- Attachment URLs · Optional
Links to files to attach (up to 10), separated by commas.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Add Note
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Message · Required
The text (HTML allowed in replies and notes).
- Attachment URLs · Optional
Links to files to attach (up to 10), separated by commas.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Assign
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Assign To · Required
The admin or team (0: unassigned).
- Message · Optional
An optional note with the change.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Close
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Message · Optional
An optional note with the change.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Reopen
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Snooze
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Snooze Until · Required
When it reopens: ISO 8601 or Unix seconds.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Add Tag and Remove Tag
- Conversation ID · Required
The conversation's id, or its link in the Intercom inbox.
- Tag · Required
The tag.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Intercom › Ticket
Create
- Ticket Type · Required
The kind of ticket (Settings › Tickets).
- Contact ID · Optional
Who the ticket is for. Create needs this or a Contact Email.
- Contact Email · Optional
Or the contact's email (Intercom adds a lead when it is new).
- Title · Optional
The ticket's title.
- Description · Optional
The ticket's description.
- Ticket Attributes · Optional
More of the ticket type's attributes by name: {"Priority": "High"}.
- Company ID · Optional
The company the ticket belongs to (its Intercom id).
Get and Delete
- Ticket ID · Required
The ticket's id (from the API or the trigger: not the #number the inbox shows).
Search
- Filter · Required
Intercom's search query: one condition {"field": "email", "operator": "=", "value": "sam@example.com"} or a group {"operator": "AND", "value": [ … ]}. Operators: = != in NIN > < ~ !~ ^ $. Times are Unix seconds.
- Sort By · Optional
A field to sort by, such as updated_at or created_at.
- Sort Order · Optional
Options: Ascending, Descending.
- Return All · Optional
Read every ticket, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many tickets to return (1–2000).
Default: 50.
Shows when Return All is off.
Update
- Ticket ID · Required
The ticket's id (from the API or the trigger: not the #number the inbox shows).
- Title · Optional
The ticket's title.
- Description · Optional
The ticket's description.
- Ticket Attributes · Optional
More of the ticket type's attributes by name: {"Priority": "High"}.
- Company ID · Optional
The company the ticket belongs to (its Intercom id).
- State · Optional
The ticket's state.
- Open · Optional
Closed: closes (and unsnoozes) the ticket.
Options: Open, Closed.
- Assign To · Optional
The admin or team (0: unassigned).
- Snooze Until · Optional
ISO 8601 or Unix seconds.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Reply
- Ticket ID · Required
The ticket's id (from the API or the trigger: not the #number the inbox shows).
- Message · Required
The reply or note (HTML allowed).
- Kind · Optional
A reply the customer sees, or an internal note.
Options: Reply, Note.
- Admin · Optional
Who acts. Empty: the admin the connection acts as.
Intercom › Article
Create
- Title · Optional
Required to create an article.
- Body · Optional
The article (HTML).
- Description · Optional
A short summary shown under the title.
- Author · Optional
The admin who wrote it. Empty on create: the admin the connection acts as.
- State · Optional
Empty: draft on create, unchanged on update.
Options: Draft, Published.
- Collection ID · Optional
The help center collection it sits in.
Get and Delete
- Article ID · Required
The article's id.
Get Many
- Return All · Optional
Read every article, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many articles to return (1–2000).
Default: 50.
Shows when Return All is off.
Search
- Search Text · Required
Words in the articles.
- State · Optional
Options: Draft, Published.
- Return All · Optional
Read every article, page by page (at most 2000; past that the step fails rather than stop early).
Off by default.
- Limit · Optional
How many articles to return (1–2000).
Default: 50.
Shows when Return All is off.
Update
- Article ID · Required
The article's id.
- Title · Optional
Required to create an article.
- Body · Optional
The article (HTML).
- Description · Optional
A short summary shown under the title.
- Author · Optional
The admin who wrote it. Empty on create: the admin the connection acts as.
- State · Optional
Empty: draft on create, unchanged on update.
Options: Draft, Published.
- Collection ID · Optional
The help center collection it sits in.
Intercom › Data Attribute
Get Many
- Of · Optional
Whose attributes.
Options: Contacts, Companies.
- Include Archived · Optional
Off by default.
Create
- Of · Optional
Whose attributes.
Options: Contacts, Companies.
- Name · Required
The attribute's name.
- Type · Required
Options: Text, Whole number, Decimal number, True or false, Date and time, Date.
Default: Text.
- Description · Optional
- Options · Optional
For a text attribute picked from a list: the values, separated by commas.
- Writable by the Messenger · Optional
Whether the Messenger may set it.
Options: Yes, No.
Update
- Data Attribute ID · Required
The attribute's id (Get Many lists it).
- Description · Optional
- Options · Optional
For a text attribute picked from a list: the values, separated by commas.
- Writable by the Messenger · Optional
Whether the Messenger may set it.
Options: Yes, No.
- Archived · Optional
Options: Archived, Active.
Intercom › Tag
Get Many
Nothing to fill in.
Create
- Name · Required
The tag's name.
Delete
- Tag ID · Required
The tag's id.
Intercom › Admin
Get Many
Nothing to fill in.
Get
- Admin ID · Required
The admin's id.