Register your interest: Tag @Cody, get an agent
BlogResources

Pricing bot work when your costs are somebody else's volume

Meta charges per message and your client controls the volume. How to structure pricing so a successful project does not cost you money.

Rebecca PearsonRebecca Pearson11 min read

Summarize with AI

Pricing bot work when your costs are somebody else's volume
On this page

Most advice about pricing this work is a table of tiers with numbers in it. The numbers are somebody's guess about a market that varies by country, sector and how good you are, and copying them tells you nothing about the thing that actually decides whether the work is profitable.

That thing is structural. Your largest running cost moves with your client's message volume, and your client controls their message volume. A fixed monthly fee against a variable cost you do not control is a bet, and it is a bet that loses precisely when the project succeeds and volume grows.

What we'll cover

The structural problem

Three of your cost lines behave differently and most pricing treats them as one.

Fixed. Your build time, and the platform subscription. Known in advance.

Variable with volume. Meta's per-message charges, and model costs where the bot generates replies. These scale with how busy your client is, and model spend grows with conversation length as well as count.

Variable with success. The support you give, which rises when the client starts relying on the thing and wants changes.

A single monthly number covering all three is a margin that erodes silently. You will not notice until a client's seasonal peak arrives and a month's fee no longer covers a month's messages.

The fix is not a higher number. It is separating the lines so that the ones you do not control are not your risk.

Three models, and what each protects

Build plus pass-through. You charge for the build and the support, and platform and message costs go to the client, either billed directly to their own account or passed through at cost. This is the cleanest structure and the one to default to. It protects your margin completely and it makes the client's own volume visible to them, which changes their behaviour for the better.

Retainer with an included allowance. A monthly fee covering support and a stated volume, with anything above it charged. Easier to sell than pure pass-through and safe as long as the allowance is stated in the units you are actually charged in, and as long as you re-check it when volume changes.

Outcome-based. A share of something the client values, such as booked appointments. Attractive and genuinely hard: it requires attribution you probably cannot do honestly, it takes months to settle, and it ties your income to decisions the client makes about their own business. Worth it occasionally, with a client you know well and a floor underneath it.

Most people should be on the first, sell the second, and treat the third as an exception.

What never to absorb

Meta's per-message charges. These move by country and by category, and Meta can change them at the start of any quarter. Taking that risk for a fixed fee is taking a position on somebody else's pricing decisions.

Model spend with no ceiling. A chatty customer base costs more than a terse one and you have no control over which you get. Where you do absorb it, cap it and say what happens above the cap.

Unlimited changes. "Small tweaks included" ends with a client who expects a new flow every fortnight. Count them or bill them.

The escalation queue. Whatever the bot does not handle lands on somebody. If that somebody is you, it is a staffing commitment growing with volume, and it should be priced as one.

Their integration breaking. When a client changes booking systems, that is a project rather than maintenance.

Pricing the build

Work out your own floor before looking at anybody's tiers.

Count the real hours, including discovery, the conversation design nobody thinks to bill, testing with people who are not you, and the fortnight of adjustments after launch. That last one is routinely left out and is routinely a third of the work.

Price the risk, not the effort. A bot that only answers questions is low risk. One that books appointments, takes deposits or touches a medical context carries consequences if it goes wrong, and the price should carry that whether or not it took longer to build.

Charge for discovery on anything complex. A paid discovery engagement separates clients who are serious from those who are shopping, and it gives you the information to quote without guessing. It also means a project that turns out to be unviable ends with you paid.

Quote the second version. Everything here needs rework once real conversations exist. Build it into the price or into the plan, because it is going to happen either way.

Building it with CodeWords

CodeWords connects to more than 3,000 integrations, and the connection is made once and reused.

  1. Open CodeWords and start a new automation.
  2. Describe what should happen in plain language to Cody, the automation builder, including what must escalate and what must never happen without confirmation.
  3. Authorize the connections to the client's systems and their own WhatsApp Business Platform account, which should be in their name rather than yours.
  4. Describe the exceptions, since the exception paths are what the support half of your fee is actually for.
  5. Keep each client's build separate and documented well enough that somebody else could pick it up, which is what makes the work sellable rather than a dependency on you.

You describe the outcome; Cody builds it, connects it, and deploys it. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows; details are on the pricing page.

What is actually in a retainer

Write it as a list of things you do rather than a licence fee, because the second invites the question of what they are paying for.

Reading conversations. A sample, weekly, by a person. This is the single most valuable thing in the retainer and the one clients never ask for, because they do not know it is needed.

Keeping the content true. Prices, hours, services and policies change, and a bot confidently quoting last year's prices is worse than no bot.

Watching account health. Quality rating, messaging limits, template standing. Left alone, these degrade quietly and are noticed only when sending is restricted.

