Skip to content
Sales playbook engine

Every paid invoice fires a 12-month sales sequence. Hands-off.

Your busiest day is the day you don't follow up. The Sales Playbook does it for you: when an invoice flips PAID, a six-step nudge sequence enqueues against the customer — t+24h review, t+7d warranty registration, t+30d cross-sell, t+90d maintenance check, t+180d win-back with a discount, t+365d anniversary — each delivered by SMS (the only channel — there's no email variant) at the scheduled time, except the review step, which is logged on the timeline while the review ask itself goes out through your separate review-request automation.

No credit card
Cancel anytime
/app/playbook
Six steps queued automatically when invoice #2841 flipped PAID. First two already sent; the rest scheduled out 12 months.

The quick version

Sales playbook: Every paid invoice starts a year of scheduled follow-up texts.

  • Six-step sequence per paid invoice (t+24h → t+365d)
  • SMS only — no email channel for playbook nudges
  • AI-written pitch line for the cross-sell step, using real purchase history

); only the cross-sell step's pitch line is written per-customer by AI, using the customer's real purchase history. Replies are AI-classified and acted on. Operator opt-outs honored. Per-shop kill switch, per-customer opt-out, full timeline view per invoice.

A closer look

01

Six steps that compound into your reorder rate

Each step lands at the moment a real shop owner would have called the customer if they had time. The +24h ask runs while the work is still fresh. The +30d cross-sell pitches the natural next service (PPF after tint, ceramic after PPF, maintenance wash after ceramic). The +6mo win-back fires before the customer drifts to a competitor. The +1yr anniversary keeps the relationship warm.

  • +24h REVIEW_REQUEST — a timeline record; the review ask itself is sent by your review-request automation
  • +7d WARRANTY_REGISTRATION — only fires for film services (TINT, PPF, VINYL_WRAP, FLAT_GLASS_*)
  • +30d CROSS_SELL — a built-in map picks the next service (e.g. PPF after tint); AI rewrites the pitch line from the customer's history
  • +90d MAINTENANCE_REMINDER — the gentle 'how's it holding up?' tap
  • +180d WIN_BACK — 15% off if they book within 14 days (on by default; disable it in the template editor)
  • +365d ANNIVERSARY — celebrates the install date + offers a check-up
/app/playbook
Each step lands at the moment a real shop owner would have called the customer if they had time. The +24h ask runs while the work is still fresh.

02

The reply classifier that actually closes loops

When a customer replies to a playbook SMS, an AI intent classifier (Claude Haiku) reads the reply against the play's KIND and dispatches the right action. Positive ack to a review request → marks DONE. Yes-I'm-interested to a cross-sell → marks DONE + flags 'FOLLOW UP MANUALLY' on the play timeline. Hard decline to anything → marks DONE + sets the customer's playbook opt-out flag (cuts future nudges, keeps transactional SMS alive). Confidence floor of 0.7 means the operator handles ambiguous replies in the inbox.

  • REVIEW_REQUEST + positive ack → mark DONE
  • CROSS_SELL / WIN_BACK + interest → mark DONE + manual-followup note
  • Any kind + hard decline → mark DONE + opt customer out of playbook
  • Low-confidence / ambiguous / spam → leave SENT for operator inbox
/app/playbook
When a customer replies to a playbook SMS, an AI intent classifier (Claude Haiku) reads the reply against the play's KIND and dispatches the right action. Positive ack to a review request → marks DONE.

Everything it does

The complete list. The plan tag above shows which plans include it.

  • Six-step sequence per paid invoice (t+24h → t+365d)
  • SMS only — no email channel for playbook nudges
  • AI-written pitch line for the cross-sell step, using real purchase history
  • AI reply intent classifier — auto-marks DONE / SKIPPED / opts customer out (confidence-gated, 0.7 floor)
  • Per-shop master kill switch + per-customer opt-out (NUDGES OFF keyword)
  • Per-shop template editor: edit the copy, change the delay, disable a step
  • Replies-digest email + failure-alert email + HQ-rollup digest
  • Manual trigger for testing (runDue mutation)
  • Live timeline of every play per invoice + per-customer rollup

A tour of the screens

Every meaningful view, the path through it, and the moments that matter — so you know exactly what you're buying.

