Essay
SaaS Integration Maintenance: Why Integrations Break After Launch
Short answer: SaaS integrations break after launch because the build is a one-off cost and everything that follows is recurring: tokens expire, webhooks repeat, fields get renamed, the partner's outages reach your customers, the numbers drift apart, and nobody planned the exit. Building an integration got cheap. Maintaining, coordinating, trusting and undoing one did not, and those four costs are what decide whether an integration is still alive a year later.
Ask a founder who has shipped a cross-product integration what it cost, and they rarely mention the build. Three founders who had done it without any platform described it on a SaaS forum. One: "Cross-integrations look free until the other APIs start breaking your glue." Another: "rev-share is great until their API goes down and suddenly you're the one getting the angry emails." The third spent a whole comment on attribution, support and exit, and not one word on code.
That matches what anyone who has run an integration for more than a quarter already knows.
Why is building an integration cheap now?
Concede this completely, because it is true: a coding agent writes a working connector to a documented API in a weekend. OAuth flow, webhook endpoint, field mapping, a settings screen. If your integration plan assumes the build is the hard part, the plan is out of date.
That is exactly why maintenance now dominates. When the build cost falls towards zero, the costs that did not fall become nearly all of the cost. And those costs share one property: each one involves another company, and cheaper code does nothing about another company.
The four costs that arrive after launch
| Cost | What it looks like | Why code alone doesn't fix it |
|---|---|---|
| Maintaining | Token refresh per customer, forever. Duplicate and out-of-order webhooks. A partner renames a field and your sync silently writes nulls. | Partly fixable in code, but only if you know what the partner will change, and when. |
| Coordinating | The partner's API is down. Your customer cannot tell; they see your product, so they email you. | Needs an agreed support split and response time. That is a conversation, not a commit. |
| Trusting | Your dashboard says one number of attributed signups; theirs says a much smaller one. The revenue share stays friendly only while both sides believe the figures. | Two honest systems can disagree. Someone has to define which record counts. |
| Undoing | The partnership ends. A host can pull the embed overnight and take the partner's signups with it. Nobody knows what happens to live customers or their data. | An exit is an agreement about notice and wind-down. It has to exist before you need it. |
One more belongs on the list even though nothing breaks: users who arrive through a partner's product can churn faster than users who found you directly, because they only ever touched you through someone else. A conversion rate without 30-day retention is a vanity number, and you cannot see it unless you decided to measure it at launch.
Why does maintenance multiply with every partner?
One integration is a project. A few partners all connected to each other is a maintenance load that grows faster than the group:
| Partners | Direct connections (every pair) |
|---|---|
| 2 | 1 |
| 3 | 3 |
| 5 | 10 |
| 10 | 45 |
Each connection breaks whenever either side ships a change, so a newcomer joining five directly connected partners inherits five integrations to keep alive, not one. It is the same logic behind integration hubs like Plaid for banks or Merge for HR systems: nobody maintains forty-five connections, so everyone connects once to something in the middle.
Is an integration worth it? A formula that includes the exit
Founders deciding whether to integrate with a partner are really weighing this:
worth it = chance it works × upside − cost to build − cost to undo
Most integration partnerships don't work out, so the chance term is small. AI shrank the cost to build. But if the cost to undo is still large (unpicking code, customer data and customer expectations across two companies), the formula stays negative for most ideas, and nobody tries. Make undoing cheap and far more partnerships become worth trying. Cheap, painless failure is what makes people willing to start.
It also argues for climbing slowly. Integrate only as deep as the results justify: a listing and a link first (hours), then shared sign-in and automatic account setup (days), and only then a fully embedded capability (weeks). Nobody should spend three weeks embedding a partner that would have failed at the listing stage.
How do you reduce SaaS integration maintenance?
Split it the same way the costs split: what your code can absorb, and what has to be agreed.
In the code (your coding agent can do all of this)
- One adapter file per partner. Every partner field name lives in one place, responses are validated at that boundary, and a missing or renamed field degrades the feature and logs the field name instead of crashing.
- Idempotent webhooks, proven with a replay test. See how to handle duplicate webhooks.
- Early, single-flight token refresh per customer, and a clear "reconnect" state when refresh fails.
- A degraded mode for every partner surface. After a few consecutive failures, stop calling and show your own branded "temporarily unavailable" message. A customer who sees that does not email you; a customer who sees an error page does.
- Contract tests once a partner has several hosts. Each host writes a small spec of the calls and fields it relies on, and the provider runs them before deploying. It is the strongest prevention there is, and it costs the provider effort, so it is worth it from the third or fourth host, not the first.
In writing (no code can do this)
- Change notice. A fixed notice period before either side ships a breaking change, and a named place where the notice is posted.
- A support split. Whoever's interface the customer sees owns first-line support; the provider owns second-line and commits to a response time.
- One statement of the numbers. A partner id carried through signup, plus one monthly figure both sides confirm or dispute line by line.
- An exit clause. Notice in both directions, what happens to live customers and their data, and that shares already earned stay payable.
- A retention line. Partner-sourced customers still active at 30, 60 and 90 days, compared with your direct ones.
None of the written items take long. They take the right moment, which is before launch, while both sides still want the deal. After the first outage they become a negotiation between two annoyed founders.
Why integrations rot when nobody is paid to keep them alive
There is one more reason maintenance gets skipped, and it is economic. If the partner whose capability you embedded earns nothing when your customers use it, every hour they spend keeping your integration alive is an hour against their own roadmap. Integrations rot because integration partners get paid nothing. A revenue share on the sales the integration actually produces gives both sides a reason to answer the support ticket and to give notice before the rename.
That is also why it matters what you integrate around. An integration is only worth this upkeep if the partner holds something your coding agent can't cheaply rebuild (see the moats that decide whether a SaaS is worth integrating with). Maintaining a connection to an ordinary feature you could have built yourself is all cost and no upside.
What this means for how you plan an integration
Budget the build in days and the relationship in years. Before writing a line of code, agree the four things a test can't catch: change notice, support split, the record that settles the numbers, and the exit. Then let your coding agent do what it is now good at.
That division is how Ordana works too. Ordana doesn't maintain your glue: members build the integration themselves, with their own coding agent. What Ordana does is make sure that when the glue breaks, the revenue share, the terms of support and the exit are already agreed.
Related reading:
- 7 Common SaaS Integration Problems (and How to Fix Each) — each of the problems above, with the specific fix.
- How to Handle Duplicate Webhooks: The Replay Test — the most mechanical maintenance problem, solved in code.
- The integration partnership agreement — putting support, change notice and exit in writing.