Every time an invoice gets marked fully paid, SalesThumb auto-enqueues a sequence of follow-up nudges for that customer — a review request, warranty registration, cross-sell, maintenance check-in, win-back offer, and a 1-year anniversary touch, spread out over the next 12 months. The Sales Playbook page is where you watch that sequence live: every queued play, its status, when it fires, and a preview of the SMS going out.
One thing worth knowing up front: there's no dedicated item for this page in the left-hand sidebar. The way in is either the "Sales playbook" card that appears on your main Dashboard — and that card only shows up once you've had at least one paid invoice enqueue a play, so a brand-new shop won't see it yet — or by searching "Playbook" in the command palette (Cmd+Shift+K / Ctrl+Shift+K — note this is a different shortcut from plain Cmd/Ctrl+K, which opens AI Help instead). If you manage a multi-shop or franchise context, don't confuse this with a similarly-named "Playbook" item you may see under a Franchise Sales workspace — that's a separate franchise-development feature, not this customer nudge queue.
Reading a row
Each row in the "Upcoming plays" list shows the customer's name and phone, a colored chip for the play kind (Review request, Warranty registration, Cross-sell, Maintenance check-in, Win-back offer, 1-year anniversary), a status chip, when it's scheduled to fire (both a friendly relative time and the exact date), a link to the source invoice, and — when there is one — a short italic preview of the SMS pitch. Two status colors look identical at a glance: SENT and DONE both render in the same green, so if you're scanning quickly, read the word, not just the color. An "Overdue" badge only appears on plays that are still PENDING and past their scheduled time — if you've paused a play, it won't show as overdue even if the original date has already passed. The list itself only shows pending, paused, and failed plays scheduled within the next 90 days, earliest first — a play sitting at t+365d for a customer you just invoiced is enqueued but simply won't be visible here yet; that's expected, not a bug.
Working a single play
Each row gets Pause, Skip, and Done buttons — Pause only shows while a play is PENDING, and a paused play shows Resume instead. Skip and Done are available regardless of status. If a play failed to send, the row shows the error text directly under the customer's details so you can see why before deciding what to do with it.
The kill switch, bulk actions, and catching up manually
At the top of the page is a shop-wide toggle: "Pause playbook" / "Resume playbook." Pausing is a real kill switch — no new plays enqueue from newly paid invoices, and the hourly cron skips this shop's pending rows entirely. Nothing gets deleted; flipping it back to "Resume playbook" picks the existing queue back up. Below that, a bulk-actions strip (only visible when you have at least one active play) lets you Pause all, Resume all, or Skip all PENDING/PAUSED plays at once — useful for a vacation pause or a wholesale reset. It requires a second click to confirm, but note the confirm prompt echoes the raw action name rather than a friendly label — you'll see "Confirm pauseAll?" rather than "Confirm pause all?" — so double-check you clicked the button you meant to before confirming. Separately, "Run due now" at the top of the page manually fires every play whose scheduled time has already passed, up to 20 at a time. It's meant for testing or as a manual catch-up if the worker cron hasn't run — after it finishes, a banner reports how many plays were considered, sent, failed, or skipped (skips here mean the customer has no phone number on file).
When something replies, and when something breaks
A "These plays got replies" card surfaces any play a customer responded to, most recent first, with the actual reply text, an AI-tagged intent badge, and a negative-sentiment flag when relevant. Each reply gets an "Open conversation" button plus a second, intent-aware action: replies tagged BOOKING or RESCHEDULE jump straight to a new calendar entry for that customer, while everything else defaults to starting a new quote pre-linked to that play. An "Export CSV" button next to that card downloads just that replies list as a one-time browser download — nothing is saved server-side. Separately, if 3 or more plays fail within the last hour, a red banner appears pointing you toward your Twilio settings or suggesting you pause the playbook while you investigate; that check re-polls itself every 60 seconds, so the banner will clear on its own once things recover without needing a page reload.
Attribution, and where to change the copy
When the playbook is generating revenue, a green "Playbook-attributed revenue" card shows a running total — any paid invoice within the attribution window after a sent play (excluding the play's own source invoice) counts toward it, broken out by play kind, with a separate high-confidence subtotal for invoices that came in after the customer actually replied. This page is deliberately just the live queue and counts — to change what the SMS actually says, or adjust the delay for a given play kind, use "Configure templates" at the bottom of the page, which takes you to Settings → Playbook. Changing a template there only affects plays enqueued going forward; anything already in flight keeps the copy it was created with.