The All-in-One That Couldn’t Be Priced

The All-in-One That Couldn’t Be Priced
Published in TrendAITristan V15 August 20265 min read

On 9 August I made the call to leave GoHighLevel.

Twelve hours of working build went with it. A Conversation AI agent, a 26-page knowledge base, two calendars, handover scenarios, a voice agent — all built, all working, all inside a platform we no longer use.

Leaving was still the cheaper option.

Here’s the reasoning. The mistake underneath it is one I’d made without noticing, and it has nothing to do with the software being bad.

What “All-in-One” Actually Meant

The plan was to run client businesses on one platform — booking, pipeline, inbox, AI reply, SMS. One vendor, one bill, one thing to learn.

Then I asked six direct questions about cost, and the written answers arrived.

  • The AI tiers are priced per sub-account — not per agency. USD $50/mo and USD $97/mo, each. Ten clients means ten subscriptions. The cheaper tier caps AI replies at 1,000 and inbound voice at 100 minutes, and excludes outbound voice entirely.
  • Australian regulatory bundles are per sub-account and cannot be shared. Ten Australian clients means ten bundles, and ten separate carrier reviews.
  • Usage bills from a rate card.

Nothing there is dishonest. It’s all documented, and it was all in front of me before I started. I just never added it up.

“All-in-one” is a claim about the invoice, not about the architecture. The complexity doesn’t disappear. It moves into the bill, and it multiplies by your client count.

The Question That Ended It

I asked for the Australian rate card twice.

It was never supplied.

That is the figure sitting underneath every price I would quote a client. Without it, a quote isn’t a quote — it’s a guess with an invoice attached. I would be the one absorbing every unexpected usage charge, every month, for every client. The margin would belong to the platform, not to the service.

The other answers I could have worked with. Per-sub-account pricing is expensive, but it’s a number. Bundles are friction, but they’re countable. A rate card that doesn’t arrive after two asks isn’t a delay.

It’s the answer.

What Leaving Cost

Twelve hours of build, written off in one afternoon.

Three other pieces of work were parked on assumptions that died with it: two client builds that presumed a sub-account and a template load, and a productised-service factory that was going to ship as a platform snapshot. All of them now need rebasing on whatever comes next.

The replacement decision still hasn’t been made. It was this sprint’s most important story. It’s Saturday, the sprint closes tomorrow, and it has zero hours against it.

That is its own lesson, for another week.

The Rule It Left Behind

Any platform I put a client on has to produce a per-client monthly cost I can calculate before I commit.

Not estimate. Calculate — with a source named for every figure.

If the number can’t be obtained, that isn’t a blocker to work around. It’s the decision, already made.

I’m applying it to the replacement study now. That is the one part of this worth more than the twelve hours it cost.


One Last Thing

One of my six questions was about Australian SMS sender-ID rules, and whether unregistered messages would be silently filtered from 1 July.

The vendor answered it clearly. The answer was that I was wrong. A standard mobile number needs no registration at all. The fear was unfounded.

We left anyway.

Because the problem was never any single answer. It was that after every answer arrived, I still couldn’t compute the total — and you cannot productise a service whose cost you can’t name before you sell it.