Introduction
Salesforce Connect provides seamless, real-time access to external data from within Salesforce without importing that data into Salesforce storage. Instead of copying records into Salesforce, Connect surfaces external records as external objects, letting users view, search, and relate external data alongside native Salesforce objects.
Key Concepts
External Objects: Virtual representations of external data in Salesforce. They behave like custom objects but map to data kept outside Salesforce and use the __x suffix in API names (for example, Invoice__x
).
External Data Source: A connection definition that points to an external system (for example, an OData service, another Salesforce org, or a custom adapter). It contains authentication info and adapter type.
Adapters: Connect uses adapters to communicate with external systems. Out-of-the-box adapters include OData 2.0/4.0 and Cross-Org. You can also use custom Apex adapters for bespoke integrations.
How It Works (Overview)
When a user requests an external record, Salesforce issues a live call to the external system through the external data source and adapter. Results are rendered in the Salesforce UI or returned to API clients. Because data stays external, there’s no duplication in Salesforce storage — which reduces storage costs and ensures a single source of truth.
Typical Use Cases
- Display ERP or legacy system data (invoices, purchase orders) inside Salesforce without syncing.
- Integrate large datasets that would be expensive to store in Salesforce.
- Provide cross-system reporting and related lists using external lookups.
- Real-time lookups for data that changes frequently and must remain authoritative outside Salesforce.
Capabilities and Limitations
Capabilities:
- Real-time access to external data (no nightly batch sync required).
- Supports read and, depending on the adapter, create/update/delete operations.
- Relationships: External lookup and indirect lookup fields let external objects relate to standard/custom objects.
- SOQL support: You can query external objects using SOQL (with some limitations).
Limitations to consider:
- Performance depends on the external system and network latency.
- SOQL and reporting have some restrictions compared to native objects (e.g., no full-text search on external data).
- Not all adapters support write operations. Verify adapter capabilities before designing behaviors that require DML.
- Licensing: Salesforce Connect is typically an add-on product; confirm entitlements and costs with your Salesforce account team.
Example: Querying an External Object
External objects appear in SOQL like regular objects. They use the __x suffix and can be queried if the external data source and permissions are configured properly. Example:
SELECT Id, Name, External_Id__c FROM Invoice__x WHERE Status__c = 'Pending'
Implementation Steps (High-Level)
- Create an External Data Source in Setup and choose the adapter (OData, Cross-Org, etc.).
- Configure authentication (OAuth, Named Principal, or per-user auth depending on adapter).
- Validate and sync the external object definitions into Salesforce (creates external object metadata).
- Define external lookup or indirect lookup fields to relate external objects to native objects.
- Adjust page layouts, list views, and permissions so users can access external objects.
Best Practices
- Cache selectively: Use platform caching or local copies for high-volume, read-heavy scenarios where latency matters.
- Monitor and tune the external service endpoints for responsiveness.
- Limit the number of fields fetched by default to reduce payload sizes and improve UI performance.
- Consider fallback synchronization for scenarios where external systems may be intermittently unavailable.
Summary
Salesforce Connect is a powerful integration option when you need real-time access to external data without duplicating it in Salesforce. It enables integration via external objects and adapters like OData, offering a flexible way to present and relate external records inside the Salesforce UI while keeping the source data external.
Leave a Reply