> ## Documentation Index
> Fetch the complete documentation index at: https://www.integrate.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ETL: Connecting to Intercom

> Connect Intercom to Integrate.io ETL for reading customer messaging data. Set up API credentials for both free and premium Intercom accounts.

Integrate.io ETL can access your Intercom data in both free and premium accounts. This article details creating the Intercom connection and the process of building a data pipeline to read Intercom data in Integrate.io ETL. There are also pre-built templates to read data from Intercom. Please see [Create a package from a template](/etl/create-a-package-from-a-template/) for instructions on using a template.

## To create an Intercom connection in Integrate.io ETL

<Steps>
  <Step>
    Click the **Connections** icon (lightning bolt) on the top left menu.
  </Step>

  <Step>
    To create a connection, click **New connection**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-211.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=f5d838e4481b1b83002a97061413a637" alt="New connection button in the Connections menu" width="1200" height="828" data-path="images/connectivity-and-security/image-211.webp" />
    </Frame>
  </Step>

  <Step>
    Select Intercom.

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-212.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=85723554166f7b5da5fa2f4ce79b7c61" alt="Selecting Intercom from the connection type list" width="1200" height="828" data-path="images/connectivity-and-security/image-212.webp" />
    </Frame>
  </Step>

  <Step>
    Click **Authenticate.** (If required, sign in to Intercom)
  </Step>

  <Step>
    Click **Connect** to authorize Integrate.io ETL access to your Intercom account.
  </Step>

  <Step>
    Click **Save Changes** to create connector after setting connector name.

    <Frame>
      <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-213.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=c08787e15dd3ae3106d2e3ab48cfc005" alt="Naming the Intercom connection and saving changes" width="1200" height="828" data-path="images/connectivity-and-security/image-213.webp" />
    </Frame>
  </Step>

  <Step>
    In the new Intercom connection window, name the connection and click **Create Intercom connection.**
  </Step>
</Steps>

## To modify Intercom connections in Integrate.io ETL

<Steps>
  <Step>
    Click the **Connections** icon (lightning bolt) on the top left menu.
  </Step>

  <Step>
    Click a connection to re-connect if your password has changed or the token has expired.
  </Step>

  <Step>
    To delete an Intercom connection, click on the three vertical dots on the far right of the connection listing and select the Delete connection option.
  </Step>
</Steps>

## To build a data pipeline to read Intercom companies data in Integrate.io ETL

<Frame>
  <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-214.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=754935579e8169781c72679424ba97bf" alt="Intercom companies data pipeline overview in the package designer" width="1338" height="1292" data-path="images/connectivity-and-security/image-214.webp" />
</Frame>

## REST API Component: IntercomCompanies

* **Authentication** - Click **Connection** and then select your Intercom connection. If you haven't created your Intercom connection yet, click **+ New** and follow the instructions found above.
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-215.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=d431f15932880193b1fbf1022f1fb72d" alt="REST API component authentication with Intercom connection selected" width="2126" height="854" data-path="images/connectivity-and-security/image-215.webp" />
  </Frame>
* **URL** - Enter the URL for the Companies endpoint of the Intercom API: **[https://api.intercom.io/companies](https://api.intercom.io/companies)**. Make sure the method is set to **GET.**
* **Headers** - Click **Add** and create Content-type, Accept, and Intercom-version headers as shown here:
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-216.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=c78d6936396c87144c025847768825b7" alt="Intercom API headers for Content-type, Accept, and version" width="2150" height="890" data-path="images/connectivity-and-security/image-216.webp" />
  </Frame>
* **Response** - Type \$.companies\[\*] in the Base record JSONPath Expression field.
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-217.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=79ac88abdd7d023801526ebb7aa078af" alt="JSON response with base record JSONPath expression for companies" width="1674" height="700" data-path="images/connectivity-and-security/image-217.webp" />
  </Frame>
* **Input fields** - Click **Select all** to move all the Available fields over to the Selected fields or pick and choose which fields you would like by clicking on the **+** icon next to the field name in the Available Fields column. Then click **Save.**
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-218.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=5a2d6c2609ff076a309716cddebe047f" alt="Input fields selection with available and selected fields" width="1092" height="872" data-path="images/connectivity-and-security/image-218.webp" />
  </Frame>

## Select Component: Companies\_ConvertDates

* Click **Autofill** to bring in all the fields from the source component. If desired, convert the three Unix timestamp fields (created\_at, remote\_created\_at, and updated\_at) into Datetime data types. Multiply the three fields times 1000 and pass the result into the ToDate function (for more information on the ToDate function see [this](/etl/todate/) article) - like this **ToDate(created\_at \* 1000)**. Click **Save.**
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-219.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=f3c93594a40977f347eb4181d469a1d4" alt="Select component converting Unix timestamps with ToDate function" width="2188" height="1424" data-path="images/connectivity-and-security/image-219.webp" />
  </Frame>

## Destination Component: companies\_output

* The template shows a Redshift destination component; however, if you'd prefer to use a different destination, delete the Redshift component and select a destination component of your choice.
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-220.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=5122caa4b2760a5023d1875faf195dd2" alt="Redshift destination component in the pipeline designer" width="1068" height="655" data-path="images/connectivity-and-security/image-220.webp" />
  </Frame>
* **Choose target connection** - Select your target connection. If you haven't created your connection yet, click **+ New.**
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-221.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=4fcaf51798d42e9999b933c0a448651b" alt="Target connection selection dropdown" width="2042" height="682" data-path="images/connectivity-and-security/image-221.webp" />
  </Frame>
* **Destination properties** - Fill in the values for target schema and table, select an operation type, pre or post-action SQL, and advanced options.
* **Schema mapping** - Click **Auto-fill** to bring in all of the fields. If you've selected a Merge operation type, click the **Key** box next to the merge key field(s). Click **Save.**
  <Frame>
    <img src="https://mintcdn.com/integrateio/V1Ns1A4dfxUcZVN3/images/connectivity-and-security/image-222.webp?fit=max&auto=format&n=V1Ns1A4dfxUcZVN3&q=85&s=88b342525cdbd02b2990a49eb621f5cb" alt="Schema mapping with auto-filled fields and merge key selection" width="2146" height="1252" data-path="images/connectivity-and-security/image-222.webp" />
  </Frame>