A stated number of changes. Named, counted, with a rate for anything beyond.

A monthly report. Volume, what was handled, what escalated, what it cost. Clients who see a report renew; clients who see a line item wonder why.

Scope, and the sentence that saves the relationship

Every scope dispute in this work traces to the same ambiguity: what happens to the messages the bot cannot handle.

Decide it explicitly and write it down. Either the client's staff answer escalations and you are not in that loop, or you are providing a staffed service and it is priced accordingly. There is no middle version that survives a busy month.

One sentence in the proposal prevents most of the trouble: after launch, messages the automation does not handle are answered by the client's team, and the agency's role is the automation rather than the conversations. If you intend to do the conversations, say so and price it as a service with hours in it.

The October 2026 change and existing contracts

Worth checking your live agreements against, because it moved a cost that used to be zero.

From 1 October 2026, service messages became chargeable at the same rates as utility and authentication by market, with a free tier of 1,000 delivered service messages per business phone number per month. Utility messages sent in reply inside the 24-hour customer service window, free since July 2025, became chargeable too (Meta pricing updates).

If you quoted a fixed monthly fee on the assumption that conversational back-and-forth inside the window was free, that assumption expired. Anyone on a flat fee is now carrying a cost that did not exist when the number was agreed.

Meta changes pricing only at the start of a quarter, which is a gift: it makes a quarterly review a sensible standing habit rather than a reaction.

Ownership, and what happens at the exit

Decide these at the start, in writing, because they are unpleasant to negotiate at the end.

The number and the business portfolio belong to the client. Holding them yourself looks like retention and is closer to hostage-taking, and it will cost you referrals.

The conversation history is theirs, and they may have retention obligations attached to it.

Say what happens on termination. What is handed over, in what form, within how long. A clean exit clause makes clients more willing to start, not less.

Keep the build documented. Work only you can maintain feels like security and is the reason agencies cannot be sold or take holidays.

Making it survive

Review pricing at each quarter boundary, since that is when Meta's can change.

Track cost per client monthly, separating message spend from model spend.

Put usage on the client's own account wherever possible.

Count the changes rather than remembering them.

Re-check allowances when a client's volume shifts, particularly before a seasonal peak.

Limits worth knowing about

You cannot control your client's volume, which is why the pass-through structure exists.

Published tier tables describe somebody else's market. Your floor comes from your own hours and risk.

Outcome pricing requires attribution you probably cannot do honestly, and disputes about it end relationships.

A cheap build is expensive later when the exceptions were never designed.

Platform economics change. Twice since mid-2025, so any contract written as though they are fixed is already wrong.

What to price first

Your own floor. The real hours for one complete build including discovery, conversation design, testing with people who are not you, and the fortnight after launch. Until you have that, every tier table you read is decoration.

Two habits make the difference. Put per-message and model costs on the client's own account, because the one cost line that scales with their success should not be the one that shrinks your margin. And write down who answers the escalations, in one sentence, before the project starts.

Frequently asked questions

How should agencies price WhatsApp bot work?

Separate the fixed costs from the ones that move with your client's volume. Build and support are yours to price; per-message and model costs should sit on the client's own account or be passed through at cost.

Why not just charge a flat monthly fee?

Because your largest variable cost tracks your client's message volume, which you do not control. A flat fee loses money exactly when the project succeeds and volume grows.

What should never be absorbed into a fixed price?

Meta's per-message charges, uncapped model spend, unlimited change requests, the escalation queue, and rebuilds caused by the client changing their own systems.

How do I work out what to charge for a build?

Count the real hours including discovery, conversation design, testing with people who are not you, and the fortnight of adjustments after launch. Then price the risk the bot carries, not just the effort.

Should discovery be paid?

On anything complex, yes. It screens out clients who are shopping, gives you the information to quote accurately, and means an unviable project still ends with you paid.

What belongs in a retainer?

Reading a sample of conversations weekly, keeping the content true, watching account health and messaging limits, a counted number of changes, and a monthly report.

What causes most scope disputes?

Ambiguity about who answers the messages the bot cannot handle. Settle it in one sentence in the proposal, and price it as a staffed service if the answer is you.

What changed on 1 October 2026?

Service messages became chargeable at utility and authentication rates by market, with a free tier of 1,000 delivered service messages per business number per month, and in-window utility replies stopped being free. Fixed fees quoted before that are carrying a new cost.

Who should own the WhatsApp number?

The client, through a business portfolio in their name. Holding it yourself reads as hostage-taking and costs you referrals.

Is outcome-based pricing worth trying?

Occasionally, with a client you know well and a floor underneath it. It needs attribution you probably cannot do honestly, and disagreements about the count are how relationships end.

Get started today

Your first workflow is free to build.

Describe what you need. Cody handles the build, the connections, and the deployment.