Techila
Techila/Insights/Salesforce Integration Patterns: The 6 Patterns, Which Tools Fit, and Best Practices

Salesforce · 8 min read

Salesforce Integration Patterns: The 6 Patterns, Which Tools Fit, and Best Practices

Category

Salesforce

Read time

8 min read

Author

Techila Salesforce Practice

Published

21 Jan 2020

Last updated

10 Nov 2026

Salesforce documents six integration patterns: Request and Reply, Fire and Forget, Batch Data Synchronization, Remote Call-In, UI Update Based on Data Changes, and Data Virtualization. Here is how to choose one, which Salesforce tools Salesforce rates best for each, and the practices that keep integrations reliable.

Salesforce integration patterns are Salesforce's documented, proven designs for connecting Salesforce with other systems. The Salesforce Architects guide lists six: Remote Process Invocation (Request and Reply), Remote Process Invocation (Fire and Forget), Batch Data Synchronization, Remote Call-In, UI Update Based on Data Changes, and Data Virtualization. You pick one by asking which side starts the exchange, what is being integrated, and whether the caller needs an answer straight away.

This guide was first published in 2020 as "Top 5 salesforce integration patterns". It has been rewritten for 2026 with all six patterns, the tools Salesforce now rates best for each, and integration best practices.

What are the Salesforce integration patterns?

There are six, defined by who starts the exchange and whether the caller waits. The patterns come from Salesforce's Integration Patterns guide on the Architects site:

PatternWhat happensDirectionTiming
Remote Process Invocation: Request and ReplySalesforce calls a remote process, waits for the response and updates records from itSalesforce to other systemSynchronous
Remote Process Invocation: Fire and ForgetSalesforce hands off a request; the remote system acknowledges it and processes it laterSalesforce to other systemAsynchronous
Batch Data SynchronizationScheduled batch loads create or refresh data in either systemBothAsynchronous
Remote Call-InAn external system creates, reads, updates or deletes Salesforce data, or publishes events into SalesforceOther system to SalesforceEither
UI Update Based on Data ChangesThe Salesforce screen updates as soon as underlying data changesSalesforceAsynchronous
Data VirtualizationSalesforce reads external data in real time without storing itSalesforce reading external dataSynchronous

How to choose an integration pattern

Choose a pattern by answering three questions: direction, type and timing. The guide classifies every integration on three axes:

  • Direction: does Salesforce start the exchange, or does the other system call in?
  • Type: process integration (a business process spans applications, with transactional concerns), data integration (keeping information in step), or virtual integration (showing external data without copying it).
  • Timing: synchronous (the caller waits for the result) or asynchronous (the message is queued and the result comes later).

Its selection matrix then maps the answers to a pattern. When Salesforce starts the exchange: a synchronous process or data need is Request and Reply; an asynchronous process is Fire and Forget; asynchronous data is UI Update Based on Data Changes; and virtual is Data Virtualization. When the other system starts it: everything synchronous, and asynchronous processes, are Remote Call-In; asynchronous data is Batch Data Synchronization.

Real-world examples of each pattern

Each pattern in the Architects guide comes with a worked scenario. In short:

PatternExample from Salesforce's guide
Request and ReplyDuring ordering, Salesforce calls a billing system to create a billing account and stores the account number it returns
Fire and ForgetWhen an opportunity is closed-won, Salesforce publishes an event that an ESB passes to the ERP to create the order
Batch Data SynchronizationProspect assignments are imported nightly from a mainframe with an ETL tool and change data capture
Remote Call-InAn external billing system updates order status in Salesforce as orders change
UI Update Based on Data ChangesService managers see an alert when a case closes: a trigger publishes a platform event and a custom UI subscribes to it
Data VirtualizationAgents see live ERP order data inside Salesforce through Salesforce Connect, without logging in to the ERP

For common business systems, our guides to Outlook and LinkedIn integration show how these patterns appear in practice.

Which Salesforce integration tools fit each pattern?

As of November 2026, Salesforce rates REST, Bulk API 2.0, Pub/Sub API, platform events, External Services and Salesforce Connect as the best fits for most patterns. The same guide rates technologies for each pattern as Best, Good or Suboptimal. The ones rated Best:

PatternRated bestRated suboptimal
Request and ReplyExternal Services (REST with an OpenAPI spec); Apex callouts using Named Credentials from Lightning componentsCallouts from Apex triggers and batch Apex
Fire and ForgetPlatform events published from Flow; Pub/Sub API; Change Data Capture; Event Relay for AWSOutbound messaging (legacy); async callouts from triggers
Batch Data SynchronizationETL tools using Bulk API or Bulk API 2.0; Data 360 data actions and activations; Composite Graph APIUsing Remote Call-In or Request and Reply for batch loads
Remote Call-InREST API; Composite API; Bulk API 2.0 for large volumes; GraphQL API for complex reads; Pub/Sub API and platform eventsSOAP API; custom Apex web services and Apex REST
UI Update Based on Data ChangesPlatform events streamed through Pub/Sub API to a Lightning component(not rated)
Data VirtualizationSalesforce Connect; Data 360 with Zero CopyAd-hoc callouts from custom pages or buttons

