Salesforce Connect adapter selection
Key Takeaway
Choose the Salesforce Connect adapter in the external data source's "Type" field by matching it to where the data lives and how that system exposes it. A custom adapter that you build with the Apex Connector Framework covers anything the other adapters can't handle.
Salesforce Connect lets users view and work with data stored outside the org without moving that data into Salesforce. Users reach the data through external objects, and the data stays stored outside the org. To connect to each external system, Salesforce Connect uses a protocol-specific adapter. You choose that adapter in the Type field when you define an external data source.
Match the adapter to where the data lives
The right adapter depends on where the data lives and how that system exposes it. To pick one, match the adapter to where the data lives:
| Where the data lives | Adapter to select |
|---|---|
| Another Salesforce org | Cross-org |
| An external system that exposes the data through an OData producer | OData 2.0, OData 4.0 or OData 4.01 |
| AWS data stored in Amazon DynamoDB | Salesforce Connect Adapter for Amazon DynamoDB |
| Snowflake or Amazon Athena | Salesforce Connect Adapter for SQL |
| An external system that exposes its capabilities through a GraphQL API, such as Amazon RDS through AWS AppSync | Salesforce Connect Adapter for GraphQL |
| Anything the other adapters can't handle | Custom adapter |
Having a REST API does not by itself point to one adapter. The Salesforce Connect Adapter for SQL connects to external systems that expose REST APIs and also offer query and DML operations using SQL. It fits a need to run interactive, on-demand SQL queries against that data. Retrieving data through callouts from a REST API, on the other hand, is a typical reason to build a custom adapter.