Every regular who stopped coming back gets one personal text. From Josh. In his voice. Once.
Toast already knows who used to come every week and hasn't been back in a month. This module turns that list into 47 hand-drafted texts every Monday — Josh approves the batch with one tap, they go out at 10am, and the people who matter feel seen instead of marketed to.
Yr-1 lift: $24K–$42KStack: Toast Guest API → Klaviyo → Twilio A2P 10DLCCadence: Monday 10am ET, max 80 sends/wkLast batch: 11.4% reply rate · 22 visits
Step 01
Who counts as "lapsed"
Five segments pulled from Toast guest data. Toggle off any you don't want to reach. Headcounts update nightly at 3am.
5 segments · 565 guests in scope
Numbers shown are live from Toast as of this morning. Inner Circle estimate is geo-matched against Sknny Chef YouTube + Instagram follower exports cross-referenced to Stoughton ZIPs.
Regular gone quiet
Visited 5+ times historically · no visit in 30+ days
134
guests today
Visit threshold 5+ visits
310
Days quiet 30 days
1490
Catering customer dormant
Placed a catering order · no follow-up in 60+ days
8
guests today
Order minimum $250+
$100$1,500
Days dormant 60 days
30120
Big-ticket lapsed
Single visit $100+ · no return in 45+ days
22
guests today
Ticket size $100+
$50$300
Days lapsed 45 days
21120
First-timer gone cold
One visit ever · no return in 14+ days
89
guests today
Days cold 14 days
745
First visit ticket $20+
$10$80
Inner Circle followers who haven't visited
Sknny Chef YT/IG follower · geo-matched to Stoughton · never visited Roxanne's
312
est. (geo)
Distance from Stoughton 15 mi
5 mi50 mi
Follower threshold Any tier
AnyInner Circle paid only
Step 02
SMS templates — in Josh's voice
Each template maps to one segment. {first_name} pulls from Toast; if blank, El Mesero falls back to "hey friend". Voice sliders steer LLM rewrites.
Voice calibrated 6 days ago
House rule: one text per guest, ever, per 60-day window. No emoji. No "Don't miss out!" No links unless the guest opts in. Sounds like Josh on a slow afternoon, not a marketer.
Regular gone quiet Live
→ Segment 1
Direct
Funny
Brand-link
176 / 320 chars · 1 SMS segment
Big-ticket lapsed Live
→ Segment 3
Direct
Funny
Brand-link
156 / 320 chars · 1 SMS segment
Catering dormant Live
→ Segment 2
Direct
Funny
Brand-link
192 / 320 chars · 1 SMS segment
First-timer gone cold Live
→ Segment 4
Direct
Funny
Brand-link
198 / 320 chars · 1 SMS segment
Inner Circle never visited Shadow only
→ Segment 5
Direct
Funny
Brand-link
220 / 320 chars · 1 SMS segment
Step 03
Send cadence
Default: Monday morning batches. Anything more frequent feels like spam — anything less and you forget about people.
Mon 10am ET · Auto-queued
80 sends / week
20200
Cap exists to keep responses human-handle-able. Replies route to Maria + Jesse.
10:00 – 11:00 AM ET
8 AM2 PM
Quiet hours enforced: never before 8am or after 9pm local (TCPA).
60 days · no re-text
30 days180 days
Once Josh texts you, you don't hear from us again for 60 days. Period.
Keep at 80, queue rest for next Mon
Never burn the whole list in one Monday. Patience compounds.
Step 04
What we offer (if anything)
Half the magic is offering nothing — just a human check-in. Toggle exactly what you're willing to comp.
2 offers active
Free agua fresca Default offer
Cost to us: $0.80 · highest reactivation rate of any tested offer
~$0.80
No offer — just human check-in
Cost to us: $0 · used for "regular gone quiet" segment
$0
Free side (chips + salsa or rice)
Cost to us: $3 · paired with first-timer template
~$3.00
10% off entire ticket
Cost to us: ~$4.20 avg · feels too marketer-y, paused
~$4.20
Free dessert (flan or churros)
Cost to us: $2.50 · saved for big-ticket lapsed retry
~$2.50
"Hold a Tuesday for catering"
Cost to us: $0 (just a calendar block) · catering segment only
$0
Cost-per-send analysis: blended cost is $1.40 across active offers (SMS fee + comp food). Reactivated visit avg ticket = $34. Breakeven sits at 32% reactivation. Last 4 weeks we ran 12% — already 3.7× margin-positive at that rate.
Step 05
Never text these people
Suppression list. Toast pre-flags most of these; you can add manual exclusions any time.
5 rules · 1,847 guests suppressed
Anyone who replied STOP
TCPA hard requirement · never re-text, never decay
412
Active Inner Circle members
Different funnel — handled by Sknny Engine, not this module
896
Visited in the last 14 days
Not lapsed yet — leave them alone
421
Complaint-flagged guests
Manually tagged in Toast notes · re-engaging risks a public review
7
Roxanne's employees + immediate family
Auto-tagged from payroll roster cross-match
111
Next Monday batch
Ready for Josh's signature
Drafted overnight by Toast + Klaviyo. You approve, edit, or skip.
47 sends queued
Mon · 8:00 AM ET · awaiting approval
Maria L. · Regular gone quiet · 34 days
"Hey Maria, Josh from Roxanne's. Haven't seen you in a minute — everything OK? If you're up for tacos this week, I owe you a free agua fresca. Just show this text."
Last visit: 4 Apr · 7 lifetime visits · avg $28
David T. · Big-ticket lapsed · 51 days
"David — Jesse's running a birria special Wed–Fri. Thought of you since you ordered it twice last month. No catch, just a heads up. — Josh"
Last visit: 7 Apr · $112 ticket · birria + carnitas family pack
Carmen R. · Catering dormant · 73 days
"Hey Carmen, your office party in March was a hit (thank you again). Looping in case you're planning anything for Q3. We blocked a Tuesday slot just in case. — Josh"
Last catering: 14 Mar · $620 ticket · 25 ppl
Expected this batch: 11.4% reply rate (4-wk avg) · ~5 new visits this week · est. $340 in GMV · 0 TCPA risk (all opted-in via Toast checkout)
Last 4 weeks
Sent vs. replied vs. visited — the only chart that matters.
184
Total sent
46 / wk avg
28
Replied · 15.2%
+2.1pts vs. prev mo
22
Visited · 12.0%
+1.4pts vs. prev mo
3
Catering booked
$2,140 pipeline
Revenue by week from this segment
W1
W2
W3
W4
Total attributed: $1,820 · trending up · cost basis $245 → 7.4× ROAS
Compliance
TCPA + A2P 10DLC + carrier health
All clear
A2P 10DLC registrationBrand: Roxanne's LLC · Campaign: Customer care