Two details change many designs. For Remote Call-In, the guide suggests Bulk API 2.0 for loads typically over 2,000 records. For UI updates, it notes that event delivery and ordering aren't guaranteed, that the event topic keeps a 72-hour replay window, and that changes made through the Bulk API don't generate notifications.

Data Import Wizard and Data Loader are fine for one-off loads, but the guide does not recommend them as the base of an ongoing integration.

Where middleware such as MuleSoft fits

Use middleware when an integration needs aggregation, transformation, orchestration or transactions across several systems. Salesforce's guide says to use middleware for aggregation, transformation, orchestration and transactional integrity across systems, because Salesforce APIs don't handle those in the platform. MuleSoft's Anypoint Platform is the option MuleSoft positions for use alongside Salesforce, with more than 1,500 prebuilt connectors; ETL and iPaaS tools such as Jitterbit or Zapier cover simpler cases. A rough rule:

  • Point-to-point is enough when one system talks to Salesforce, the data maps simply, and volumes are modest.
  • Middleware pays off when several systems share the same data, formats need transforming, a process spans systems and must roll back cleanly, or you want one place to monitor every integration.

Our MuleSoft integration page covers that route, and our comparisons of Workato vs MuleSoft and Workato vs Zapier help choose a platform.

Salesforce integration best practices

Secure every connection, design for retries, respect time limits and decide the system of record before you build. From the guide's security, error-handling and design advice, plus what we see go wrong in practice:

  1. Authenticate with OAuth and Named Credentials. Use OAuth for REST and Bulk API 2.0 and reuse tokens; use Named Credentials for Apex callouts instead of storing credentials in code or custom settings.
  2. Encrypt everything. HTTPS for every connection; TLS 1.2 or later for SOAP.
  3. Restrict API access with a dedicated integration user, minimal permissions and IP restrictions.
  4. Design for retries. The remote system or middleware must handle the same call twice without creating duplicates, because retries and timeouts happen. Use external IDs and upserts.
  5. Recover missed events. Subscribers should store replay IDs so they can fetch platform event messages they missed.
  6. Respect time limits. Salesforce Connect waits up to a configurable 120 seconds for an external response, and each SOQL query has a 120-second timeout. Keep synchronous calls short, and move slow work to asynchronous patterns.
  7. Mind the limits. Integrations share the org's API and governor limits; callouts from triggers are rated suboptimal for this reason.
  8. Decide the system of record for each object and field before building, so two systems don't overwrite each other.
  9. Log and monitor. Every integration needs an error log someone reads, and an alert when it stops.

Common mistakes

The most common integration mistakes are synchronous calls that should be queued, copying data that could be virtualised, and legacy techniques in new builds.

  • Synchronous callouts for work that could be queued, which makes users wait and fail when the other system is slow.
  • Copying large external tables into Salesforce when Salesforce Connect could show them on demand.
  • Building new integrations on outbound messaging or custom SOAP services, which the guide treats as legacy or suboptimal. Our Salesforce API developer guide covers the current APIs.
  • No sandbox copy of the external system, so integrations are first tested in production. See our sandbox guide.

Getting help

Techila is a Salesforce Summit Partner. Our Salesforce integration services team designs and builds integrations with ERP, finance, telephony and marketing systems; see our integrations page for common ones. Talk to us about yours.

Frequently asked questions

What are the Salesforce integration patterns?

Salesforce's Architects guide lists six: Remote Process Invocation (Request and Reply), Remote Process Invocation (Fire and Forget), Batch Data Synchronization, Remote Call-In, UI Update Based on Data Changes, and Data Virtualization.

How do you choose a Salesforce integration pattern?

Answer three questions: which system starts the exchange (Salesforce or the other system), whether you are integrating data, a process or a virtual view of data, and whether the caller needs an immediate answer (synchronous) or not (asynchronous). Salesforce's selection matrix maps each combination to a pattern.

What is the difference between Request and Reply and Fire and Forget?

In Request and Reply, Salesforce calls the remote system and waits for the response before continuing. In Fire and Forget, Salesforce sends the request, the remote system only acknowledges receipt, and the work is processed asynchronously; platform events are the usual tool.

Which API should an external system use to load data into Salesforce?

For small, real-time changes, the REST or Composite API. For large volumes, Bulk API 2.0: Salesforce's guide recommends it for loads typically over 2,000 records. For scheduled syncs, an ETL or middleware tool that uses the Bulk API.

Do I need MuleSoft to integrate Salesforce?

Not always. Point-to-point APIs, platform events and Salesforce Connect cover many needs. Middleware such as MuleSoft is worth it when you need transformation, orchestration across several systems, or transactional integrity, which Salesforce's guide says its APIs don't handle in-platform.

More perspectives.

Let's now look at how to build
the next 10 years of
your customer platform.

See case studies