Integration

Designing Salesforce integrations that scale: REST APIs vs. SOAP vs. middleware

Umar Abdul Aziz 6 min read

The integration pattern you choose early shapes everything downstream — how failures are handled, how the system scales, and how much a future developer has to relearn just to make a small change. This isn’t a preference decision between three roughly equivalent options. It’s an architecture decision with real tradeoffs, and getting it wrong is expensive to unwind once a dozen processes depend on it.

REST APIs

When to use: most modern, high-volume, real-time use cases — the default starting point for a new integration in 2026.

Pros: lightweight, widely supported across virtually every modern system, and well suited to mobile and web clients that need fast, predictable round-trips.

Cons: less built-in enterprise tooling than a middleware platform — monitoring, retry logic, and orchestration across multiple systems are things you build yourself rather than get out of the box.

Example scenario: syncing order status from an e-commerce platform into Salesforce in near real time, so support agents see current fulfillment status without switching systems.

SOAP

When to use: legacy system compatibility, or when the system on the other end has strict contract requirements that predate REST’s dominance.

Pros: strong typing and a formal contract (WSDL) that some older enterprise systems — particularly in finance and healthcare — still expect.

Cons: verbose payloads, heavier overhead per call, and tooling that feels dated next to a modern REST or event-driven stack.

When it’s legacy-only: in practice, SOAP is rarely the first choice for a new integration in 2026 — it shows up when the system on the other end doesn’t support REST and migrating that system isn’t in scope.

Middleware (MuleSoft)

When to use: multiple systems, complex orchestration, or integration patterns you expect to reuse across the org rather than build once and forget.

Pros: centralized monitoring, reusable APIs, and a single team that can own integration patterns instead of every point-to-point build being bespoke and undocumented.

Cons: licensing cost and added infrastructure — middleware is a real commitment, not a lightweight add-on, and it needs a team with the bandwidth to own it.

Enterprise benefit: when an org has five or more systems that all need to talk to each other, middleware turns a combinatorial mess of point-to-point integrations into a hub every new system connects to once.

Comparison table

PatternBest use caseScalabilityCostMaintenance
RESTReal-time, high-volume, modern systemsHighLowOwned per-integration
SOAPLegacy systems with strict contractsModerateLow–ModerateOwned per-integration
MiddlewareMultiple systems, complex orchestrationVery highHigher (licensing)Centralized

Decision framework

  • Number of systems involved: two systems rarely justify middleware. Five or more usually do.
  • Real-time vs. batch need: real-time favors REST or Platform Events; batch tolerates SOAP or scheduled jobs either way.
  • Existing infrastructure: if middleware is already licensed and staffed, use it — don’t build a parallel pattern outside it.
  • In-house maintenance capacity: middleware without a team to own it becomes a liability faster than a well-documented point-to-point REST integration.

Best practices, regardless of pattern

Design for failure — assume every call will eventually time out or return a bad payload, and decide up front what happens next. Monitor everything, so a failed sync surfaces as an alert instead of a customer complaint three weeks later. And document the contract — field mappings, expected error codes, retry behavior — so the next person maintaining the integration isn’t reverse-engineering it from production logs.

Umar Abdul Aziz
Salesforce Architect · 11× certified

I design, build, and rescue enterprise Salesforce implementations — architecture, integrations, and custom development that hold up past the demo.

Work with me
Link copied