Salesforce and Amazon have been working together to add new functionality to make our platforms more interoperable. Together, we want to deliver a unified development platform intended to save developers time and effort while connecting data across both platforms securely. We’re excited to announce our newest move to further our commitment to interoperability with AWS. 

Salesforce and AWS

Salesforce enables companies of all sizes to manage their customer relationships, and these companies often build platform applications that leverage AWS’s unique offerings which include a variety of data stores. We are happy to announce the newest Salesforce Connect adapter for GraphQL which allows Salesforce Developers and Administrators to virtually reference data in external data stores behind a GraphQL API.  

Currently, we offer an optimized solution for one such data store, Amazon Relational Database Service (RDS), to be referenced as though the data existed in Salesforce. This is possible via AWS AppSync, which hosts GraphQL API endpoints leveraged by Salesforce Connect. This solution is particularly effective for teams who have set up external scalable databases in Amazon RDS to leverage an industry standard SQL data store. 

Data virtualization, not ETL

By utilizing the GraphQL adapter, customers can avoid the hassles of ETL (extract, transform, load) tools which replicate data across two systems by copying records into a duplicate data store. These integrations need to be well-maintained since systems become inconsistent very quickly. On the other hand, data virtualization simplifies the migration process by avoiding having to copy over larger amounts of data. This process does so in a zero-copy manner that leaves the source system as-is and simply references the data in the external store. 

We use AWS AppSync to manage the GraphQL abstraction layer in front of the databases. The adapter allows Salesforce Connect to act as a client to the GraphQL API endpoints, so that it can make live callouts to the endpoints when the user requests certain records. Only the data needed for a certain request is queried via GraphQL, and that data is never stored or cached by Salesforce Connect. This approach reduces customers’ need to write custom integration code, helps them avoid technical hassles, and allows customers to stay within compliance guidelines regarding data movement.

This image shows a diagram of the architecture of the connection between Salesforce and AWS where concepts are represented in shapes

External objects surface the requested data from Amazon RDS in a zero-copy manner, and they work similarly to custom objects in a way that allows administrators to take advantage of native Salesforce features. In short, customers do not need to reskill their Salesforce or AWS teams to leverage powerful AWS storage or get extra mileage from their SQL investments.


Let’s take a quick look at a simple use case. A customer service agent needs to examine an order stored in Amazon RDS PostgreSQL and edit it to request a partial refund because of an order item misplaced in shipping. Watch the video below to see how the Salesforce Connect adapter for GraphQL handles this use case.

Get started

If you haven’t had experience with external objects before, take this trail on Trailhead to get your feet wet with Salesforce Connect. If you’re interested in using Salesforce Connect, contact your account representative to get licensed in your production org. For details on how to get started with the GraphQL adapter, see our developer guides. 

About the author

Annabelle Wang

Annabelle Wang is an Associate Product Manager Intern for the Salesforce Platform. Her team covers external data connectors. 

Get the latest Salesforce Developer blog posts and podcast episodes via Slack or RSS.

Add to Slack Subscribe to RSS