Connectors / Service / Intercom

Intercom is a customer messaging tool for sales, marketing, and support, connected in a single unified platform. (updated: 1507802654589)

Intercom

Intercom is a customer messaging tool for sales, marketing, and support, connected in a single unified platform.

Overview

Intercom is a messaging platform which allows businesses to communicate with prospective and existing customers within their app, on their website, through social media, or via email.

v2.0

Authentication

When using the Intercom connector, the first thing you will need to do is go to your Tray.io account page, and select the workflow you wish to work on. Once in the workflow builder itself, search and drag the Intercom connector from the connectors panel (on the left hand side) onto your workflow.

With the new Intercom connector step highlighted, in the properties panel on the right, click on 'New Authentication' which is located under the 'Settings' heading.

intercom-auth

This will result in a Tray.io authentication pop-up window. The first page will ask you to name your authentication, and state which type of authentication you wish to create ('Personal' or 'Organisational').

The next page will have a list of permission scopes for you to select (with the option for 'Extra scopes' found at the bottom of the authentication window).

To include certain service permissions, such as 'List all events belonging to user.', tick the box associated with this permission within the Tray.io authentication window. Tick more as per your project needs.

intercom-scopes

Click on the 'Create authentication' button once your scopes are set, and enter your Intercom credentials into the popup window that appears (this window is to allow Tray.io to access your Intercom account information) Then confirm the scopes again.

intercom-oauth

intercom-scopes

Once you have clicked the 'Authorize access' button, go to back to your authentication field (within the workflow dashboard properties panel from earlier), and select the recently added authentication from the dropdown options now available.

Your connector authentication setup should now be complete.

Available Operations

The examples below show one or two of the available connector operations in use.

Please see the Full Operations Reference at the end of this page for details on all available operations for this connector.

Using the Raw HTTP Request ('Universal Operation')

As of version 2.0, you can effectively create your own operations.

This is a very powerful feature which you can put to use when there is an endpoint in Intercom which is not used by any of our operations.

To use this you will first of all need to research the endpoint in the Intercom API documentation v2.0, to find the exact format that Intercom will be expecting the endpoint to be passed in.

Note that you will only need to add the suffix to the endpoint, as the base URL will be automatically set (the base URL is picked up from the value you entered when you created your authentication).

The base URL for Intercom is: https://api.intercom.io

For example, say that the 'List contacts' operation did not exist in our Intercom connector, and you wanted to use this endpoint, you would use the Intercom API docs to find the relevant endpoint - which in this case is a GET request called: List all contacts. More details can be found here.

intercom-get-url

As you can see there is also the option to include a pagination option within a query parameter, should you wish to do so. So if you know what your method, endpoint and details of your query parameters are, you can get the contacts information with the following settings:

Method: GET

Endpoint: /contacts

Query parameters: Key: per_page, Value: 100

Final Example outcome being: https://api.intercom.io/contacts

intercom-raw-http

Example usage

TRAY POTENTIAL: Tray.io is extremely flexible. By design there is no fixed way of working with it - you can pull whatever data you need from other services and work with it using our core and helper connectors. This demo which follows shows only one possible way of working with Tray.io and the Intercom connector. Once you've finished working through this example please see our Introduction to working with data and jsonpaths page and Data Guide for more details.

CONNECTOR-SNAKE: The simplest and easiest way to generate your jsonpaths is to use our feature called the Connector-snake. Please see the main page for more details.

This should automatically generate a jsonpath that looks similar to: $.steps.Intercom-1.data.

intercom-wf-step-2

View the Debug panel for more details on the list data available:

intercom-wf-step-2-debug

Now when the workflow is run, the Loop Collection step will iterate through the each item found within the previously created list.

3 - List Attached Companies

The final step is to drag a final Intercom connector INSIDE of the actual Loop Collection step itself. Set the operation to 'List attached companies'. As you can see, the 'Contact ID' field is required.

In the 'Contact ID' field use the connector-snake once more and assign it to the id value, produced by the Loop Collection connector from the previous step.

intercom-wf-step-3

When run, this workflow will retrieve detailed information about each of the companies found:

intercom-wf-step-3-debug

BEST PRACTICES: Whenever you do decide to create your own workflow, please make sure you take a look at our managing data best practices guide.

All Operations

Latest version:

3.0

Archive contact

Archives a single contact.

Assign conversation

Assigns a conversation to an admin or team. It also can be automatically assigned following assignment rules.

List contact fields DDL

List custom data attributes for company DDL

List custom data attributes for contact DDL

List tags DDL

List teams

Retrieves a list of all teams.

List teams DDL

List user segments DDL

List users DDL

Search conversations

Searches for conversations by the value of their attributes.

Create contact

Creates a new contact (user or lead).

Delete contact

Delete a single contact.

Get note

Returns a note.

Get team

Retrieves a team using an ID.

Attach contact to company

Attaches a single contact to a company.

Attach contact to conversation

Add participants who are contacts to a conversation, on behalf of either another contact or an admin.

Attach tag to contact

Tags a single contact.

Close conversation

Closes a conversation.

Create conversation

Creates in-app conversation initiated by a contact (ie. user or lead).

Create message as admin

Creates a message that has been initiated by an admin. The conversation can be either an in-app message or an email.

Create note

Create a note to a single contact.

Create/update company

Create or update a company in Intercom.

Detach contact from company

Detaches a single contact from a company.

Detach contact from conversation

Detach contact from conversation.

Detach tag from contact

Untags a single contact.

Get admin

Get an admin by their id in Intercom.

List admins

Get a list of all the admins in Intercom.

Get company

Retrieves a company by their Intercom internal ID, company ID, or their name in Intercom.

Get contact

Retrieves the details of a single contact.

Get conversation

Retrives the details of a single conversation.

Get current user

Returns data about the current user.

List admins DDL

List attached companies

Retrieves a list of companies that are associated to a contact.

List attached tags

Retrieves a list of tags that are associated to a contact.

List companies

Get a list of companies in Intercom.

List companies DDL

List companies IDs DDL

List company segments DDL

List contacts

Retrieves a list of all contacts.

List contacts DDL

List contacts attached to company

Retrieves a list of all contacts that belong to a company.

List conversations

Retrieves a list of all conversations.

List conversations DDL

List data attributes

Retrieves a list of available data attributes.

List data events

Retrieves a list of all data events that are less than 90 days old.

List notes

Retrieves a list of all notes.

List segments

Retrieves a list of all segments.

List tags

Retrieves a list of all tags.

Merge contacts

Merges a contact with a role of lead into a contact with a role of user. The contact that's specified as from will be deleted after being merged into the contact specified as into. Attributes that don't exist on the contact specified as into will be copied over.

Open conversation

Opens a conversation.

Raw HTTP request (advanced)

Perform a raw HTTP request with some pre-configuration and processing by the connector, such as authentication.

Reply to conversation

Replies to a conversation with a message from an admin or on behalf of a contact, or with a note for admins.

Search contacts

Searches for contacts by the value of their attributes.

Submit data event

Submits a data events.

Unarchive contact

Unarchives a single contact.

Update contact

Updates an existing contact (user or lead).