Create a HubSpot base connection using the Flow Service API

A base connection represents the authenticated connection between a source and Adobe Experience Platform.

This tutorial walks you through the steps to create a base connection for HubSpot using the Flow Service API.

Getting started

This guide requires a working understanding of the following components of Adobe Experience Platform:

  • Sources: Experience Platform allows data to be ingested from various sources while providing you with the ability to structure, label, and enhance incoming data using Experience Platform services.
  • Sandboxes: Experience Platform provides virtual sandboxes which partition a single Experience Platform instance into separate virtual environments to help develop and evolve digital experience applications.

The following sections provide additional information that you will need to know in order to successfully connect to HubSpot using the Flow Service API.

Gather required credentials

In order for Flow Service to connect with HubSpot, you must provide the following connection properties:

Credential
Description
clientId
The client ID associated with your HubSpot application.
clientSecret
The client secret associated with your HubSpot application.
accessToken
The access token obtained when initially authenticating your OAuth integration.
refreshToken
The refresh token obtained when initially authenticating your OAuth integration.
connectionSpec.id
The connection specification returns a source’s connector properties, including authentication specifications related to creating the base and source connections. The connection specification ID for HubSpot is: cc6a4487-9e91-433e-a3a3-9cf6626c1806.

For more information about getting started, refer to this HubSpot document.

Using Experience Platform APIs

For information on how to successfully make calls to Experience Platform APIs, see the guide on getting started with Experience Platform APIs.

Create a base connection

A base connection retains information between your source and Experience Platform, including your source’s authentication credentials, the current state of the connection, and your unique base connection ID. The base connection ID allows you to explore and navigate files from within your source and identify the specific items that you want to ingest, including information regarding their data types and formats.

To create a base connection ID, make a POST request to the /connections endpoint while providing your HubSpot authentication credentials as part of the request parameters.

API format

POST /connections

Request

The following request creates a base connection for HubSpot:

curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/connections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "connection for HubSpot",
        "description": "connection for HubSpot",
        "auth": {
            "specName": "OAuth2 Refresh Code",
            "params": {
                "clientId": "{CLIENT_ID}",
                "clientSecret": "{CLIENT_SECRET}",
                "accessToken": "{ACCESS_TOKEN}",
                "refreshToken": "{REFRESH_TOKEN}"
            }
        },
        "connectionSpec": {
            "id": "cc6a4487-9e91-433e-a3a3-9cf6626c1806",
            "version": "1.0"
        }
    }
Property
Description
auth.params.clientId
The client ID associated with your HubSpot application.
auth.params.clientSecret
The client secret associated with your HubSpot application.
auth.params.accessToken
The access token obtained when initially authenticating your OAuth integration.
auth.params.refreshToken
The refresh token obtained when initially authenticating your OAuth integration.
connectionSpec.id
The HubSpot connection specification ID: cc6a4487-9e91-433e-a3a3-9cf6626c1806.

Response

A successful response returns the newly created connection, including its unique connection identifier (id). This ID is required to explore your data in the next tutorial.

{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}

Create a source connection

A source connection consists of a connection ID, information required to locate the source data, and a connection spec ID. Source connections are used in tandem with base connections, target connections, and mapping IDs to create a dataflow.

To create a source connection, make a POST request to the /sourceConnections endpoint of the Flow Service API, providing your base connection ID and the name of the HubSpot table you want to ingest.

API format

POST /sourceConnections

Request

The following request creates a source connection for HubSpot:

curl -X POST \
    'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
    -H 'Authorization: Bearer {ACCESS_TOKEN}' \
    -H 'x-api-key: {API_KEY}' \
    -H 'x-gw-ims-org-id: {ORG_ID}' \
    -H 'x-sandbox-name: {SANDBOX_NAME}' \
    -H 'Content-Type: application/json' \
    -d '{
        "name": "HubSpot source connection",
        "baseConnectionId": "b4a738db-8696-4e2a-bf95-08d2927c911e",
        "description": "HubSpot source connection",
        "params": {
            "columns": [],
            "tableName": "CRM.Objects.Contacts"
        },
        "data": {
            "format": "tabular",
            "schema": null,
            "properties": null
        },
        "connectionSpec": {
            "id": "cc6a4487-9e91-433e-a3a3-9cf6626c1806",
            "version": "1.0"
        }
    }'
Property
Description
baseConnectionId
The unique connection ID of the HubSpot base connection you created in the previous step.
params.columns
The specific table columns of data that you want to ingest into Experience Platform. Leave this value as an empty array to ingest all columns.
params.tableName
The name of the HubSpot table you want to ingest, in the format <HubSpot Category>.<Sub Category>.<Object Name>. For example: CRM.Commerce.Discounts.
connectionSpec.id
The HubSpot connection specification ID: cc6a4487-9e91-433e-a3a3-9cf6626c1806.

Response

A successful response returns the newly created source connection, including its unique connection identifier (id).

{
    "id": "cbfd6fe0-0d1f-4c26-bd06-f00d1f4c26fc",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0001\""
}

Next steps

By following this tutorial, you have created a HubSpot base connection and source connection using the Flow Service API. You can use these connection IDs in the following tutorials:

recommendation-more-help
experience-platform-help-sources