Reply classifier in action

Customer replied 'yes pls send PPF quote' to the +30d cross-sell.

AI marked the play DONE + flagged 'FOLLOW UP MANUALLY' on the timeline.

/app/playbook
Customer replied 'yes pls send PPF quote' to the +30d cross-sell. AI marked the play DONE + flagged 'FOLLOW UP MANUALLY' on the timeline.

Per-shop template editor

Edit each kind's SMS copy + delay + enabled state.

HQ tier can set an org default that shops without their own edit inherit — a shop's own customization always wins.

/app/settings/playbook
Edit each kind's SMS copy + delay + enabled state. HQ tier can set an org default that shops without their own edit inherit — a shop's own customization always wins.

Who it's for

Built specifically for…

  • Shops doing 30+ paid jobs per month who can't manually follow up on every one
  • Multi-location franchises that want consistent customer-touch quality across shops
  • Owners who currently do zero post-paid follow-up and want a floor under it

What it replaces

The old way…

  • Spreadsheet of 'people I should call back'
  • Hopium-driven 'just delivered great work, surely they'll come back'
  • Bolt-on CRMs billed separately from your shop software (playbook texts draw from your plan's included SMS segments)

Setting it up

  1. 1

    1. Invoice flips PAID

    When staff record a payment by hand (cash, check, or a card run outside SalesThumb) or close a Sales Matrix sale, enqueuePlaybookForInvoice fires. Card payments processed through SalesThumb (online pay links and card-present terminals) don't queue the playbook yet.

  2. 2

    2. Up to six rows insert into sales_plays

    Each gets a scheduledFor offset (t+24h, t+7d, t+30d, t+90d, t+180d, t+365d), a kind, and a body template resolved with merge fields — SMS only, there's no per-customer channel choice. Idempotent — re-firing on the same invoice is a no-op.

  3. 3

    3. Hourly cron fires due plays

    salesPlaybookTick scans PENDING plays whose scheduledFor has passed, sends the SMS (honoring smsOptOutAt + playbookOptOutAt + the per-shop kill switch), flips to SENT or FAILED, and stamps engagedAt the moment the customer replies.

What this looks like in a shop

Illustrative scenario: a month after a shop starts using the playbook, the first +30d cross-sell texts go out and three customers reply 'yes pls send PPF quote' to the +30d cross-sell — the owner sees them flagged FOLLOW UP MANUALLY in the next-morning replies digest and sends quotes the same day. The shop had been doing zero post-paid follow-up before this; the only ongoing operator time it costs is reading the digest.

Good to know

Which plan includes sales playbook?
Growth and Pro include it. See the Pricing page for everything in each plan.
What if my customer doesn't want these messages?
They reply NUDGES OFF — sets playbookOptOutAt on the customer record. They keep getting transactional SMS (appointment reminders, ready-for-pickup, payment receipts). The hard STOP keyword still kills ALL outbound SMS and is honored carrier-side.
Can I edit the copy?
Yes — a per-shop template editor at /app/settings/playbook lets you rewrite each step, change the delay, or disable specific kinds entirely. An HQ-tier org can set an org-wide default for shops that haven't customized their own copy yet — a shop's own edit always overrides the org default, it's never force-replaced.
Is the copy AI-written?
Only the cross-sell step's pitch line — it reads the customer's real purchase history and vehicle, then writes one sentence pitching the natural next service. The other five steps (review, warranty, maintenance, win-back, anniversary) are fixed, editable template copy with merge fields, not per-customer AI text. Once a play is enqueued, its copy is snapshotted — editing a template later doesn't rewrite plays already in flight.

Works with your stack

Tw

Twilio

Sends the SMS at scheduled time + receives replies

Em

Email

Sends the daily reply digest + failure-alert emails (playbook nudges themselves are SMS-only)

An

Anthropic Claude

Writes the cross-sell pitch line + classifies inbound reply intent

In

Inngest

Hourly tick fires due plays; daily crons run the digests

Try sales playbook — no credit card.

Pick Basic, Starter, Growth or Pro on the pricing page and it's free for 30 days, no credit card. Some features need a higher plan; the pricing page shows which. Import your old data and be running by tomorrow.