An AI setter that answers a coach's Instagram DMs in his own voice, qualifies the lead, books the call, and hands him a brief before he picks up the phone.
Everything below is measured, not estimated, unless it says otherwise.
Each of these has been run end to end against the live system, not just unit tested.
AI Off. The tag is durable and pings you whenever a tagged person
messages.Ordered by what bites first. "Full launch" means coach 02 can be onboarded without you or me hand-holding it.
nick is draft_only and has no
calendar connected. The agent is live on the test tenant only. Flipping this is one
OAuth click and one word — but do it deliberately, not by accident.shopping_around, evasive, shift_worker —
one or two replies each.Two days, start to live.
The current process, honestly described — including the parts that are
still manual. Anything marked Manual is work you or I do
by hand today and is a candidate for automation before coach 03.
Open the step-by-step runbook →
— same steps, with the exact commands, links and a checklist that remembers where you
got to.
They download their Instagram data export and send it over. This is the single highest-leverage input — a mediocre model with real DMs beats the best model without them. Nothing else substitutes.
Classify threads into leads vs friends vs clients, pull the coach's own messages, build the pack. Their existing clients' names go in so the triage gate never pitches someone who already pays them.
One YAML file: timezone, consult windows, blackout dates, quiet hours, price policy, disclosure policy, how many follow-ups. Copying an existing coach and editing it takes about ten minutes.
One OAuth click from the coach. Their refresh token is encrypted before it is stored. This is the step blocked on Google verification — until the consent screen is External and approved, only your own account can do it.
They connect their Instagram to ManyChat, then the flow is built: trigger, smart delay, three dynamic blocks pointed at their webhook with their own secret. About twenty minutes of clicking.
They sit with the training page and reply to simulated leads across twelve scenarios. Anything in parentheses is read as a correction. Forty replies is roughly the point where the voice stops sounding generic.
The agent runs on their real DMs but sends nothing — every reply is stored as a draft and posted to Discord. They read a week of what it would have said before it says anything to a real person.
Flip send_mode to live. Discord pings on every halt, disqualify and
booking. Three ways to switch it off per person on day one.
The honest read on onboarding today: roughly two hours of coach time spread over a week, plus about an hour of mine. Three steps are hand-built — the profile, the ManyChat flow and the voice-pack review.
For a $2,000/month product that is acceptable at coach 02 and 03, and becomes the bottleneck at coach 10. The ManyChat flow is the first thing to templatise, because it is the most error-prone and the least interesting.
Measured from 74 real agent replies. Rates are Claude Opus 5, checked against the pricing page today.
| Line | Measured | Per reply | Per 10-reply conversation |
|---|---|---|---|
| Cached prompt, cache hit | 14,763 tokens | $0.0074 | $0.09 |
| Cached prompt, cache miss | 14,763 tokens rewritten | $0.0923 | $0.92 |
| Uncached input | 128 tokens avg | $0.0006 | $0.01 |
| Output | 51 tokens avg | $0.0013 | $0.01 |
| Realistic total | mixed hit rate | $0.01–$0.09 | $0.09–$0.94 |
Where those 14,763 tokens actually go, since the obvious instinct is to trim the prompt:
| Block | Chars | Share of prompt |
|---|---|---|
| Voice pack — mined DMs plus your practice replies | 30,951 | 73% |
| Script — how you sell, and the booking tokens | 6,196 | 15% |
| Operating rules and corrections | 4,835 | 11% |
| Guardrail text | 544 | 1% |
There is no free win in trimming it. The voice pack is three quarters of the prompt, and it is the part that makes the agent sound like you rather than like a chatbot. The only obvious fat is the simulated lead messages inside the practice transcripts — 24% of that file, about 8% of the whole prompt — and cutting them would leave your replies without the questions that provoked them, which teaches phrasing but not judgement.
So the lever is not prompt size. It is cache hits.
The thing worth knowing: the prompt cache lives five minutes. When a lead replies inside that window the reply costs about a cent. When they reply forty minutes later the whole 14,763-token prompt is rewritten and the reply costs about nine cents — ten times more.
Measured hit rate so far is 89%, but that number is not trustworthy: almost all of it came from test conversations where messages arrived seconds apart. Real leads do not reply that fast. Until there is a week of genuine traffic, plan on the pessimistic end.
There is also a trap in it. A cache write costs 1.25× normal input. Below a ~22% hit rate, caching costs more than not caching at all. Worth measuring properly before optimising, and worth knowing that adding your 41 practice replies nearly doubled the cached prompt — 8,026 tokens to 14,763 — which roughly doubled the worst case.
Everything in this section is unbuilt. It is a direction, with an honest note on what each piece actually costs to build and what it is worth.
The first thing worth building, because it replaces you reading Discord. Live threads, briefs, drafts awaiting approval, booked calls, and the off switches — in one place a coach can open on a phone.
The cards you described — revenue, ad spend, ROI, cost per booked call, cost per close. This is the number that makes $2,000 obviously cheap, so it should be the loudest thing on the page.
Which creative actually produces booked calls, not which produces cheap clicks. The engine already knows which leads booked, so joining that back to the ad that sourced them is the differentiator no dashboard in this space has.
Ad copy and script suggestions grounded in what actually converted for this coach — their own winning hooks and the objections their real leads raise, not generic copywriting.
A caution on sequencing. The ads and Stripe integrations are the exciting part and the wrong thing to build first. They need real volume before they say anything true — a ROI card computed from four closes is noise presented as insight.
The console is different: it is useful on day one with a single coach, and it is what removes you from the loop. Build that, get coach 02 and 03 running through it, and let the data accumulate until the ROI numbers mean something.