CreateConnectorProfile - Amazon Appflow

CreateConnectorProfile

Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel.

Request Syntax

POST /create-connector-profile HTTP/1.1 Content-type: application/json { "connectionMode": "string", "connectorProfileConfig": { "connectorProfileCredentials": { "Amplitude": { "apiKey": "string", "secretKey": "string" }, "Datadog": { "apiKey": "string", "applicationKey": "string" }, "Dynatrace": { "apiToken": "string" }, "GoogleAnalytics": { "accessToken": "string", "clientId": "string", "clientSecret": "string", "oAuthRequest": { "authCode": "string", "redirectUri": "string" }, "refreshToken": "string" }, "InforNexus": { "accessKeyId": "string", "datakey": "string", "secretAccessKey": "string", "userId": "string" }, "Marketo": { "accessToken": "string", "clientId": "string", "clientSecret": "string", "oAuthRequest": { "authCode": "string", "redirectUri": "string" } }, "Redshift": { "password": "string", "username": "string" }, "Salesforce": { "accessToken": "string", "clientCredentialsArn": "string", "oAuthRequest": { "authCode": "string", "redirectUri": "string" }, "refreshToken": "string" }, "ServiceNow": { "password": "string", "username": "string" }, "Singular": { "apiKey": "string" }, "Slack": { "accessToken": "string", "clientId": "string", "clientSecret": "string", "oAuthRequest": { "authCode": "string", "redirectUri": "string" } }, "Snowflake": { "password": "string", "username": "string" }, "Trendmicro": { "apiSecretKey": "string" }, "Veeva": { "password": "string", "username": "string" }, "Zendesk": { "accessToken": "string", "clientId": "string", "clientSecret": "string", "oAuthRequest": { "authCode": "string", "redirectUri": "string" } } }, "connectorProfileProperties": { "Amplitude": { }, "Datadog": { "instanceUrl": "string" }, "Dynatrace": { "instanceUrl": "string" }, "GoogleAnalytics": { }, "InforNexus": { "instanceUrl": "string" }, "Marketo": { "instanceUrl": "string" }, "Redshift": { "bucketName": "string", "bucketPrefix": "string", "databaseUrl": "string", "roleArn": "string" }, "Salesforce": { "instanceUrl": "string", "isSandboxEnvironment": boolean }, "ServiceNow": { "instanceUrl": "string" }, "Singular": { }, "Slack": { "instanceUrl": "string" }, "Snowflake": { "accountName": "string", "bucketName": "string", "bucketPrefix": "string", "privateLinkServiceName": "string", "region": "string", "stage": "string", "warehouse": "string" }, "Trendmicro": { }, "Veeva": { "instanceUrl": "string" }, "Zendesk": { "instanceUrl": "string" } } }, "connectorProfileName": "string", "connectorType": "string", "kmsArn": "string" }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

connectionMode

Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet.

Type: String

Valid Values: Public | Private

Required: Yes

connectorProfileConfig

Defines the connector-specific configuration and credentials.

Type: ConnectorProfileConfig object

Required: Yes

connectorProfileName

The name of the connector profile. The name is unique for each ConnectorProfile in your AWS account.

Type: String

Length Constraints: Maximum length of 256.

