Amazon AppFlow
User Guide
Amazon AppFlow: User Guide
Copyright © Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by Amazon.
Table of Contents
What is Amazon AppFlow? ... 1
Use cases ... 1
Related AWS services ... 2
Overview ... 4
Supported Amazon AppFlow Connectors ... 4
General information ... 4
Getting started ... 6
Prerequisites ... 6
Create a flow using the AWS console ... 7
Create a flow using the AWS CLI ... 9
Create a flow using the Amazon AppFlow APIs ... 11
Create a flow using CloudFormation resources ... 13
Supported applications ... 18
Amazon S3 ... 18
Requirements ... 19
Connection instructions ... 19
Notes ... 19
Related resources ... 20
Amazon Redshift ... 20
Requirements ... 21
Connection instructions ... 22
Notes ... 23
Related resources ... 23
Amazon EventBridge ... 24
Requirements ... 24
Connection instructions ... 24
Notes ... 25
Related resources ... 25
Amazon Honeycode ... 25
Setup instructions ... 26
Notes ... 26
Related resources ... 26
Amazon Lookout for Metrics ... 27
Requirements ... 27
Setup instructions ... 27
Notes ... 28
Related resources ... 28
Amplitude ... 28
Requirements ... 29
Connection ... 29
Notes ... 30
Related resources ... 30
Datadog ... 31
Requirements ... 31
Connection instructions ... 31
Notes ... 32
Related resources ... 32
Dynatrace ... 33
Requirements ... 33
Connection instructions ... 33
Notes ... 34
Related resources ... 34
Google Analytics ... 35
Requirements ... 35
Connection instructions ... 35
Notes ... 36
Related resources ... 38
Infor Nexus ... 38
Requirements ... 38
Connection instructions ... 38
Notes ... 39
Marketo ... 39
Requirements ... 40
Connection instructions ... 40
Notes ... 41
Related resources ... 42
Salesforce ... 42
Requirements ... 42
Connection instructions ... 43
Notes ... 46
Related resources ... 47
Salesforce Pardot ... 48
Requirements ... 48
Setup instructions ... 49
Notes ... 49
Related resources ... 49
SAP OData ... 50
Requirements ... 50
Setup instructions ... 51
Advanced capabilities ... 54
Notes ... 55
Related resources ... 56
ServiceNow ... 56
Requirements ... 56
Connection instructions ... 56
Notes ... 57
Related resources ... 58
Singular ... 58
Requirements ... 58
Connection instructions ... 58
Notes ... 59
Related resources ... 59
Slack ... 59
Requirements ... 60
Connection instructions ... 60
Notes ... 61
Related resources ... 61
Snowflake ... 62
Requirements ... 62
Connection instructions ... 62
Related resources ... 64
Trend Micro ... 64
Requirements ... 64
Connection instructions ... 64
Notes ... 65
Related resources ... 65
Upsolver ... 65
Requirements ... 66
Setup instructions ... 66
Notes ... 66
Related resources ... 67
Veeva ... 67
Requirements ... 67
Connection instructions ... 67
Extract Veeva VAULT documents with Amazon AppFlow ... 68
Notes ... 70
Related resources ... 70
Zendesk ... 70
Requirements ... 70
Connection instructions ... 71
Notes ... 72
Related resources ... 73
Managing connections ... 74
Managing flows ... 77
Activate a flow ... 77
Edit a flow ... 78
Delete a flow ... 78
Flow triggers ... 78
On demand ... 79
Event-triggered ... 79
Schedule-triggered ... 79
Private flows ... 80
Flow notifications ... 81
Common fields ... 82
Flow event detail fields ... 82
Security ... 85
Data protection ... 85
Encryption at Rest ... 86
Encryption in Transit ... 86
Key Management ... 86
Connection credentials ... 86
Identity and access management ... 87
Audience ... 88
Authenticating with identities ... 88
Managing access using policies ... 90
How Amazon AppFlow works with IAM ... 91
Managing user permissions ... 97
Identity-based policy examples ... 99
Amazon S3 Bucket Policies for Amazon AppFlow ... 103
AWS managed policies ... 106
Troubleshooting ... 110
Compliance validation ... 111
Resilience ... 112
Infrastructure security ... 112
Quotas ... 113
CloudTrail logs ... 115
Amazon AppFlow information in CloudTrail ... 115
Understanding Amazon AppFlow log file entries ... 116
Document history ... 117
Use cases
What is Amazon AppFlow?
Amazon AppFlow is a fully-managed integration service that enables you to securely exchange data between software as a service (SaaS) applications, such as Salesforce, and AWS services, such as Amazon Simple Storage Service (Amazon S3) and Amazon Redshift. For example, you can ingest contact records from Salesforce to Amazon Redshift or pull support tickets from Zendesk to an Amazon S3 bucket. The following diagram illustrates how it works:
In addition to this User Guide, you can also refer to the Amazon AppFlow API Reference.
Amazon AppFlow enables you to do the following:
• Get started quickly — Create data flows to transfer data between a source and destination in minutes, without writing any code.
• Keep your data in sync — Run flows on demand or on a schedule to keep data in sync across your SaaS applications and AWS services.
• Bring your data together — Aggregate data from multiple sources so that you can train your analytics tools more effectively and save money.
• Keep track of your data — Use Amazon AppFlow flow management tools to monitor what data has moved where and when.
• Keep your data secure — Security is a top priority. We encrypt your data at rest and in transit.
• Transfer data privately — Amazon AppFlow integrates with AWS PrivateLink to provide private data transfer over AWS infrastructure instead of public data transfer over the internet.
• Develop custom connectors — Use the Amazon AppFlow Custom Connector SDKs to build connectors for data sources that aren't already integrated with the service. With custom connectors, you can transfer data between private APIs, on-premise systems, other cloud services, and AWS. The SDKs are available on GitHub:
• Amazon AppFlow Custom Connector SDK (Python)
• Amazon AppFlow Custom Connector SDK (Java)
For a list of Amazon AppFlow Regions, see Amazon AppFlow Regions and Endpoints in the AWS General Reference.
Use cases
Following are some example uses cases that illustrate the benefits of using Amazon AppFlow.
Transfer Salesforce opportunities to Amazon Redshift tables
Create a flow triggered on each new record created in Salesforce Cloud that calculates the sales potential and then transfers the modified record to an Amazon Redshift table.
Analyze Slack conversations
Related AWS services
Create a flow triggered on a schedule that transfers conversation data from a Slack channel to Amazon Redshift, Snowflake, or Amazon S3 for storage and analysis.
Transfer support tickets from Zendesk for storage and analysis
Create a manually triggered flow for all tickets with a common case number in Zendesk that transfers ticket data to Amazon Redshift, Snowflake, or Amazon S3 for storage and analysis.
Transfer aggregate data weekly to S3 at 100GB per flow
Create a flow triggered on a weekly schedule to transfer Salesforce, Marketo, ServiceNow, and Zendesk data to Amazon S3 in aggregate up to 100GB per flow with low latency.
Related AWS services
You can use the following services with Amazon AppFlow.
AWS CloudTrail
Amazon AppFlow is integrated with AWS CloudTrail, a service that provides a record of actions taken by a user, role, or an AWS service in Amazon AppFlow. CloudTrail captures all API calls for Amazon AppFlow as events. The calls captured include calls from the Amazon AppFlow console and code calls to the Amazon AppFlow API operations. If you create a trail, you can enable continuous delivery of CloudTrail events to an Amazon S3 bucket, including events for Amazon AppFlow. If you don't configure a trail, you can still view the most recent events in the CloudTrail console in Event history. Using the information collected by CloudTrail, you can determine the request that was made to Amazon AppFlow, the IP address from which the request was made, who made the request, when it was made, and additional details. For more information, see Logging Amazon AppFlow API calls with AWS CloudTrail in the Amazon AppFlow User Guide.
AWS CloudFormation
AWS CloudFormation provides a common language for you to model and provision AWS and third party application resources in your cloud environment. AWS CloudFormation allows you to use programming languages or a simple text file to model and provision, in an automated and secure manner, all the resources needed for your applications across all regions and accounts. This gives you a single source of truth for your AWS and third party resources. Amazon AppFlow supports AWS CloudFormation for creating and configuring Amazon AppFlow resources along with the rest of your AWS infrastructure—in a secure, efficient, and repeatable way. For more information, see AWS::AppFlow::ConnectorProfile and AWS::AppFlow::Flow in the AWS CloudFormation User Guide.
Amazon EventBridge
Amazon AppFlow integrates with Amazon EventBridge to receive events from Amazon AppFlow sources such as Salesforce. This enables you to publish events ingested by Amazon AppFlow to a partner event bus in Amazon EventBridge. Amazon AppFlow supports the ingestion of Salesforce Platform events and Change Data Capture events. You can configure rules in Amazon EventBridge to match patterns from events such as those from Salesforce, and then route them to AWS services such as AWS Lambda, AWS Step Functions, Amazon Simple Queue Service, and others. You can also use Amazon AppFlow’s private data transfer option to ensure that events don't get exposed to the public internet during transfers between AWS and Salesforce, improving security and minimizing risks of Internet-based attack vectors.
For more information, see the Amazon EventBridge documentation page in the Amazon AppFlow User Guide.
AWS Identity and Access Management (IAM)
IAM is an AWS service that helps an administrator securely control access to AWS resources. Amazon AppFlow integrates with the IAM service so that you can control who in your organization has access
Related AWS services
to Amazon AppFlow. As an AWS root user or an IAM user with administrator access, you can add one or more users to your AWS account. You can also grant different levels of access to new and existing users.
You can grant access using predefined identity-based policies, or you can create your own custom policy.
For more information, see AWS Identity and Access Management for Amazon AppFlow in the Amazon AppFlow User Guide.
Supported Amazon AppFlow Connectors
Overview of Amazon AppFlow
source and destination connectors
Amazon AppFlow is a bi-directional data transfer service; however, not all source-destination combinations are currently supported.
Following is the compatibility matrix for Amazon AppFlow connectors for the us-east-1 region.
Supported Amazon AppFlow Connectors
Source Destination
Amplitude Yes Yes
Datadog Yes Yes Yes Yes Yes Yes Yes
Dynatrace Yes Yes Yes Yes Yes Yes Yes Yes
Analytics Yes Yes Yes
Infornexus Yes Yes Yes Yes Yes Yes Yes Yes
Marketo Yes Yes Yes Yes Yes Yes Yes Yes Yes
Pardot Yes Yes Yes Yes Yes Yes Yes Yes Yes
SAPOData Yes
Salesforce Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
ServiceNow Yes Yes Yes Yes Yes Yes Yes Yes Yes
Singular Yes Yes Yes Yes Yes Yes Yes Yes
Slack Yes Yes Yes Yes Yes Yes Yes
Trendmicro Yes Yes Yes Yes Yes Yes Yes Yes
Veeva Yes Yes Yes Yes Yes Yes Yes Yes
Zendesk Yes Yes Yes Yes Yes Yes Yes Yes Yes
S3 Yes Yes Yes Yes Yes Yes Yes
General information for all applications
The following general information applies to all supported source and destination applications.
General information
Source and destination API limits
The API calls that Amazon AppFlow makes to data sources and destinations count against any API limits for that application. For example, if you set up an hourly flow that pulls 5 pages of data from Salesforce, Amazon AppFlow will make a total of 120 daily API calls (24x5=120). This will count against your 24-hour Salesforce API limit. Exact API limits can vary depending on your licensing with the SaaS application.
IP address ranges
Amazon AppFlow operates from the AWS IP address ranges shown in the Amazon Web Services General Reference Guide. Configuring a flow connection with an incorrect URL, URI, or IP address range can return a bad gateway error. If you encounter this error, we recommend deleting your connection and creating a new one with the correct URL, URI, or IP address range. For instructions on how to create a new connection for your SaaS application, see Supported source and destination applications (p. 18).
NoteYou can't use IP allow listing in your S3 bucket policy to deny access to any other IP addresses besides Amazon AppFlow IP addresses. This is because Amazon AppFlow uses a VPC endpoint when placing data in your Amazon S3 buckets. For more information about Amazon AppFlow Regions and endpoints, see Amazon AppFlow Regions and Endpoints in the AWS General Reference.
Schema changes
Amazon AppFlow only supports the automatic import of newly created Salesforce fields into Amazon S3 without requiring the user to update their flow configurations. For other source applications, Amazon AppFlow does not currently support schema changes, but you can edit your flow to reload the fields and update your mapping. For more information on how to edit a flow, see Edit an Amazon AppFlow flow (p. 78).
NoteIf the source or destination fields in a flow's configuration are deleted from the source or destination application (including Salesforce), then the flow run will fail. To prevent failed flows, we recommend that you edit your flows to remove deleted fields from the mapping.
Prerequisites
Getting started with Amazon AppFlow
This section provides an introduction to Amazon AppFlow with procedures for creating a flow with the AWS console, AWS CLI, APIs, or CloudFormation resources. The following diagram illustrates how you can use Amazon AppFlow to transfer and enrich data from a data source to a data destination in your flow:
Tasks
• Prerequisites (p. 6)
• Create a flow using the AWS console (p. 7)
• Create a flow using the AWS CLI (p. 9)
• Create a flow using the Amazon AppFlow APIs (p. 11)
• Create a flow using CloudFormation resources (p. 13)
Prerequisites
Complete the following prerequisites before getting started with Amazon AppFlow.
• AWS account setup — If you don't have an AWS account, you must create one. For more information, see How to create and activate a new AWS account.
• SaaS application setup — You must verify that you have the required information about the source and destination applications, and that they meet the relevant configuration requirements. For application-specific requirements and setup instructions, see Supported source and destination applications (p. 18).
• AWS CloudFormation OAuth — If you want to use AWS CloudFormation to create a connector profile for connectors that implement OAuth (such as Salesforce, Slack, Zendesk, and Google Analytics), you must fetch the access and refresh tokens. You can do this by implementing your own UI for OAuth, or by retrieving them from elsewhere. Alternatively, you can use the Amazon AppFlow console to create the connector profile, and then use that connector profile in the flow creation AWS CloudFormation template.
Create a flow using the AWS console
• Data encryption — Amazon AppFlow encrypts your data and connection details during transit and at rest. For more information, see Data protection in Amazon AppFlow (p. 85). When you configure a flow, you specify an AWS Key Management Service CMK to use for encryption. You can choose the AWS managed customer master key (CMK) that Amazon AppFlow creates by default, named AWSDefaultEncryptionKey, or you can choose a customer managed CMK that you create. To create a CMK, see Creating symmetric CMKs in the AWS Key Management Service Developer Guide. For examples of how to set IAM permissions for KMS access, see Amazon AppFlow policy examples.
• Identity and access management — If you access AWS as an IAM user, your administrator must grant you the permissions required to create and run flows. For more information, see Identity and access management for Amazon AppFlow.
Create a flow using the AWS console
There are several ways to gets started with creating your first flow by using the AWS console user interface, AWS CLI commands, APIs, or by specifying CloudFormation resources. The console enables you to input basic information for your flow and connect as a user of the associated SaaS application.
To create a flow using the console
The following procedure provides the steps to create and configure a flow using the Amazon AppFlow console user interface.
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow.
3. For Flow details, enter a name and description for the flow. A valid flow name is a combination of alphanumeric characters and the following special characters: !@#.-_.
4. (Optional) To use a customer managed CMK instead of the default AWS managed CMK, choose Data encryption, Customize encryption settings and then select an existing CMK or create a new one.
5. (Optional) To add a tag, choose Tags, Add tag and then enter the key name and value. The following basic restrictions apply to tags:
• Maximum number of tags per resource – 50
• For each resource, each tag key must be unique, and each tag key can have only one value.
• Maximum key length – 128
• Unicode characters in UTF-8
• Use letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
@.
• Tag keys and values are case-sensitive.
• The aws: prefix is reserved for AWS use. If a tag has a tag key with this prefix, then you can't edit or delete the tag's key or value. Tags with the aws: prefix do not count against your tags per resource limit.
6. Choose Next.
To configure the flow
1. For Source details, select the source and provide the requested information. For example, provide connection information and select objects or events. For more information, look up your source application on the Supported source and destination applications (p. 18) page where you can find application-specific connection instructions.
NoteTo successfully configure a connection for a flow, the user or role you use to create the flow must have permission to use the UseConnectorProfile permission-only action for the
Create a flow using the AWS console
connection (connectorprofile) that you choose for the flow. This permission is included in the AmazonAppFlowFullAccess managed policy. If you are using a custom policy, you must add the permission to the policy and specify the connectorprofile resource in the policy.
2. For Destination details, select the destination and provide the requested information about the location. For more information, look up your destination application on the Supported source and destination applications (p. 18) page where you can find application-specific connection instructions.
3. For Flow trigger, choose how to trigger the flow. The following are the flow trigger options:
• Run on demand - Run the flow manually.
• Run on event - Run the flow based on the specified change event.
• This option is available only for SaaS applications that provide change events. You must choose the event when you choose the source.
• Run on schedule - Run the flow on the specified schedule and transfer the specified data.
• You can choose either full or incremental transfer for schedule-triggered flows.
• When you select full transfer, Amazon AppFlow transfers a snapshot of all records at the time of the flow run from the source to the destination.
• When you select incremental transfer, Amazon AppFlow transfers only the records that have been added or changed since the last successful flow run. You can also select a timestamp field to specify how Amazon AppFlow identifies new or changed records. For example, if you have a Created Date timestamp field, choose this to instruct Amazon AppFlow to transfer only newly- created records (and not changed records) since the last successful flow run. The first flow in a schedule-triggered flow will pull 30 days of past records at the time of the first flow run.
• The scheduling frequency depends on the frequency supported by the source application.
4. Choose Next.
TipAttempting a connection with an expired user login can return a 'status code 400' error. If you encounter this error, we recommend creating a new connection and deleting the old one, or using an existing connection with valid credentials. For more information on setting up a connection, look up your source application on the Supported source and destination applications (p. 18) page.
To map data fields
1. For Mapping method, choose how to map the fields and complete the field mapping. The following are the field mapping options:
• Manually map fields - Use the Amazon AppFlow user interface to specify the field mapping. To map all fields, choose Source field name, Bulk actions, Map all fields directly. Otherwise, select one or more fields from Source field name, Source fields, and then choose Map fields directly.
• Upload a .csv file with mapped fields - Use a comma-separated values (CSV) file to specify the field mappings. Each line in the CSV file contains the source field name, followed by a comma, which is followed by the destination field name. For more information on how to create the CSV file for upload, see the note that follows this procedure.
2. (Optional) To add a formula that concatenates fields, select two fields from Mapped fields and then choose Add formula.
3. (Optional) To mask or truncate field values, select one or more fields from Mapped fields and then choose Modify values.
4. (Optional) For Validations, add validations to check whether a field has bad data. For each field, choose the condition that indicates bad data and what action Amazon AppFlow should take when a field in a record is bad.
5. Choose Next.
Create a flow using the AWS CLI
TipWhen manually mapping between a source and destination, you must select compatible fields and be sure not to exceed the number of records supported by the destination. For more information on supported record quotas, see Quotas for Amazon AppFlow in the Amazon AppFlow User Guide.
NoteWhen creating a CSV file to upload to Amazon AppFlow, you must specify each source field and destination field pair in a single line separated by a comma. For example, if you want to map source fields SF1, SF2, and SF3 to destination fields DFa, DFb, and DFc respectively, the CSV file should contain three lines as follows:
SF1, DFa SF2, DFb SF3, DFc
Save your file with a .csv extension and then upload this file to import the mapping into Amazon AppFlow.
To add filters
Specify a filter to determine which records to transfer. Amazon AppFlow enables you to filter data fields by adding multiple filters and by adding criteria to a filter.
Note
When you select field names with string values, OR logic allows you to combine two or more criteria into a broader condition. When you add multiple filters, AND logic allows you to combine your filters into a narrower condition.
1. To add a filter, choose Add filter, select the field name, select a condition, and then specify the criteria.
2. (Optional) To add further criteria to your filter, choose Add criteria. Depending on the field and the condition, you can add up to 10 criteria per filter.
3. (Optional) To add another filter, choose Add filter again. You can create up to 10 filters to specify which data fields you want to use in your flow. Amazon AppFlow will implement each filter in the order in which you specify them, and transfer only the records that meet all filter criteria.
4. To remove a filter, choose Remove next to the filter.
5. When you are finished adding filters, choose Next.
Review the information for your flow. To change the information for a step, choose Edit. When you are finished, choose Create flow.
TipIf the flow creation fails, review the error message and confirm that all required fields have been entered, and that the user or role you are using has permission to the UseConnectorProfile action for the connection selected for the flow.
Create a flow using the AWS CLI
You may also use the CLI to create a connector profile and configure a flow using the AWS CLI commands for create-connector-profile and create-flow. Due to the varying methods of authentication across each target application, the specific information provided for connection creation will vary. Two examples are provided here as a comparison — Salesforce and ServiceNow.
Run the create-connector-profile command to create the connector profile for your flow. The following example creates a new Amazon AppFlow connection to Salesforce. Note that this leverages a Salesforce Connected App, which itself requires several steps to configure across AWS and Salesforce. See
Salesforce global connected app for details.
Create a flow using the AWS CLI
Create Salesforce connection:
aws appflow create-connector-profile \
--connector-profile-name MySalesforceConnection \ --connector-type Salesforce \
--connection-mode Public \ --connector-profile-config ' {
"connectorProfileProperties": { "Salesforce": {
"instanceUrl": "https://<instance-name>.my.salesforce.com", "isSandboxEnvironment": false
} },
"connectorProfileCredentials": { "Salesforce": {
"accessToken": "<access-token-value>", "refreshToken": "<refresh-token-value>", "oAuthRequest": {
"authCode": "<auth-code-value>",
"redirectUri": "https://login.salesforce.com/"
},
"clientCredentialsArn": "<secret-arn-value>"
} } }'
Run the create-connector-profile command to begin creating your flow. The following example creates a new Amazon AppFlow connection to ServiceNow. Note that, unlike Salesforce, there is no prerequisite configuration for either AWS or ServiceNow.
Create ServiceNow connection:
aws appflow create-connector-profile \
--connector-profile-name MyServiceNowConnection \ --connector-type Servicenow \
--connection-mode Public \ --connector-profile-config ' {
"connectorProfileProperties": { "ServiceNow": {
"instanceUrl": "https://<instance-name>.service-now.com"
} },
"connectorProfileCredentials": { "ServiceNow": {
"username": "<username-value>", "password": "<password-value>"
} } }'
Run the create-flow command to begin creating your flow. The following implements a flow from Salesforce to S3 using a previously created Salesforce connection and S3 bucket, delivering the data in CSV format with all Salesforce source fields mapped directly.
Create Salesforce to S3 flow:
aws appflow create-flow \
--flow-name MySalesforceToS3Flow \ --trigger-config '{
"triggerType": "OnDemand"
}' \
Create a flow using the Amazon AppFlow APIs
--source-flow-config '{
"connectorType": "Salesforce",
"connectorProfileName": "MySalesforceConnection", "sourceConnectorProperties": {
"Salesforce": {
"object": "Account"
} } }' \
--destination-flow-config '[{
"connectorType": "S3",
"destinationConnectorProperties": { "S3": {
"bucketName": "<s3-bucket-name>", "s3OutputFormatConfig": {
"fileType": "CSV"
} } } }]' \ --tasks '[
{
"sourceFields": [], "taskType": "Map_all", "taskProperties": {}
} ]'
Run the start-flow command to start your flow. For on-demand flows, this operation runs the flow immediately. For schedule and event-triggered flows, this operation activates the flow. The following starts the flow MySalesforceToS3Flow which was created in the previous step.
aws appflow start-flow --flow-name MySalesforceToS3Flow
The describe-flow command is helpful for understanding how previously created flows, including flows created through the Console, are structured.
Describe a flow:
aws appflow describe-flow --flow-name MySalesforceToS3Flow
Refer to the AWS CLI Command Reference for Amazon AppFlow for additional details about the complete list of commands available for Amazon AppFlow.
Create a flow using the Amazon AppFlow APIs
You may also use the APIs to create a connector profile and configure a flow using the
CreateConnectorProfile and CreateFlow APIs. Due to the varying methods of authentication across each target application, the specific information provided for connection creation will vary. Two examples are provided below as a comparison — Salesforce and ServiceNow.
Program the CreateConnectorProfile API to create a 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. The following examples creates a new Amazon AppFlow connection to Salesforce. Note that this leverages a Salesforce Connected App, which itself requires several steps to configure across AWS and Salesforce. See Salesforce global connected app for details.
Create a flow using the Amazon AppFlow APIs
Create Salesforce connection:
POST /create-connector-profile HTTP/1.1 Content-type: application/json
{ "connectorProfileName": "MySalesforceConnection", "connectorType": "Salesforce",
"connectionMode": "Public", "connectorProfileConfig": {
"connectorProfileProperties": { "Salesforce": {
"instanceUrl": "https://<instance-name>.my.salesforce.com", "isSandboxEnvironment": false
} },
"connectorProfileCredentials": { "Salesforce": {
"accessToken": "<access-token-value>", "refreshToken": "<refresh-token-value>", "oAuthRequest": {
"authCode": "<auth-code-value>",
"redirectUri": "https://login.salesforce.com/"
},
"clientCredentialsArn": "<secret-arn-value>"
} } } }
The following examples creates a new Amazon AppFlow connection to ServiceNow. Note that, unlike Salesforce, there is no pre-requisite configuration for either AWS or ServiceNow.
Create ServiceNow connection
POST /create-connector-profile HTTP/1.1 Content-type: application/json
{ "connectorProfileName": "MyServiceNowConnection", "connectorType": "Servicenow",
"connectionMode": "Public", "connectorProfileConfig": {
"connectorProfileProperties": { "ServiceNow": {
"instanceUrl": "https://<instance-name>.service-now.com", "isSandboxEnvironment": false
} },
"connectorProfileCredentials": { "ServiceNow": {
"username": "<username-value>", "password": "<password-value>"
} } } }
The following implements a flow from Salesforce to S3 using a previously created Salesforce connection and S3 bucket, delivering the data in CSV format with all Salesforce source fields mapped directly.
Create a flow using CloudFormation resources
Create Salesforce to S3 flow
POST /create-flow HTTP/1.1 Content-type: application/json
{ "flowName": "MySalesforceToS3Flow", "triggerConfig": {
"triggerType": "OnDemand"
},
"sourceFlowConfig": {
"connectorType": "Salesforce",
"connectorProfileName": "MySalesforceConnection", "sourceConnectorProperties": {
"Salesforce": {
"object": "Account"
} } },
"destinationFlowConfigList": [{
"connectorType": "S3",
"destinationConnectorProperties": { "S3": {
"bucketName": "appflow-demo-destination", "s3OutputFormatConfig": {
"fileType": "CSV"
} } } }],
"tasks": [ {
"sourceFields": [], "taskType": "Map_all", "taskProperties": {}
} ] }
The following starts the flow MySalesforceToS3Flow which was created in the previous step.
Start a flow:
POST /start-flow HTTP/1.1 Content-type: application/json {
"flowName": "MySalesforceToS3Flow"
}
Refer to the Amazon AppFlow API Reference for details about the complete set of Amazon AppFlow APIs.
Create a flow using CloudFormation resources
You may also use CloudFormation to create a connector profile and configure a flow using the
AWS::AppFlow::ConnectorProfile and AWS::AppFlow::Flow resources. The following example
Create a flow using CloudFormation resources
creates a new Amazon AppFlow connection to Salesforce. Note that this leverages a Salesforce Connected App, which itself requires several steps to configure across AWS and Salesforce. See Salesforce global connected app for details.
Declare the AWS::AppFlow::ConnectorProfile entity in your CloudFormation template with the following JSON syntax:
{ "AWSTemplateFormatVersion":"2010-09-09", "Resources": {
"MySalesforceConnection": {
"Type" : "AWS::AppFlow::ConnectorProfile", "Properties": {
"ConnectorProfileName": "MySalesforceConnection", "ConnectorType": "Salesforce",
"ConnectionMode": "Public", "ConnectorProfileConfig": { "ConnectorProfileProperties": { "Salesforce": {
"InstanceUrl": "https://<instance-name>.my.salesforce.com", "IsSandboxEnvironment": false
} },
"ConnectorProfileCredentials": { "Salesforce": {
"AccessToken": "<access-token-value>", "RefreshToken": "<refresh-token-value>", "ConnectorOAuthRequest": {
"AuthCode": "<auth-code-value>",
"RedirectUri": "https://login.salesforce.com/"
},
"ClientCredentialsArn": "<secret-arn-value>"
} } } } } }}
Following is an example of YAML syntax:
AWSTemplateFormatVersion: '2010-09-09' Resources:
MySalesforceConnection:
Type: AWS::AppFlow::ConnectorProfile Properties:
ConnectorProfileName: MySalesforceConnection ConnectorType: Salesforce
ConnectionMode: Public ConnectorProfileConfig:
ConnectorProfileProperties:
Salesforce:
InstanceUrl: https://<instance-name>.my.salesforce.com IsSandboxEnvironment: false
ConnectorProfileCredentials:
Salesforce:
AccessToken: <access-token-value>
RefreshToken: <refresh-token-value>
ConnectorOAuthRequest:
AuthCode: <auth-code-value>
RedirectUri: https://login.salesforce.com/
Create a flow using CloudFormation resources
ClientCredentialsArn: <secret-arn-value>
The following examples creates a new Amazon AppFlow connection to ServiceNow.
Create ServiceNow connection - JSON
{
"AWSTemplateFormatVersion":"2010-09-09", "Resources": {
"MyServiceNowConnection": {
"Type" : "AWS::AppFlow::ConnectorProfile", "Properties": {
"ConnectorProfileName": "MyServiceNowConnection", "ConnectorType": "Servicenow",
"ConnectionMode": "Public", "ConnectorProfileConfig": { "ConnectorProfileProperties": { "ServiceNow": {
"InstanceUrl": "https://<instance-name>.service-now.com", }
},
"ConnectorProfileCredentials": { "ServiceNow": {
"Username": "<username-value>", "Password": "<password-value>"
} } } } } }}
The following is an example of YAML syntax that creates a new Amazon AppFlow connection to ServiceNow.
Create ServiceNow connection - YAML:
AWSTemplateFormatVersion: '2010-09-09' Resources:
MyServiceNowConnection:
Type: AWS::AppFlow::ConnectorProfile Properties:
ConnectorProfileName: MyServiceNowConnection ConnectorType: Servicenow
ConnectionMode: Public ConnectorProfileConfig:
ConnectorProfileProperties:
ServiceNow:
InstanceUrl: https://<instance-name>.service-now.com ConnectorProfileCredentials:
ServiceNow:
Username: <username-value>
Password: <password-value>
The following implements a flow from Salesforce to S3 using a previously created Salesforce connection and S3 bucket, delivering the data in CSV format with all Salesforce source fields mapped directly.
Create a flow using CloudFormation resources
Create Salesforce to S3 flow - JSON:
{ "AWSTemplateFormatVersion":"2010-09-09", "Resources": {
"MySalesforceToS3Flow": {
"Type" : "AWS::AppFlow::Flow", "Properties": {
"FlowName": "MySalesforceToS3Flow", "TriggerConfig": {
"TriggerType": "OnDemand"
},
"SourceFlowConfig": {
"ConnectorType": "Salesforce",
"ConnectorProfileName": "MySalesforceConnection", "SourceConnectorProperties": {
"Salesforce": {
"Object": "Account"
} } },
"DestinationFlowConfigList" : [{
"ConnectorType": "S3",
"DestinationConnectorProperties": { "S3": {
"BucketName": "<s3-bucket-name>", "S3OutputFormatConfig": {
"FileType": "CSV"
} } } }], "Tasks": [ {
"TaskType": "Map_all", "SourceFields": [], "TaskProperties": [{
"Key": "EXCLUDE_SOURCE_FIELDS_LIST", "Value": "[]"
}],
"ConnectorOperator": { "Salesforce": "NO_OP"
} } ] } } }}
The following implements a flow from Salesforce to S3 using a previously created Salesforce connection and S3 bucket, delivering the data in CSV format with all Salesforce source fields mapped directly.
Create Salesforce to S3 flow - YAML:
AWSTemplateFormatVersion: '2010-09-09' Resources:
MySalesforceToS3Flow:
Type: AWS::AppFlow::Flow Properties:
FlowName: MySalesforceToS3Flow TriggerConfig:
TriggerType: OnDemand SourceFlowConfig:
Create a flow using CloudFormation resources
ConnectorType: Salesforce
ConnectorProfileName: MySalesforceConnection SourceConnectorProperties:
Salesforce:
Object: Account DestinationFlowConfigList:
- ConnectorType: S3
DestinationConnectorProperties:
S3:
BucketName: <s3-bucket-name>
S3OutputFormatConfig:
FileType: CSV Tasks:
- TaskType: Map_all SourceFields: []
TaskProperties:
- Key: EXCLUDE_SOURCE_FIELDS_LIST Value: '[]'
ConnectorOperator:
Salesforce: NO_OP
Refer to the AWS CloudFormation User Guide Amazon AppFlow chapter for details about the complete set of resource options for all sources and destinations.
Amazon S3
Supported source and destination applications
Choose an application in the following list to learn more about its setup requirements.
Topics
• Amazon S3 (p. 18)
• Amazon Redshift (p. 20)
• Amazon EventBridge (p. 24)
• Amazon Honeycode (p. 25)
• Amazon Lookout for Metrics (p. 27)
• Amplitude (p. 28)
• Datadog (p. 31)
• Dynatrace (p. 33)
• Google Analytics (p. 35)
• Infor Nexus (p. 38)
• Marketo (p. 39)
• Salesforce (p. 42)
• Salesforce Pardot (p. 48)
• SAP OData (p. 50)
• ServiceNow (p. 56)
• Singular (p. 58)
• Slack (p. 59)
• Snowflake (p. 62)
• Trend Micro (p. 64)
• Upsolver (p. 65)
• Veeva (p. 67)
• Zendesk (p. 70)
Amazon S3
The following are the requirements and connection instructions for using Amazon Simple Storage Service (Amazon S3) with Amazon AppFlow.
NoteYou can use Amazon S3 as a source or a destination.
Topics
• Requirements (p. 19)
• Connection instructions (p. 19)
• Notes (p. 19)
• Related resources (p. 20)
Requirements
Requirements
• Your S3 buckets must be in the same AWS Region as your console and flow.
• If you use Amazon S3 as a source, all source files in the chosen S3 bucket must be in CSV format, with a header row that includes the field names in each file. Before you set up the flow, ensure that the source location has at least one file in CSV format, with a list of field names separated by commas in the first line. You must place the CSV file inside a folder in the S3 bucket.
• If the chosen input type is JSONL, you must place the JSONL files inside a folder in the S3 bucket
• Each source file should not exceed 125 MB in size. However, you can upload multiple CSV/JSONL files in the source location, and Amazon AppFlow will read from all of them to transfer data over a single flow run. You can check for any applicable destination data transfer limits in Quotas for Amazon AppFlow (p. 113).
• Amazon AppFlow does not support cross-account access to S3 buckets in order to prevent unauthorized access and potential security concerns.
Connection instructions
To use Amazon S3 as a source or destination while creating a flow
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow.
3. For Flow details, enter a name and description for the flow.
4. (Optional) To use a customer managed CMK instead of the default AWS managed CMK, choose Data encryption, Customize encryption settings and then choose an existing CMK or create a new one.
5. (Optional) To add a tag, choose Tags, Add tag and then enter the key name and value.
6. Choose Next.
7. Choose Amazon S3 from the Source name or Destination name dropdown list.
8. Under Bucket details, select the S3 bucket that you're retrieving from or adding to. You can specify a prefix, which is equivalent to specifying a folder within the S3 bucket where your source files are located or records are to be written to the destination.
Now that you are connected to your S3 bucket, you can continue with the flow creation steps as described in Getting started with Amazon AppFlow (p. 6).
TipIf you aren’t connected successfully, ensure that you have followed the instructions in the Requirements (p. 19) section above.
Notes
• When you use Amazon S3 as a source, you can run schedule-triggered flows at a maximum frequency of one flow run per minute.
• When you use Amazon S3 as a destination, the following additional settings are available.
Related resources
Setting name Description
Data format preference • You can specify your preferred file format for the input file(s). The following options are currently available: CSV, type=documentation url=https://jsonlines.org/examples/>JSONL
• You can specify your preferred file format for the exported records.
The following options are currently available: JSONL (default), CSV, or Apache Parquet.
NoteIf you choose Parquet as the format for your destination file in Amazon S3, the option to aggregate all records into one file per flow run will not be available. When choosing Parquet, Amazon AppFlow will write the output as string, and not declare the data types as defined by the source.
Data transfer preference • You can choose between aggregation, and no aggregation of records.
• By default, Amazon AppFlow transfers data into multiple files per flow run.
• Alternatively, you can choose to aggregate all transferred data into one file per run flow.
Filename preference • You can choose to add a timestamp to the filename.
• Your filename will end with the file creation timestamp in YYYY-MM- DDThh:mm:sss format.
• The creation date is in UTC time.
Folder structure
preference • You can choose to place the file in a timestamped folder.
• You can choose your preferred level of granularity (year, month, week, day, or minute).
• The granularity that you choose determines the naming format of the folder.
• The timestamp is in UTC time.
Related resources
• Amazon Simple Storage Service User Guide
• Amazon AppFlow now supports new data formats for ingesting files into Amazon S3 in the AWS What’s new blog
• Video: How to insert new Salesforce records with data in Amazon S3 using Amazon AppFlow
• Video: How to transfer data from Slack to Amazon S3 using Amazon AppFlow
• Video: How to transfer data from Google Analytics to Amazon S3 using Amazon AppFlow
• Video: How to transfer data from Zendesk Support to Amazon S3 using Amazon AppFlow
Amazon Redshift
The following are the requirements and connection instructions for using Amazon Redshift with Amazon AppFlow.
Requirements
NoteYou can use Amazon Redshift as a destination only.
Topics
• Requirements (p. 21)
• Connection instructions (p. 22)
• Notes (p. 23)
• Related resources (p. 23)
Requirements
You must provide Amazon AppFlow with the following:
• The name and prefix of the S3 bucket that Amazon AppFlow will use when moving data into Amazon Redshift.
• The user name and password of your Amazon Redshift user account.
• The JDBC URL of your Amazon Redshift cluster. For more information, see Finding your cluster connection string in the Amazon Redshift Cluster Management Guide.
You must also do the following:
• Ensure that you enter a correct JDBC connector and password when configuring your Redshift connections. An incorrect JDBC connector or password can return an '[Amazon](500310)' error.
• Create an AWS Identity and Access Management (IAM) role that grants AmazonS3ReadOnlyAccess.
Create the IAM role by signing in to the AWS Management Console, opening the IAM console at https://console.aws.amazon.com/iam/ and choosing Roles > Create Role. In the AWS Service group, choose Redshift. Under Select your use case, choose Redshift - Customizable, then choose Next:
Permissions. On the Attach permissions policies page, choose AmazonS3ReadOnlyAccess. You can keep the default setting for Set permissions boundary. Then choose Next: Tags. The Add tags page appears. You can optionally add tags. Choose Next: Review. For Role name, enter myRedshiftRole.
Review the information, and then choose Create Role.
• Create a policy with access to the kms:Decrypt action to allow Amazon Redshift to access the encrypted data that Amazon AppFlow stored in the S3 bucket. First, choose Policies > Create Policy and select the JSON tab. Paste the following JSON into the entry field:
{ "Version": "2012-10-17", "Statement": [
{
"Effect": "Allow", "Action": "kms:Decrypt", "Resource": "*"
}] }
Then, choose the Next:Tags button and finally choose the Next:Review button. For Policy name, enter myRedshiftPolicy and choose Create Policy. To associate the new policy with the role you created, go back to the Roles page, select the myRedshiftRole and choose the Attach Policies button on the Summary page. Search for myRedShiftPolicy, select the checkbox for myRedshiftPolicy, and then choose the Attach Policy button.
Now that you have created the new role and attached the correct policy, your next step is to associate it with your cluster. Associate the myRedshiftRole role in the Cluster permissions section of the
Connection instructions
Amazon Redshift console for a new or existing cluster by searching for myRedshiftRole and choosing the Associate IAM role button.
• Ensure that your cluster is publicly accessible by going to the AWS Management Console, navigating to the Amazon Redshift console and choose CLUSTERS. Then, select the cluster that you want to modify and choose Actions > Modify Publicly > Enable. Save your changes.
If you still can't connect to the cluster from the internet or a different network, go to the Amazon Redshift console and select the cluster that you want to modify. Under Properties, choose Network and security settings. Choose the link next to VPC security group to open the Amazon Elastic Compute Cloud (Amazon EC2) console. On the Inbound Rules tab, make sure that your IP address and the port of your Amazon Redshift cluster are allowed. The default port for Amazon Redshift is 5439, but your port might be different.
• Ensure that your Amazon Redshift cluster is accessible from Amazon AppFlow IP address ranges in your Region.
Connection instructions
To ensure that your Amazon Redshift cluster is accessible from Amazon AppFlow IP address ranges in your Region
1. Sign in to the AWS Management Console and open the Amazon Redshift console at https://
console.aws.amazon.com/redshift/.
2. Choose the cluster to modify.
3. Choose the link next to VPC security groups to open the Amazon Elastic Compute Cloud (Amazon EC2) console.
4. On the Inbound Rules tab, be sure that all Amazon AppFlow IP CIDR blocks for your region and the port of your Amazon Redshift cluster are allowed.
To connect to Amazon Redshift while creating a flow
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow.
3. For Flow details, enter a name and description for the flow.
4. (Optional) To use a customer managed CMK instead of the default AWS managed CMK, choose Data encryption, Customize encryption settings and then choose an existing CMK or create a new one.
5. (Optional) To add a tag, choose Tags, Add tag and then enter the key name and value.
6. Choose Next.
7. Choose Amazon Redshift from the Destination name list.
8. Choose Connect to open the Connect to Amazon Redshift dialog box.
a. Under JDBC URL, enter your access key ID.
b. Under Bucket details, select the S3 bucket where Amazon AppFlow will write data before copying it.
c. Under Role, select the IAM role that you created when you set up Amazon Redshift for Amazon S3 access.
d. Under User name, enter the user name that you use to log into Amazon Redshift.
e. Under Password, enter the password that you use to log into Amazon Redshift.
f. Under Data encryption, enter your AWS KMS key.
g. Under Connection name, specify a name for your connection.
9. Choose Connect.
Notes
Now that you are connected to Amazon Redshift, you can continue with the flow creation steps as described in Getting started with Amazon AppFlow (p. 6).
TipIf you aren’t connected successfully, ensure that you have followed the instructions in the Requirements (p. 21) section.
Notes
• The default port for Amazon Redshift is 5439, but your port might be different. To find the Amazon AppFlow IP CIDR block for your region, see AWS IP address ranges in the Amazon Web Services General Reference.
• Amazon AppFlow currently supports the insert action when transferring data into Amazon Redshift, but not the update or upsert action.
Related resources
• Finding your cluster connection string in the Amazon Redshift Cluster Management Guide
• How to make a private Redshift cluster publicly accessible in the AWS Knowledge Center
• Create an IAM role in the Amazon Redshift Getting Started Guide Guide
Amazon EventBridge
• Workaround to extract Salesforce data using Amazon AppFlow and upsert it to Amazon Redshift tables hosted on private subnet using data APIs in the Amazon AppFlow GitHub Page
Amazon EventBridge
The following are the requirements and connection instructions for using Amazon EventBridge with Amazon AppFlow.
Note
You can use Amazon EventBridge as a destination only.
Topics
• Requirements (p. 24)
• Connection instructions (p. 24)
• Notes (p. 25)
• Related resources (p. 25)
Requirements
Amazon AppFlow integrates with Amazon EventBridge to receive events from Salesforce. When you configure a flow that responds to Salesforce events, you can choose Amazon EventBridge as a destination. This enables Salesforce events received by Amazon AppFlow to be routed directly to a partner event bus.
• To configure Amazon EventBridge integration in Amazon AppFlow, you must first create a flow with Amazon EventBridge as the destination and then specify the partner event source.
• Before you can activate the flow, you must go to Amazon EventBridge to associate the partner event source with the event bus. After you complete this association and activate the flow, Salesforce events start flowing to the Amazon EventBridge event bus.
Connection instructions
To create a flow with Amazon EventBridge as the destination
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow and enter a name for your flow.
3. For Source details, choose Salesforce as the source and select Salesforce Events with the specific event name.
4. For Destination details, choose Amazon EventBridge as the destination and one of the following partner event sources:
• Existing partner event source - Amazon AppFlow displays a list of existing partner event sources that are available to you.
• New partner event source - Amazon AppFlow creates a new partner event source on your behalf.
If you choose this option, the partner event source name generated by Amazon AppFlow appears in a dialog box. (Optional) You can modify this name if needed.
NoteThe actual call to Amazon EventBridge API operations for creating this partner event source happens only when you choose Create flow in step 11 of this procedure.
Notes
5. For Large event handling, specify the S3 bucket where you want Amazon AppFlow to send large event information.
6. Ensure that Run flow on event is selected in the Flow trigger section. This setting ensures that the flow is executed when a new Salesforce event occurs.
7. For field mapping, choose Map all fields directly. Alternatively, you can choose the fields that you're interested in using from the Source field name list.
8. Choose Next.
9. (Optional) Configure filters for data fields in Amazon AppFlow.
10. Choose Next.
11. Review the settings and then choose Create flow.
To associate the partner event source with the event bus in Amazon EventBridge 1. Open the Partner event sources view in the Amazon EventBridge console at https://
console.aws.amazon.com/events/home?#/partners/.
2. Choose the partner event source that you created.
3. Choose Associate with event bus.
4. Validate the name of the partner event bus.
5. Choose Associate.
6. Return to Amazon AppFlow and choose Activate flow to activate the flow.
Notes
• Events are limited to 256 KB. For events larger than 256 KB, Amazon AppFlow doesn't send the full event to Amazon EventBridge. Instead, the event payload contains a pointer to an S3 bucket, where you can get the full event.
• Events should be enabled in Salesforce and also in Amazon AppFlow for the destination to receive them. The destination service receives all such events configured for your account. If you need to filter the kinds of events that you want to process, or send different events to different targets, you can use content-based filtering with event patterns.
Related resources
• Receiving events from a SaaS partner in the Amazon EventBridge documentation
• Amazon AppFlow now supports Amazon EventBridge as a destination in the AWS What's new blog
• Building Salesforce integrations with Amazon EventBridge and Amazon AppFlow in the AWS Compute blog
Amazon Honeycode
The following are the requirements and connection instructions for using Amazon Honeycode with Amazon AppFlow.
NoteYou can use Amazon Honeycode as a destination only. Amazon Honeycode is only available as an Amazon AppFlow destination in the AWS US West (Oregon) Region.
Setup instructions
Topics
• Connection instructions (p. 26)
• Notes (p. 26)
• Related resources (p. 26)
Connection instructions
To create a flow with Amazon Honeycode as the destination
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow and enter a name for your flow.
3. (Optional) To add a tag, choose Tags, Add tag and then enter the key name and value.
4. Choose Next.
5. For Source details, choose one of the supported sources such as Salesforce, and provide the requested information.
6. For Destination details, choose Amazon Honeycode as the destination. If you are connecting to Amazon Honeycode for the first time, follow the instructions to complete the OAuth workflow and create a connection profile.
7. Select the workbook and table that are enabled in your account. You can select only one workbook and one table at a time.
8. Specify an error handling option to determine what action Amazon AppFlow takes if it can’t write a record to the destination. If data can't be transferred to Amazon Honeycode, Amazon AppFlow writes that data to the Amazon S3 location of your choice. You can also choose to Stop the current flow run or Ignore and continue the flow run.
9. Choose a trigger for your flow. When using Amazon Honeycode as a destination, the Run on demand and Run flow on schedule options are available.
10. Choose Next.
11. For field mapping, choose Map all fields directly. Alternatively, you can manually select the fields that you want to use from the Source field name list.
12. (Optional) Under Validations - optional, add validations to check whether a field has bad data. For each field, choose the condition that indicates bad data and what action Amazon AppFlow should take when a field in a record is bad.
13. Choose Next.
14. (Optional) Specify a filter to determine which records to transfer. To add a filter, choose Add filter, select the field name, select a condition, and then specify the criteria.
15. Choose Next.
16. Review the settings and then choose Create flow.
Notes
• This integration with Amazon Honeycode currently supports the append functionality only. You can add new records to existing workbooks and tables, but you cannot update existing records at this time.
Related resources
• Amazon Honeycode User Guide
Amazon Lookout for Metrics
Amazon Lookout for Metrics
The following are the requirements and connection instructions for using Amazon Lookout for Metrics with Amazon AppFlow.
NoteYou can use Amazon Lookout for Metrics as a destination only.
Topics
• Requirements (p. 27)
• Setup instructions (p. 27)
• Notes (p. 28)
• Related resources (p. 28)
Requirements
• To get access to Amazon Lookout for Metrics, you must first be added to the allow list. To request access, see Amazon Lookout for Metrics Preview. For more information about the service, see Amazon Lookout for Metrics.
Setup instructions
To create a flow with Amazon Lookout for Metrics as the destination
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow and enter a name for your flow.
3. Under Data encryption, choose Customize encryption settings (advanced) then select an existing customer managed key (CMK) or create a new one. The default AWS managed CMK is not supported when using Amazon Lookout for Metrics as a destination.
4. (Optional) To add a tag, choose Tags, Add tag and then enter the key name and value.
5. Choose Next.
6. For Source details, choose a supported source and provide the requested information.
7. For Destination details, choose Amazon Lookout for Metrics as the destination for your time-series data.
8. When using Amazon Lookout for Metrics as a destination, only the Run flow on schedule option is available. Specify the appropriate schedule settings, such as the frequency, start date, and start time. You can also enter an end date (optional).
Amazon Lookout for Metrics currently supports the following scheduling options:
• If the source supports minutes: you can run the flow every 5 or 10 minutes by selecting 5 or 10 from the Every dropdown list.
• If the source supports hours: you can run the flow once an hour by selecting 1 from the Every dropdown list.
• If the source supports days: you can run the flow once a day by selecting 1 from the Every dropdown list.
9. Choose Next.
10. Under Source to destination field mapping, go to the Source field name dropdown list and choose Map all fields directly. Alternatively, you can manually select the fields that you want to use from the list.
Notes
NoteA timestamp field is not required in your data. However, in order to use the anomaly detection feature of Amazon Lookout for Metrics, you need at least one measure or numeric column with values changing over time.
11. (Optional) Under Validations - optional, add validations to check whether a field has bad data. For each field, choose the condition that indicates bad data and what action Amazon AppFlow should take when a field in a record is bad.
12. Choose Next.
13. (Optional) Specify a filter to determine which records to transfer. To add a filter, choose Add filter, select the field name, select a condition, and then specify the criteria.
14. Choose Next.
15. Review the settings and then choose Create flow.
Notes
• The default AWS managed CMK is not supported when using Amazon Lookout for Metrics as a destination.
• The following sources are supported when using Amazon Lookout for Metrics as a destination:
• Amplitude
• Dynatrace
• Google Analytics
• Infor Nexus
• Marketo
• Salesforce
• ServiceNow
• Singular
• Trend Micro
• Veeva
• Zendesk
• Amazon Lookout for Metrics currently supports the following scheduling options:
• If the source supports minutes: you can run the flow every 5 or 10 minutes
• If the source supports hours: you can run the flow once an hour
• If the source supports days: you can run the flow once a day
Related resources
• Amazon Lookout for Metrics service page
• Amazon Lookout for Metrics Preview
Amplitude
The following are the requirements and connection instructions for using Amplitude with Amazon AppFlow.
NoteYou can use Amplitude as a source only.
Requirements
Topics
• Requirements (p. 29)
• Connection instructions (p. 29)
• Notes (p. 30)
• Related resources (p. 30)
Requirements
You must provide Amazon AppFlow with the API key and secret key for the project with the data that you want to transfer. Your API key can be found on the Settings page of the Amplitude dashboard. For more information about how to retrieve this information from Amplitude, see Settings in the Amplitude documentation.
Connection instructions
To connect to Amplitude while creating a flow
1. Open the Amazon AppFlow console at https://console.aws.amazon.com/appflow/.
2. Choose Create flow.
3. For Flow details, enter a name and description for the flow.
4. (Optional) To use a customer managed CMK instead of the default AWS managed CMK, choose Data encryption, Customize encryption settings and then choose an existing CMK or create a new one.
5. (Optional) To add a tag, choose Tags, Add tag and then enter the key name and value.
6. Choose Next.
7. Choose Amplitude from the Source name dropdown list.
8. Choose Connect to open the Connect to Amplitude dialog box.
a. Under API key, enter your API key.
b. Under Secret key, enter your secret key.
c. Under Data encryption, enter your AWS KMS key.
d. Under Connection name, specify a name for your connection.
e. Choose Connect.
Notes
9. You will be redirected to the Amplitude login page. When prompted, grant Amazon AppFlow permissions to access your Amplitude account.
Now that you are connected to your Amplitude account, you can continue with the flow creation steps as described in Getting started with Amazon AppFlow (p. 6).
TipIf you aren’t connected successfully, ensure that you have followed the instructions in the Requirements (p. 29).
Notes
• When you use Amplitude as a source, you can run schedule-triggered flows at a maximum frequency of one flow run per day.
• Amplitude can process 25 MB of data as part of a single flow run.
Related resources
• Settings in the Amplitude documentation
• Breaking Data Silos with Amazon AppFlow and Amplitude from Inside Amplitude