Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Example: Programmatically integrate Amazon S3 with Amazon Connect Customer Profiles - Amazon Connect

Example: Programmatically integrate Amazon S3 with Amazon Connect Customer Profiles

Using the Customer Profiles PutIntegration API, you can programmatically create integrations for S3, Salesforce, Marketo, and more.

In this topic we show how to create an S3 integration with a sync interval of 15 minutes, the minimum value currently supported.

Step 1: Create a JSON file

Create a JSON file with the following contents:

{ "DomainName": "your-domain", "ObjectTypeName": "your-object-name", "FlowDefinition": { "FlowName": "your-flow-name", "KmsArn": "the key ARN is the same as your domain's key", "Description": "Created by Customer Profiles", "TriggerConfig": { "TriggerType": "Scheduled", "TriggerProperties": { "Scheduled": { "ScheduleExpression": "rate(15minutes)", "DataPullMode": "Incremental", "ScheduleStartTime": 1634244800.435, "FirstExecutionFrom": 1594166400 } } }, "SourceFlowConfig": { "ConnectorType":"S3", "SourceConnectorProperties": { "S3": { "BucketName": "your-bucket", "BucketPrefix": "your-prefix" } } }, "Tasks": [ {"TaskType":"Filter","SourceFields":["colA","colB"],"ConnectorOperator":{"S3":"PROJECTION"}}, {"ConnectorOperator":{"S3":"NO_OP"},"DestinationField":"colA","TaskProperties":{},"SourceFields":["colA"],"TaskType":"Map"}, {"ConnectorOperator":{"S3":"NO_OP"},"DestinationField":"colB","TaskProperties":{},"SourceFields":["colB"],"TaskType":"Map"} ] } }

To customize the JSON with your own values, follow these guidelines:

  • FlowName: Can be STRING [a-zA-Z0-9][\w!@#.-]+

  • ScheduleStartTime: Set to the current DateTime + 5 minutes in epoch time.

  • FirstExecutionFrom: Go to S3, look at the file date, and use a date that is before the oldest date.

  • Tasks: Define TaskType. In the Sourcefields field you have to supply ALL the columns you have in your CSV in that array. Then, for each of the items in that array, you need to specify the ConnectorOperator. This example is for a CSV document with two columns: colA and colB.

Step 2: Call the PutIntegration API

After you have created and customized the JSON file with your values, call the PutIntegration API, as shown in the following example:

aws customer-profiles put-integration --cli-input-json file:///put_integration_s3_cli.json --region us-west-2

The response from PutIntegration returns a flow URI. For example:

{ "DomainName": "testDomain", "Uri": "arn:aws:appflow:us-west-2:9999999999999:flow/Customer_Profiles_testDomain_S3_Salesforce-Account_1634244122247", "ObjectTypeName": "your objec type", "CreatedAt": "2021-10-14T13:51:57.748000-07:00", "LastUpdatedAt": "2021-10-14T13:51:57.748000-07:00", "Tags": {} }

Step 3: Call the Amazon AppFlow StartFlow API

Use the flow URI to call the Amazon AppFlow StartFlow API. For example:

aws appflow start-flow —flow-name uri --region us-west-2
PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.