Pattern: [\w/!@#+=.-]+

Required: Yes

connectorType

The type of connector, such as Salesforce, Amplitude, and so on.

Type: String

Valid Values: Salesforce | Singular | Slack | Redshift | S3 | Marketo | Googleanalytics | Zendesk | Servicenow | Datadog | Trendmicro | Snowflake | Dynatrace | Infornexus | Amplitude | Veeva | EventBridge | Upsolver

Required: Yes

kmsArn

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.

Type: String

Length Constraints: Minimum length of 20. Maximum length of 2048.

Pattern: arn:aws:kms:.*:[0-9]+:.*

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "connectorProfileArn": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

connectorProfileArn

The Amazon Resource Name (ARN) of the connector profile.

Type: String

Length Constraints: Maximum length of 512.

Pattern: arn:aws:kms:.*:[0-9]+:.*

Errors

For information about the errors that are common to all actions, see Common Errors.

ConflictException

There was a conflict when processing the request (for example, a flow with the given name already exists within the account. Check for conflicting resource names and try again.

HTTP Status Code: 409

ConnectorAuthenticationException

An error occurred when authenticating with the connector endpoint.

HTTP Status Code: 401

InternalServerException

An internal service error occurred during the processing of your request. Try again later.

HTTP Status Code: 500

ServiceQuotaExceededException

The request would cause a service quota (such as the number of flows) to be exceeded.

HTTP Status Code: 402

ValidationException

The request has invalid or missing parameters.

HTTP Status Code: 400

Examples

Salesforce without OAuth

This example shows a sample request for the CreateConnectorProfile API (without OAuth) and a sample response.

Sample Request

{ "connectorProfileName": "Connector_Profile_Name_Value", "kmsArn": null, "connectorType": "Salesforce", "connectionMode": "Public", "connectorProfileConfig": { "connectorProfileProperties": { "salesforce": { "instanceUrl": "InstanceUrl_value", "isSandboxEnvironment": false } }, "connectorProfileCredentials": { "salesforce": { "accessToken": "<AccessToken>", "refreshToken": "<RefreshToken>", "oauthRequest": { "authCode": null, "redirectUri": null } } } } }

Sample Response

{ "connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connector-profile/Connector_Profile_Name" }

Salesforce with OAuth

These examples show a request with OAuth and a sample response.

Sample Request

{ "connectorProfileName": "connector-profile-name_value", "kmsArn": null, "connectorType": "Salesforce", "connectionMode": "Public", "connectorProfileConfig": { "connectorProfileProperties": { "salesforce": { "isSandboxEnvironment": false } }, "connectorProfileCredentials": { "salesforce": { "oauthRequest": { "authCode": "<AuthCode>", "redirectUri": "redirectUri" } } } } }

Sample Response

{ "connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connector-profile/connector-profile-name" }

Zendesk

This example shows a sample request and response for the CreateConnectorProfile API using Zendesk.

Sample Request

{ "connectorProfileName": "connector-profile-name", "connectorType": "Zendesk", "connectionMode": "Public", "connectorProfileConfig": { "connectorProfileProperties": { "zendesk": { "instanceUrl": "Zendesk_Url" } }, "connectorProfileCredentials": { "zendesk": { "clientId": "aws_integration_to_zendesk", "clientSecret": "<ClientSecret>", "accessToken": "<AccessToken>", "oauthRequest": { "authCode": null, "redirectUri": null } } } } }

Sample Response

{ "connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connector-profile/connector-profile-name" }

Google Analytics

This example shows a sample request and response for the CreateConnectorProfile API using Google Analytics.

Sample Request

{ "connectorProfileName": "connector-profile-name", "connectorType": "Googleanalytics", "connectionMode": "Public", "connectorProfileConfig": { "connectorProfileProperties": { "googleAnalytics": {} }, "connectorProfileCredentials": { "googleAnalytics": { "clientId": "<ClientId>", "clientSecret": "<ClientSecret>", "accessToken": "<AccessToken>", "refreshToken": "<RefreshToken>", "oauthRequest": { "authCode": null, "redirectUri": null } } } } }
{ "connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connector-profile/connector-profile-name" }

Marketo

This example shows a sample request and response for the CreateConnectorProfile API using Marketo.

Sample Request

{ "connectorProfileName": "Connector-profile-new", "connectorType": "Marketo", "connectionMode": "Public", "connectorProfileConfig": { "connectorProfileProperties": { "marketo": { "instanceUrl": "Marketo_Url" } }, "connectorProfileCredentials": { "marketo": { "clientId": "<ClientId>>", "clientSecret": "<ClientSecret>", "accessToken": "<AccessToken>", "oauthRequest": { "authCode": null, "redirectUri": null } } } } }

Sample Response

{ "connectorProfileArn": "arn:aws:appflow:region:<AccountId>:connector-profile/Connector-profile-new" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: