Overview of Amazon Appflow for data transfer between Salesforce CRM and AWS and Cost Factors Considerations

Organizations on their data modernization journey need to migrate existing, on-premises data from relational databases, external sources, files, and software-as-a-service (SaaS) applications into AWS data lakes and data warehouses to derive valuable insights from the data. In previous blogs, it was discussed in detail the process of data migration from relational databases into AWS using the AWS Database Migration Service (DMS). In this blog will focus on data migration options for SaaS applications. Organizations often use CRM tools and platforms like Salesforce, HubSpot, Zendesk, Zoho, etc., to manage customers, sales, marketing, and service processes. These SaaS applications offer public APIs, but developers need to spend time developing the code to push or pull data from these services. Amazon AppFlow can help here by providing no-code integration with these applications, simplifying the data migration process. Amazon AppFlow is a fully managed integration service that enables you to securely exchange data between software as a service (SaaS) application, 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. Here, data from Salesforce CRM needs to be pulled into the AWS S3 data lake, where the required transformations will be performed on it. Amazon AppFlow setup: Connection – To set up a connection between a software-as-a-service (SaaS) application and AWS using Amazon AppFlow, one need to create connections within Amazon AppFlow. This setup involves storing configuration details and credentials that Amazon AppFlow requires to transfer data between these applications. Salesforce connector – Create connection to Salesforce – Salesforce side authentication – Flow – Amazon AppFlow transfers data between SaaS applications, such as Salesforce in this case, and AWS. The flow setup involves specifying several details: Source and Destination Details: Define the source (Salesforce) and the destination (AWS). Encryption: Configure encryption settings to ensure data security during transfer. Data Mapping: Decide how the data from the source will be mapped and placed into the destination. Filter Conditions: Control which records are transferred to the destination based on specified filter conditions. Flow Trigger: Set up triggers to determine when the flow should be executed. Create flow – Configure flow for source – Snowflake and destination – S3 connection – Create flow has additional tabs for Map data fields and Add filters etc. details. Flow Trigger Options in Amazon AppFlow: The flow trigger helps to decide how the flow will run, and it has three options: Run on demand – Run manually as per the data transfer requirements Run on schedule – Flow will run on recurring schedule Run on event – Flow will run against change event from source Saas application. Amazon AppFlow costing: First, review the Amazon AppFlow pricing to understand the costs associated with different flow triggers. Consider how each trigger option on-demand, scheduled, and event-based impacts the overall costing. Amazon AppFlow is charged for two components: Flow run cost – The flow run cost is determined by the number of flows executed to call the source applications and transfer data to the destination. Even if a flow run is initiated to check for data availability at the source and no data is found, it is still counted and contributes to the overall cost. Price per flow run - $0.001 Maximum number of flows runs per AWS account per month – 10 million Data processing cost - The volume of data processed in a month by Amazon AppFlow is billed per GB, aggregated across all flows in an AWS account. Data processing price for flows whose destinations are hosted on AWS - $0.02 per GB Running on demand is ideal for ad hoc flow execution for data transfer as needed, and it is charged per each ad hoc flow run. However, when choosing between running on event and running on schedule, one needs to select cautiously. Consider the flow run cost and the requirement for near real-time versus scheduled batch data transfer use cases. Costing is explained in detail in below table: This example considers 100,000 records processed in a single day from the source SaaS application. The number of records processed may increase depending on the number of records changed and processed at the source within a given month. Consequently, the same number of flows may be triggered due to the run-on-event trigger. Running on schedule can transfer the same number of records and data at recurring intervals, such as every hour. This results in a minimum of 24 flow runs only in each day and accordingly in each month. Reducing the number of flow runs will considerably lower the overall AppFlow cost. Conclusion: This blog provides an

Apr 9, 2025 - 17:36
 0
Overview of Amazon Appflow for data transfer between Salesforce CRM and AWS and Cost Factors Considerations

Organizations on their data modernization journey need to migrate existing, on-premises data from relational databases, external sources, files, and software-as-a-service (SaaS) applications into AWS data lakes and data warehouses to derive valuable insights from the data.

In previous blogs, it was discussed in detail the process of data migration from relational databases into AWS using the AWS Database Migration Service (DMS). In this blog will focus on data migration options for SaaS applications.

Organizations often use CRM tools and platforms like Salesforce, HubSpot, Zendesk, Zoho, etc., to manage customers, sales, marketing, and service processes. These SaaS applications offer public APIs, but developers need to spend time developing the code to push or pull data from these services. Amazon AppFlow can help here by providing no-code integration with these applications, simplifying the data migration process.

Amazon AppFlow is a fully managed integration service that enables you to securely exchange data between software as a service (SaaS) application, 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.

Here, data from Salesforce CRM needs to be pulled into the AWS S3 data lake, where the required transformations will be performed on it.

Image description

Amazon AppFlow setup:

Connection –

To set up a connection between a software-as-a-service (SaaS) application and AWS using Amazon AppFlow, one need to create connections within Amazon AppFlow. This setup involves storing configuration details and credentials that Amazon AppFlow requires to transfer data between these applications.

Salesforce connector –

Image description

Create connection to Salesforce –

Image description

Salesforce side authentication –

Image description

Flow –
Amazon AppFlow transfers data between SaaS applications, such as Salesforce in this case, and AWS. The flow setup involves specifying several details:

  • Source and Destination Details: Define the source (Salesforce) and the destination (AWS).

  • Encryption: Configure encryption settings to ensure data security during transfer.

  • Data Mapping: Decide how the data from the source will be mapped and placed into the destination.

  • Filter Conditions: Control which records are transferred to the destination based on specified filter conditions.

  • Flow Trigger: Set up triggers to determine when the flow should be executed.

Create flow –

Image description

Configure flow for source – Snowflake and destination – S3 connection –

Image description

Create flow has additional tabs for Map data fields and Add filters etc. details.

Flow Trigger Options in Amazon AppFlow:
The flow trigger helps to decide how the flow will run, and it has three options:

  • Run on demand – Run manually as per the data transfer requirements

  • Run on schedule – Flow will run on recurring schedule

  • Run on event – Flow will run against change event from source Saas application.

Amazon AppFlow costing:
First, review the Amazon AppFlow pricing to understand the costs associated with different flow triggers. Consider how each trigger option on-demand, scheduled, and event-based impacts the overall costing.

Amazon AppFlow is charged for two components:

  • Flow run cost – The flow run cost is determined by the number of flows executed to call the source applications and transfer data to the destination. Even if a flow run is initiated to check for data availability at the source and no data is found, it is still counted and contributes to the overall cost.

Price per flow run - $0.001
Maximum number of flows runs per AWS account per month – 10 million

  • Data processing cost - The volume of data processed in a month by Amazon AppFlow is billed per GB, aggregated across all flows in an AWS account.

Data processing price for flows whose destinations are hosted on AWS - $0.02 per GB

Running on demand is ideal for ad hoc flow execution for data transfer as needed, and it is charged per each ad hoc flow run.
However, when choosing between running on event and running on schedule, one needs to select cautiously. Consider the flow run cost and the requirement for near real-time versus scheduled batch data transfer use cases.

Costing is explained in detail in below table:

Image description

This example considers 100,000 records processed in a single day from the source SaaS application. The number of records processed may increase depending on the number of records changed and processed at the source within a given month. Consequently, the same number of flows may be triggered due to the run-on-event trigger.

Running on schedule can transfer the same number of records and data at recurring intervals, such as every hour. This results in a minimum of 24 flow runs only in each day and accordingly in each month. Reducing the number of flow runs will considerably lower the overall AppFlow cost.

Conclusion:
This blog provides an overview of Amazon AppFlow, a fully managed service for integration and data transfer between software-as-a-service (SaaS) applications such as Salesforce and AWS. It explains the configuration of Amazon AppFlow, the actual data transfer process, and the key cost considerations to keep in mind when running AppFlow flows.