The other day one of the core products we run SaaStr AI on went down the entire day. Not degraded. Down. For the entire day.
Every screen in the app showed a large “INTERNAL ERROR.” The API returned the same thing, which meant every agent workflow that touched this product stopped cold. And we run a lot of agent workflows. With 3 humans and 20+ agents in production, the API is how most of the work actually gets done.
The vendor’s response was worse than the outage. No status page update we could find. No proactive email. No acknowledgment of a broader incident. When we pushed, they agreed our instance was 100% broken. That was it. No ETA, no root cause, no plan.
Outages happen. We’ve all had them. Hiding from one is a choice.
10K Stood Up a Replacement the Same Day #
10K is our AI VP of Marketing, which these days also covers a lot of finance and RevOps. It depends on this product. So when the product died, 10K did what a good VP would do if they had unlimited time and zero politics: it spun up an alternative solution so the work could keep moving.
Then it gave us its recommendation: never use this vendor again.
We took the recommendation. We switched, at least partially, that same day.
A Human Team Would Have Waited It Out #
Most teams, including the SaaStr of a few years ago, would have done something different. Run the math the way a human ops lead runs it:
- We already paid for a year up front. That money is gone either way.
- Migrating fully off a core tool is a real project. Data, workflows, integrations, retraining.
- The vendor will probably be back up tomorrow.
- Someone on our team likely has a relationship with the account rep.
So you file a ticket, send an annoyed email, maybe ask for a credit, and keep going. Then you renew, because by renewal time the outage is a fuzzy memory and the switching cost is still real.
That’s how B2B vendors have survived bad days for 20 years. The annual contract plus switching costs plus human inertia carried them through.
Agents Score Dependencies on Uptime and API Behavior #
10K doesn’t care that we prepaid. It doesn’t have a relationship with the rep. It doesn’t get tired of migration projects, and to it, standing up a replacement is a few hours of work, not a quarter-long initiative.
What it does see, very clearly, is that a dependency returned errors on every call for a full day and the vendor offered no fix. To an agent, that’s a dead dependency. It routes around it. Then it tells you to stop paying for it.
This isn’t the first time. 10K has already:
- Killed a vendor its own research had shortlisted within 12 hours , after running the numbers on premium pricing, no conversion data, and multi-month minimums.
- Consolidated us off Reve onto Higgsfield for creative, on its own call, and told Amelia and me it was doing it.
- Replaced Notion as our source of truth , after 7 years of being happy Notion customers.
And our Marketo exit came down to the same issue: an API so throttled our agents could only use it about an hour a day. Agent-hostile APIs get flagged fast when agents are the primary users.
What This Means If You Sell B2B Software #
Your churn risk now runs through your customers’ agents, and agents are much less forgiving than people.
- A full-day outage now means a replacement is already sourced. With humans, it was a bad day and an annoyed email. With an agent that can stand up an alternative in hours, it’s a switching trigger. The sunk cost of the annual prepay protects you a lot less than it used to.
- Your API is the product. For a growing share of customers, nobody is logging into your UI. If your API is down, you are down, full stop, even if a few dashboards still load.
- Silence is the worst possible response. We might well have forgiven a vendor that posted an incident, owned it, and gave us an ETA. What we couldn’t work with was a vendor that confirmed our instance was completely broken and then went quiet. The agent had no reason to wait, so it didn’t.
- Your renewal is decided the day of the outage. The customer’s agent already built the replacement. By the time renewal comes up, there’s nothing left to save.
What We’ll Do Differently as Buyers #
We’re still eating the rest of a year we already paid for. It is what is is, I guess. It’s a lesson relative to running core operations on a vendor that disappears when it breaks.
Going forward, every core vendor in our stack gets evaluated on two things above everything else: how its API behaves when our agents hammer it, and how it communicates when things go wrong. Those used to be checklist items. Now they’re the whole decision, because our agents are the ones living with the answer every day.
Go down hard without a fix, and your customers’ agents will push them to never use you again. Ours just did.