Skip to content

Pattern First, Then Mechanism

Module 1 of 7 in the chapter Choosing the Right Integration Design, chapter 16 of the Integration Architect course. Each module stands on its own. Previous chapter: Integration Orchestration · Next: Salesforce’s Decision Guide, Read Well

The question this module answers: Once you know an integration’s pattern, how do you choose the mechanism that builds it, and why in that order?

When I teach fire and forget, I say it like this: “Fire and forget is where you make a request and you don’t need the answer… Platform events… Once the event goes out, you’re done.”

Notice what’s in that sentence. Two different things. Fire and forget is a pattern: what kind of conversation the two systems have. A platform event is a mechanism: one of the ways Salesforce can have that conversation. It isn’t the only one. A callout from a background job is fire and forget too, and so is an outbound message.

People mix the two up all the time, and it costs them. “We’re using platform events” doesn’t tell me the design. “Salesforce tells the other systems and doesn’t wait” does. The first is a choice of parts. The second is the architecture, and it leaves the parts open until you know enough to choose.

The Data Architect course sets out the order, in my class words, and I won’t repeat it all here: Requirements, Then Pattern, Then Mechanism. In short:

  1. The requirements. Who starts it, which way the data goes, how soon, how much.
  2. The pattern. Salesforce’s six names, chosen with three questions and the selection tables (chapter 7 module 5).
  3. The mechanism. The doors in and out of Salesforce that Part 2 of this course took one at a time.

Part 1 ended at step 2: Checkpoint 1 named a pattern for every Steve Trucking arrow (chapter 7 module 7). Part 2 taught the mechanisms. This chapter puts them together.

Here’s the map from the six patterns to the mechanisms you’ve now met, each with the chapter that teaches it.

Each pattern, and what carries it Each pattern and the mechanisms that carry it, six rows. Request and Reply, Salesforce calls and waits: a callout from Apex or a flow, or External Services, chapter 9. Fire and Forget, Salesforce tells and moves on: a platform event, a callout from a background job, or an outbound message, chapters 11 and 9. Batch Data Synchronization, a whole set on a schedule: the Bulk API, or Change Data Capture with a batch underneath, chapters 10 and 11. Remote Call-In, another system calls Salesforce: the REST and Composite APIs, your own Apex REST door, or the Bulk API for volume, chapters 8 and 10. UI Update Based on Data Changes, the screen is told: platform events or Change Data Capture that the page subscribes to, chapter 11. Data Virtualization, see it, don't copy it: Salesforce Connect, or a component that calls out and shows, chapters 19 and 9. Underneath: one pattern, several mechanisms; the pattern narrows the choice, it doesn't make it. {"author": "Steve Simpson", "blueprint": "1.0.0", "builder": "standard 1.58.0", "built": "2026-11-04", "id": "DGM-INT-CD-01", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "cells 0.5.0", "theme": "stevetecharc 1.4.0"} THE PATTERN THE MECHANISMS THAT CARRY IT Request and Reply Salesforce calls and waits Fire and Forget Salesforce tells and moves on Batch Data Synchronization a whole set, on a schedule Remote Call-In another system calls Salesforce UI Update Based on Data Changes the screen is told Data Virtualization see it, don't copy it A callout from Apex or a flow or External Services · chapter 9 A platform event or a callout from a background job, or an outbound message · chapters 11 and 9 The Bulk API or Change Data Capture, with a batch underneath · chapters 10 and 11 The REST and Composite APIs or your own Apex REST door; the Bulk API for volume · chapters 8 and 10 Platform events or Change Data Capture with the page subscribed · chapter 11 Salesforce Connect or a component that calls out and keeps nothing · chapters 19 and 9 carried by carried by carried by carried by carried by carried by One pattern, several mechanisms. The pattern narrows the choice. It doesn't make it. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

The pattern narrows the choice. It doesn’t make it.

PatternMechanisms that carry itWhere the course teaches them
Request and ReplyA callout from Apex or a flow; External ServicesChapter 9, where a callout can run
Fire and ForgetA platform event; a callout handed off to a background job; an outbound messageChapter 11; chapter 9
Batch Data SynchronizationThe Bulk API; Change Data Capture, with a batch underneathChapter 10, keeping a copy in sync; chapter 11
Remote Call-InThe REST and Composite APIs; your own Apex REST door; the Bulk API for volumeChapter 8; chapter 10
UI Update Based on Data ChangesPlatform events or Change Data Capture, with the page subscribedChapter 11
Data VirtualizationSalesforce Connect; a component that calls out, shows the data and keeps nothingChapter 19 (coming soon); chapter 9

