Read this guide to learn how you can connect your Salesforce source account to Adobe Experience Platform using the Flow Service API.
This guide requires a working understanding of the following components of Adobe Experience Platform:
For information on how to successfully make calls to Platform APIs, see the guide on getting started with Platform APIs.
Read the steps below for information on how to connect your Salesforce source to Experience PLatform on Azure.
The Salesforce source supports basic authentication and OAuth2 Client Credential.
To connect your Salesforce account to Flow Service using basic authentication, provide values for the following credentials:
Credential | Description |
---|---|
environmentUrl |
The URL of the Salesforce source instance. The format for environmentUrl is https://[domain].my.salesforce.com . |
username |
The username for the Salesforce user account. |
password |
The password for the Salesforce user account. |
securityToken |
The security token for the Salesforce user account. |
apiVersion |
Optional) The REST API version of the Salesforce instance that you are using. The value for the API version must be formatted with a decimal. For example, if you are using API version 52 , then you must input the value as 52.0 . If this field is left blank, then Experience Platform will automatically use the latest available version. |
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 Salesforce is: cfc0fee1-7dc0-40ef-b73e-d8b134c436f5 . |
For more information on getting started, visit this Salesforce document.
To connect your Salesforce account to Flow Service using OAuth 2 Client Credential, provide values for the following credentials:
Credential | Description |
---|---|
environmentUrl |
The URL of the Salesforce source instance. The format for environmentUrl is https://[domain].my.salesforce.com |
clientId |
The client ID is used in tandem with the client secret as part of OAuth2 authentication. Together, the client ID and client secret enable your application to operate on behalf of your account by identifying your application to Salesforce. |
clientSecret |
The client secret is used in tandem with the client ID as part of OAuth2 authentication. Together, the client ID and client secret enable your application to operate on behalf of your account by identifying your application to Salesforce. |
apiVersion |
The REST API version of the Salesforce instance that you are using. The value for the API version must be formatted with a decimal. For example, if you are using API version 52 , then you must input the value as 52.0 . If this field is left blank, then Experience Platform will automatically use the latest available version. This value is mandatory for OAuth2 Client Credential authentication. |
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 Salesforce is: cfc0fee1-7dc0-40ef-b73e-d8b134c436f5 . |
For more information on using OAuth for Salesforce, read the Salesforce guide on OAuth Authorization Flows.
A base connection retains information between your source and 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 and connect your Salesforce account to Experience Platform on Azure, make a POST request to the /connections
endpoint and provide your Salesforce authentication credentials in the request body.
API format
POST /connections
The following request creates a base connection for Salesforce using basic authentication:
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": "ACME Salesforce account",
"description": "Salesforce account using basic authentication",
"auth": {
"specName": "Basic Authentication",
"params":
"environmentUrl": "https://acme-enterprise-3126.my.salesforce.com",
"username": "acme-salesforce",
"password": "xxxx",
"securityToken": "xxxx"
}
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
Property | Description |
---|---|
auth.params.environmentUrl |
The URL of your Salesforce instance. |
auth.params.username |
The username associated with your Salesforce account. |
auth.params.password |
The password associated with your Salesforce account. |
auth.params.securityToken |
The security token associated with your Salesforce account. |
connectionSpec.id |
The Salesforce connection specification ID: cfc0fee1-7dc0-40ef-b73e-d8b134c436f5 . |
A successful response returns your newly created base connection along with its unique ID.
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}
The following request creates a base connection for Salesforce using OAuth 2 Client Credential:
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": "ACME Salesforce account",
"description": "Salesforce account using OAuth 2",
"auth": {
"specName": "OAuth2 Client Credential",
"params":
"environmentUrl": "https://acme-enterprise-3126.my.salesforce.com",
"clientId": "xxxx",
"clientSecret": "xxxx",
"apiVersion": "60.0"
}
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
Property | Description |
---|---|
auth.params.environmentUrl |
The URL of your Salesforce instance. |
auth.params.clientId |
The client ID associated with your Salesforce account. |
auth.params.clientSecret |
The client secret associated with your Salesforce account. |
auth.params.apiVersion |
The REST API version of the Salesforce instance that you are using. |
connectionSpec.id |
The Salesforce connection specification ID: cfc0fee1-7dc0-40ef-b73e-d8b134c436f5 . |
A successful response returns your newly created base connection along with its unique ID.
{
"id": "4cb0c374-d3bb-4557-b139-5712880adc55",
"etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}
This section applies to implementations of Experience Platform running on Amazon Web Services (AWS). Experience Platform running on AWS is currently available to a limited number of customers. To learn more about the supported Experience Platform infrastructure, see the Experience Platform multi-cloud overview.
Read the steps below for information on how to connect your Salesforce source to Experience Platform on AWS.
For information on how to set up your Salesforce account to be able to connect to Experience Platform on AWS, read the Salesforce overview.
To create a base connection and connect your Salesforce account to Experience Platform on AWS, make a POST request to the /connections
endpoint and provide the appropriate values for your credentials.
API format
POST /connections
Request
The following request creates a base connection for the Salesforce source in Experience Platform on AWS.
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 'Content-Type: application/json' \
-d '{
"name": "ACME Salesforce account on AWS",
"description": "ACME Salesforce account on AWS",
"auth": {
"specName": "OAuth2 JWT Token Credential",
"params":
"jwtToken": "{JWT_TOKEN},
"clientId": "xxxx",
"clientSecret": "xxxx",
"instanceUrl": "https://acme-enterprise-3126.my.salesforce.com"
}
},
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
}
}'
For information on how to retrieve your Salesforce jwtToken
, read the guide on how to set up a Salesforce source to connect to Experience Platform on AWS.
Response
A successful response returns your newly created base connection along with its unique ID.
{
"id": "3e908d3f-c390-482b-9f44-43d3d4f2eb82",
"etag": "\"1700df7b-0000-0200-0000-5e3b424f0000\""
}
To verify your connection status, make a GET request to the /connections
endpoint and provide the base connection ID that was generated in the creation step.
API format
GET /connections
Request
The following request retrieves information for base connection ID: 3e908d3f-c390-482b-9f44-43d3d4f2eb82
.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/3e908d3f-c390-482b-9f44-43d3d4f2eb82' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
Response
The following response displays information for base connection ID: 3e908d3f-c390-482b-9f44-43d3d4f2eb82
while in the initializing
state.
{
"items": [
{
"id": "3e908d3f-c390-482b-9f44-43d3d4f2eb82",
"createdAt": 1736506325115,
"updatedAt": 1736506325717,
"createdBy": "acme@techacct.adobe.com",
"updatedBy": "acme@techacct.adobe.com",
"createdClient": "{CREATED_CLIENT}",
"updatedClient": "{UPDATED_CLIENT}",
"sandboxId": "{SANDBOX_ID}",
"sandboxName": "{SANDBOX_NAME}",
"imsOrgId": "{ORG_ID}",
"name": "JWT Token Auth Authentication E2E-1736506322",
"description": "Base Connection for salesforce E2E",
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
},
"state": "initializing",
"auth": {
"specName": "OAuth2 JWT Token Credential",
"params": {
"jwtToken": "{JWT_TOKEN}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}",
"instanceUrl": "https://acme-enterprise-3126.my.salesforce.com"
}
}
}
}
]
The following response displays information for base connection ID: 3e908d3f-c390-482b-9f44-43d3d4f2eb82
while in the enabled
state.
{
"items": [
{
"id": "3e908d3f-c390-482b-9f44-43d3d4f2eb82",
"createdAt": 1736506325115,
"updatedAt": 1736506413299,
"createdBy": "acme@techacct.adobe.com",
"updatedBy": "acme@AdobeID",
"createdClient": "{CREATED_CLIENT}",
"updatedClient": "acme",
"sandboxId": "{SANDBOX_ID}",
"sandboxName": "{SANDBOX_NAME}",
"imsOrgId": "{ORG_ID}",
"name": "JWT Token Auth Authentication E2E-1736506322",
"description": "Base Connection for salesforce E2E",
"connectionSpec": {
"id": "cfc0fee1-7dc0-40ef-b73e-d8b134c436f5",
"version": "1.0"
},
"state": "enabled",
"auth": {
"specName": "OAuth2 JWT Token Credential",
"params": {
"jwtToken": "{JWT_TOKEN}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}",
"instanceUrl": "https://adb8-dev-ed.develop.my.salesforce.com",
"orgId": "00DdL000001iPRxUAM"
}
},
"version": "\"6d27f305-40be-41c3-97d4-a701827c34df\"",
"etag": "\"6d27f305-40be-41c3-97d4-a701827c34df\""
}
]
}
By following this tutorial, you have created a Salesforce base connection using the Flow Service API. You can use this base connection ID in the following tutorials: