Import Intercom Data to Google Sheets

In this guide, we’ll walk through how to pull data from the Intercom API directly into Google Sheets, using the API Connector add-on for Google Sheets. We’ll first get an API key from Intercom, and then set up a request to pull in contact and conversation data to your spreadsheet.

PART 1: GET YOUR INTERCOM API KEY

  1. While logged into your Intercom account, navigate to the Developer Hub and click New App.
    intercom-img1
  2. A modal will appear, prompting you for details about your app. You can name it anything, but for this example we’ll name it ‘Google Sheets’. Leave the ‘internal integration’ radio button selected, and click Create App.
    intercom-img2
  3. You’ll now see a page containing your Access Token. Copy this to your clipboard as you’ll need it in a moment. That’s it, you now have access to the Intercom API!
    intercom-img3

PART 2: CREATE YOUR API REQUEST URL

We’ll follow the Intercom documentation to access a list of users.

  • API root: https://api.intercom.io
  • Endpoint: /contacts

Putting it together, we get the full API Request URL:

https://api.intercom.io/contacts

PART 3: PULL INTERCOM API DATA INTO SHEETS

We can now enter our values into API Connector and import Intercom API data into Google Sheets.

  1. Open up Google Sheets and click Add-ons > API Connector > Open.
  2. In the Create screen, enter the Request URL we just created
    intercom-img4
  3. Under Headers, enter two sets of key-value pairs, like this:
    AuthorizationBearer YOUR_API_KEY
    Acceptapplication/json
    Replace YOUR_API_KEY with the key provided above in part 1.

    intercom-img5
  4. Create a new tab and click ‘Set current’ to use that tab as your data destination.
  5. Name your request and click Run. A moment later you’ll see a list of contacts in your Google Sheet:
    intercom-img6

PART 4: MORE EXAMPLE API URLS

Experiment with endpoints and query strings as described in the documentation to see other types of Intercom data. For example, you can try the following URLs:

  • Admins (view other users in your workspace):
https://api.intercom.io/admins
  • Companies (list companies):
https://api.intercom.io/companies
  • Conversations (List conversations you have with users on your system):
https://api.intercom.io/conversations
  • Counts (counts of users and companies by segment):
https://api.intercom.io/counts
  • Data Attributes (attributes used to describe your customer and company models):
https://api.intercom.io/data_attributes
  • Events (events belonging to a specific user. Substitute in the data » id retrieved from the /contacts endpoint):
https://api.intercom.io/events?type=user&intercom_user_id=INTERCOM_USER_ID
  • Notes (view notes about users):
https://api.intercom.io/notes
  • Segments (view your workspace segments):
https://api.intercom.io/segments
  • Teams (view teams in your workspace):
https://api.intercom.io/teams

Handle Pagination

Some Intercom endpoints will return a limited set of data, generally just 10 or 20 records at one time. To retrieve additional data, you can first try appending ?per_page=50 to the end of your URL to bump that up to 50 records (different endpoints have different limits).

To get more than that, you’ll need to follow the pagination links located in the pages » next field, as described here. With API Connector, you can run these as separate requests, or loop through pages automatically using pagination handling (paid feature), like this:
intercom-img8

Leave a Comment