Two things to notice. First, every row has more than one answer. Second, the same mechanism turns up in more than one row: a platform event can be fire and forget or a screen update, and the Bulk API can be a nightly copy or a partner loading a file. A mechanism doesn’t tell you the pattern, and a pattern doesn’t tell you the mechanism. You need both, in that order.

Take one Steve Trucking arrow. The day before a delivery, Salesforce asks the SMS and email provider to send the recipient a message. Checkpoint 1 called it a fire and forget: Salesforce asks, gets an acknowledgment, and moves on. The pattern was settled in Part 1. The mechanism wasn’t.

One arrow, three ways to build it One arrow, three ways to build it: the day-before message, a fire and forget. A callout from Salesforce: a background job or a flow's asynchronous path calls the provider's API; Salesforce holds the credential, the retries and the log; nothing else is needed. A platform event to the integration layer: Salesforce publishes and moves on; the layer, which already takes the status events, calls the provider and owns the retries; one more thing for the layer team to run. An outbound message: built with clicks and retried for 24 hours, but it sends SOAP, so something has to turn it into the provider's call, and Salesforce isn't investing in it further. Underneath: the pattern is settled; what picks the mechanism is what the pattern doesn't know. {"author": "Steve Simpson", "blueprint": "1.0.0", "builder": "standard 1.58.0", "built": "2026-11-04", "id": "DGM-INT-CD-02", "rights": "\u00a9 2026 Twinshark LLC. All rights reserved.", "template": "comparison/side-by-side 0.5.0", "theme": "stevetecharc 1.4.0"} A callout from Salesforce a background job or a flow's asynchronous path Calls the provider's API directly. Nothing else in the landscape is needed. Salesforce holds the credential, the retries and the log. A platform event to the layer Salesforce publishes and moves on The layer already takes the status events. It calls the provider and owns the retries. One more flow for the layer team to run. An outbound message built with clicks Queued and retried for up to 24 hours. Sends SOAP: something must turn it into the provider's call. Salesforce isn't investing in it further. The day-before message is a fire and forget. The pattern is settled. What picks the mechanism is what the pattern doesn't know. © 2026 Twinshark LLC · stevetecharc.com
Click to enlarge

Same pattern, three mechanisms.

A callout from Salesforce. A background job, or a flow’s asynchronous path, calls the provider’s API directly (chapter 9 module 5). Nothing else in the landscape is involved. But Salesforce now holds the provider’s credential, the retries and the log, and the Salesforce team owns all three (chapter 14).

A platform event to the integration layer. Salesforce publishes “a message is due” and moves on (chapter 11). The integration layer, which already takes Steve Trucking’s status events, calls the provider and owns the retries. Salesforce stays simple; the layer team has one more flow to run.

An outbound message. Built with clicks, queued and retried by Salesforce for up to 24 hours (chapter 9 module 7). But it sends Salesforce’s own SOAP message and waits for Salesforce’s own acknowledgment back. The provider’s API doesn’t speak that, so something in between has to turn it into the right call. And Salesforce says it will keep outbound messaging going “within current functional capacities, but does not plan on making further investments in this technology” (Data Integration with Salesforce (opens in a new tab), checked 2026-11-07).

All three are fire and forget. All three would work. So what decides? Not the pattern. Things the pattern doesn’t know:

  • Who builds it and runs it, and what that team is good at.
  • The numbers: how many messages, at the busiest hour, and what each one counts against.
  • What’s already there: a layer that already takes the status events is a door that’s already open.
  • What it costs, in licences, in allocations and in people.

Those are this chapter’s next modules: what Salesforce’s own guide says (module 2), the forces (module 3), and how to weigh them (module 4). Checkpoint 2 makes the pick for this arrow, with the numbers (module 7).

Test knowledge. Separate the pattern from the mechanism. Expect a scenario that describes the requirements and asks for the Salesforce mechanism. Name the pattern first; then choose among the mechanisms that carry it, using the details the scenario gives (who maintains it, the volume, what’s already in the landscape).

Beyond the exam: what AI changes. Ask an AI assistant how to send a message from Salesforce, and it will usually answer with a mechanism, and often a good one. What it can’t know is which team will run it, what’s already in your landscape, or what you pay for. Ask it the pattern question first, then give it those facts, and its answer gets much better. Better still, ask it for three mechanisms and what each one costs you.

  • For every arrow: the pattern first, in words that name no product.
  • The mechanisms that could carry it, more than one, from the doors Salesforce has.
  • What the pattern doesn’t know: who runs it, the numbers, what’s already there, what it costs.
  • Which mechanism, and why, said so someone else could check the reasons.