- SalesforceChaCha
- Posts
- π Building Integration Strategies That Survive Vendor Changes πΊ
π Building Integration Strategies That Survive Vendor Changes πΊ
Vendors leave. Architecture stays.
Good morning, Salesforce Nerds!
It arrives on a Tuesday. Subject line: "Important Product Update."
The connector holding half your integrations together is reaching end-of-life in 14 months. The vendor thanks you for your partnership and links to a migration guide that assumes you have a team of twelve. π¬
You don't have a team of twelve. You have a backlog, a budget that was locked in Q4, and an architecture that treats this vendor like a load-bearing wall.
Here's the uncomfortable truth: the vendor didn't create this risk. Your coupling did. Vendors get acquired, pivot, reprice, and retire products on their schedule, not yours. Salesforce itself retires API versions on a published cadence. ποΈ
The question isn't whether a vendor change hits you. It's how much of your architecture comes with it.
Let's make that number smaller. ποΈ

TABLE OF CONTENTS
π Building Integration Strategies That Survive Vendor Changes πΊ
BUILD THE MOAT
ABSTRACTION IS CHEAP INSURANCE
The anti-corruption layer is the oldest trick in the Domain-Driven Design book, and it earns its keep every time a vendor changes. The idea is simple: your org never talks to the vendor directly. It talks to an interface you own. π‘οΈ
In Apex, that's a thin contract:
public interface ITaxService {
TaxResult calculate(TaxRequest req);
} Your business logic depends on ITaxService. The vendor-specific implementation lives in one class behind it. When the vendor changes, you swap one implementation, not forty call sites.
The executive translation: abstraction converts a rebuild into a replacement. One costs quarters. The other costs a sprint. π°
The failure mode is letting vendor payloads leak into your domain. If their field names appear in your Flows, reports, and page layouts, the moat is decorative.
SPEAK YOUR OWN LANGUAGE
CANONICAL MODELS AND REAL CONTRACTS
Every vendor has its own definition of Customer, Order, and Invoice. If your integrations pass those definitions around raw, every system inherits every vendor's quirks. π§¬
A canonical data model fixes the vocabulary. You define what an Order means to your enterprise once. Each integration translates vendor formats to canonical at the boundary, on the way in and on the way out.
Pair it with contract-first API design. Publish the schema before anyone writes code. Version it. Treat changes to it like changes to a legal contract, because functionally, that's what it is. π
Don't boil the ocean. Canonicalize the five entities that cross the most system boundaries and stop. A canonical model for everything becomes a committee artifact nobody maintains.
Governance owns this layer. That's the point: the contract outlives any vendor on either side of it. βοΈ
STOP HOLDING HANDS
EVENTS BREAK THE COUPLE
Point-to-point integrations are handshakes. Event-driven integrations are announcements. The difference decides how badly a vendor swap hurts. π£
When Salesforce publishes a Platform Event, it doesn't know or care who's listening. An order ships, the event fires, and subscribers react. Swap the fulfillment vendor and Salesforce doesn't change a single line. The new vendor just subscribes.
Compare that to a synchronous callout buried in a trigger. Now the vendor's endpoint, auth model, and payload shape are welded into your transaction path. π
The pub-sub pattern also buys you operational slack. Replay IDs let a new subscriber catch up on missed events during a cutover, which turns a big-bang migration into a parallel run.
Events aren't free. You trade immediate consistency for durability. For most vendor-facing integrations, that's a trade worth making. βοΈ
PRICE THE EXIT
ENGINEER YOUR ESCAPE ROUTE
Here's the governance discipline almost nobody practices: exit-cost engineering. For every vendor in your integration landscape, someone should be able to answer one question. What does it cost to leave? πͺ
Not philosophically. In numbers. Endpoints touched, mappings maintained, credentials rotated, downstream reports affected, and an honest estimate in engineering-weeks.
If nobody can answer, your exit cost is unbounded. Unbounded exit cost is how a vendor you wanted to drop two years ago is still on the renewal. π§Ύ
Make it operational:
Score each on coupling depth: abstracted, translated, or welded π€
Review the scores at renewal time, not after the sunset email π€
Exit cost belongs in architecture reviews next to security and scale. A design that works but can't be unwound isn't finished. It's mortgaged.
YOU'RE ALREADY COUPLED
LOOSEN, DON'T REBUILD
You won't retrofit all of this by Friday, and you shouldn't try. Your org is already coupled somewhere. That's not a crisis. It's a queue. π§―
Rank your vendors by blast radius. Wrap the riskiest one behind an interface this quarter. Canonicalize the entity that crosses the most boundaries next quarter. Convert one synchronous handshake to an event after that.
Every increment shrinks the surface area of the next sunset email. None requires a rebuild, a war room, or a heroic Q4. π
Vendor changes are weather, not disasters. You can't stop the rain. You can decide whether you're standing in it.
The best time to loosen a coupling was before you signed. The second-best time is before the renewal. β³
SOUL FOOD
Todayβs Principle
"For each desired change, make the change easy (warning: this may be hard), then make the easy change."
and now....Salesforce Memes



What did you think about today's newsletter? |