An external lookup needs three pieces in place before the field type even appears: Salesforce Connect licensed, an external data source registered, and external objects generated from that source. Once the prerequisites exist, the field creation is straightforward, but the gotchas show up later in production when the external system blinks.
- Confirm Salesforce Connect is enabled and licensed
Check the Salesforce Connect add-on in Company Information. Without it, external data sources cannot be registered and the external lookup field type stays hidden. Talk to the account executive if it is missing, because Connect is licensed per external object and per user.
- Register the external data source
Setup, External Data Sources, New. Choose the connector type: OData 2.0, OData 4.0, Cross-Org, or a custom Apex adapter. Provide the endpoint URL, the named credential for authentication, and the certificate if mutual TLS is required. Validate the connection before saving.
- Sync the external object schema
From the external data source detail page, click Validate and Sync to pull the schema. Pick which tables to expose as external objects. The platform creates the external objects with __x suffix and a default external ID field. Review the field types it generated before continuing.
- Create the external lookup field on the parent object
Open the standard, custom, or external object that will hold the lookup. Fields and Relationships, New, External Lookup Relationship. Pick the target external object. The field stores the external system primary key as text, not as a Salesforce ID.
- Set field-level security and add to layouts
Configure FLS for the profiles that need to see the linked external data. Add the field to the page layout in the section that makes sense for the user journey. Verify the related list of external records appears where expected on the parent layout.
- Test sharing through the named credential
Log in as users with different profile and permission set combinations. Confirm they see the parent record and the linked external row resolves correctly. If the external row is blank, check whether the named credential restricts access on the external system side, not just the Salesforce side.
- Add monitoring for the external connection
Build a periodic health check that queries one external object record. Alert if response time exceeds the threshold the business can tolerate. Log connector errors centrally so support knows when blank external lookups are a connection issue rather than missing data.
The external object the lookup points at. Must be created from a Salesforce Connect external data source first.
The unique identifier from the source system. Auto-generated when the external object schema is synced.
Stores the endpoint URL and authentication for the external system. Without it, the relationship cannot resolve at runtime.
- Salesforce Connect is licensed separately from base CRM. The external lookup field type does not appear in Object Manager without the add-on, regardless of org edition.
- External lookups store the external system primary key, not a Salesforce ID. If the source system rekeys its identifier, every Salesforce record holding the old key breaks silently.
- Reports built on external lookups push the join to the source system on every run. Heavy dashboards can starve the external system of API capacity during business hours.
- There is no Recycle Bin for external rows. If the external system deletes a record, the Salesforce key remains but the data disappears with no audit trail on the Salesforce side.
- Sharing has two gates: Salesforce permissions on the parent, and the named credential plus external user permissions on the source. Users with read on the parent may still see blank external rows.