Advanced 25 min read

External Objects and Salesforce Connect (Overview)

By the end of this lesson, you'll be able to:

  • Explain what an external object is at a conceptual level
  • Distinguish an external object from Module 36's callout-based integration approach
  • Recognize when real-time federated access is preferable to syncing data in

Prerequisites: "Platform Cache"

Two different integration philosophies

Module 36 and Module 42's ledger integration made explicit HTTP callouts at specific moments (a Queueable job firing after a transaction) — data flows one direction, at a chosen time, and Salesforce keeps its own copy. External objects flip this: Salesforce Connect queries the external ledger system live, every time, and Salesforce never stores a copy of that data at all.

What this looks like conceptually

Ledger_Transaction__x   (an external object, not a standard/custom object)
  ↕ (Salesforce Connect, live query, no local copy)
External Ledger System's own database

A SOQL query against Ledger_Transaction__x looks almost identical to querying a normal object, but under the hood, Salesforce Connect is making a live request to the external system for that query, every single time — nothing is ever stored locally.

When federated access beats syncing

If the external ledger system is the single source of truth and its data changes constantly, syncing a copy into Salesforce (Module 36's approach) risks staleness — exactly the problem Lesson 2's Platform Cache lesson warned against for Balance__c. An external object avoids staleness entirely by never storing a copy, at the cost of depending on the external system's availability and response time for every single query.

Exercise

As a comment, explain the core difference between how Module 36's Queueable callout integration and an external object each keep Salesforce data in sync with an external system.

Show hint

Think about when the data transfer happens and whether Salesforce keeps a copy.

APEX

External Objects and Salesforce Connect (Overview) Quiz

1. What is the key architectural difference between an external object and Module 36's callout-based integration approach?

Log in to submit the quiz and save your score.

My Notes

Log in to keep private notes on this lesson.

Questions about this lesson

No questions yet — be the first to ask.

Log in to ask a question about this lesson.

Summary

An external object lets Salesforce query data that physically lives in another system in real time, via Salesforce Connect, without copying that data into Salesforce at all — a fundamentally different integration approach from Module 36's callouts.