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:
clientIdclientSecretaccessTokenrefreshTokenconnectionSpec.idcc6a4487-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"
}
}
auth.params.clientIdauth.params.clientSecretauth.params.accessTokenauth.params.refreshTokenconnectionSpec.idcc6a4487-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"
}
}'
baseConnectionIdparams.columnsparams.tableName<HubSpot Category>.<Sub Category>.<Object Name>. For example: CRM.Commerce.Discounts.connectionSpec.idcc6a4487-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: