Most SMS programs start as a calendar: a promo on Friday, another one two weeks later, whoever is on the list gets it. That works until the list grows and the send stops matching what each person is doing. Someone who signed up an hour ago gets the same text as someone who has bought six times. Someone who just checked out gets a "don't forget your cart" nudge.
Triggered workflows fix that by sending on an event instead of a date. This post covers the four to build first (welcome, abandoned cart, reminder and win-back), the trigger logic behind each, and the guardrails that stop an automated program from turning into one that texts too often. It also shows what each one costs per segment, so you can price the whole program before it goes live.
Why triggered texts work better than scheduled ones
A scheduled campaign guesses at timing. A triggered text answers an action the contact just took. Signing up, leaving a cart, booking a slot and going quiet for 90 days are all moments when a text is expected, or at least easy to explain.
Triggered texts also get you out of the weekly "what do we send this week" meeting. You build the workflow once and it runs on every new contact who qualifies. The tradeoff is that you can't see a bad workflow the way you'd spot a bad campaign before hitting send. If you skip the exit rules, it keeps sending until someone complains. Most of this post is about those rules.
Not everything should be automated. Our post on which texts to automate and which to write by hand draws that line. Replies to a customer's question, complaints and anything high-stakes should still come from a person.
Every workflow has four parts: trigger, delay, condition, exit
Before building anything, write each workflow down as four lines:
- Trigger: the event that enrolls the contact (form submit, cart created, appointment booked, last purchase date passes 90 days).
- Delay: how long to wait before each step.
- Condition: what must still be true when the step fires (cart still open, appointment not cancelled, no opt-out).
- Exit: what removes the contact early (purchase, reply, STOP, booked appointment).
The exit is the line teams skip, and it causes most automation complaints. If the cart workflow can't see the order, the customer who just paid gets a reminder to pay.
If you trigger sends from your own app over the API rather than a workflow builder, one more rule applies: send an Idempotency-Key header (any UUID) with each POST /v1/messages call. When your job retries after a timeout, the text still goes out only once. The request shape is in the messages API docs.
Workflow 1: welcome
Trigger: opt-in via form, keyword or checkout checkbox. Exit: STOP, or a purchase if the welcome carries an offer.
The first text should go out within a minute or two of signup. It confirms the opt-in, says who you are, how often you'll text, and how to stop. A reasonable shape is two or three texts over the first week:
- Minute 0: confirmation plus the offer they signed up for.
- Day 2: one useful thing (best-seller, how booking works, what to expect).
- Day 5: a reminder of the offer if it's unused, then exit.
Keep each one under 160 plain characters and it bills as one segment. We have welcome series examples you can copy if you want working copy.
Workflow 2: abandoned cart
Trigger: cart created with a known, opted-in phone number. Condition: cart still open at send time. Exit: order placed, cart emptied, STOP.
Timing matters more than wording here. One text at roughly 30 to 60 minutes after abandonment and an optional second at about 24 hours covers most of the recoverable value. Past that, you're mostly reminding people of something they decided against. Leave the discount out of the first text, or you teach regular buyers to abandon on purpose.
Consent is the catch. A phone number typed into checkout is not marketing consent unless the checkout collected it with clear opt-in language. Our abandoned cart SMS guide covers the timing and the consent wording in detail.
Workflow 3: reminders
Trigger: appointment booked, renewal date approaching, order shipped. Condition: event still on (not cancelled, not already renewed). Exit: event happens or is cancelled.
Reminders are usually the highest-value automation and the least likely to annoy anyone, because the contact asked for the thing being reminded about. A common pattern is 24 hours before plus 2 hours before, with a "reply C to confirm" line so replies land in the inbox and someone can act on a reschedule.
Register your 10DLC campaign for what you actually send. Reminders filed under a marketing use case, or promos hidden inside "reminders", is a common reason traffic gets throttled. The use-case picking guide walks through the match.
Workflow 4: win-back
Trigger: no purchase or visit in N days (60, 90 or 180, depending on your buying cycle). Exit: purchase, reply, STOP.
Win-back goes only to contacts who opted in and haven't opted out. It's never a reason to text an old list that never agreed to texts. Send one text, maybe two spaced a week apart, then stop. A contact who ignores both is telling you something. Move them to a lower-frequency segment or let them go.
Set N from your actual repurchase interval. A coffee subscription and a furniture store should not share a 30-day window.
Guardrails against over-sending
Automations stack. One contact can sit in the welcome flow, have an open cart and get your weekly promo on the same day. Write these rules down and build them into your logic, whatever tool you use:
| Guardrail | Rule of thumb | Why |
|---|---|---|
| Global frequency cap | No more than 1 marketing text per contact per day, a few per week | Stacked workflows are the top driver of opt-outs |
| Workflow priority | Transactional (reminder) beats cart beats welcome beats promo | The most relevant text wins and the others wait |
| Hard exits | Purchase, booking or reply removes from the matching workflow | Stops "you forgot your cart" after checkout |
| Quiet hours | Recipient-local time, roughly 8 AM to 9 PM for marketing | Lowers TCPA exposure |
| Opt-out propagation | One STOP removes them from every workflow | Required, and the fastest way to lose trust if missed |
| Segment budget | Keep texts under 160 plain characters | Every extra segment is billed |
Some of these Ready handles at the platform level. Inbound STOP and UNSUBSCRIBE are honored and the opt-out carries across every campaign, so a contact who stops one workflow can't be texted by another. Opted-out numbers are refused up front and aren't charged. Sends are held outside permitted local hours based on the recipient's area and charged only when they go out. TCPA-litigator and DNC scrubbing is available if you switch it on. Frequency caps and workflow priority are your logic to design.
Compliance is still your responsibility as the sender. These are risk reducers, not immunity. Statutory TCPA damages run roughly $500 to $1,500 per text, which is why it pays to get the exits right. Our plain-English overview of SMS laws covers the rest.
What the four workflows cost: a worked example
These assumptions are illustrative, not a benchmark. A store with:
- 1,000 new subscribers a month × 3 welcome texts = 3,000 segments
- 600 opted-in abandoned carts × 1.5 texts on average = 900 segments
- 800 appointment or order reminders × 2 texts = 1,600 segments
- 500 win-back contacts × 1 text = 500 segments
That's 6,000 segments, assuming every text stays under 160 plain characters.
On Ready Standard that's 6,000 × $0.0075 = $45, plus 6,000 × $0.0045 in carrier fees, itemized separately on the bill. This all-in figure excludes the compliance surcharge. Scrubbing and landline validation each add $0.003 per segment when switched on, and both are off by default. Replies you receive bill at the same per-segment rate, so a reminder workflow with lots of "C" confirmations costs a little more.
Now add one emoji to the welcome texts. A 145-character text with an emoji is no longer 1 segment. Unicode caps a single segment at 70 characters (67 when split), so it becomes 3. The welcome flow jumps from 3,000 segments to 9,000, and that one flow now costs 3x as much. The AI message writer and spam-filter check help catch this before a workflow goes live.
On price alone, raw CPaaS APIs like Twilio (~$0.0083/segment) and GoHighLevel's LeadConnector (~$0.0083/msg) cost less per segment. If you already have a developer and a workflow engine, that route is fine. What Ready adds is everything around the send: self-serve 10DLC registration (most approvals take 2 to 7 days), the CRM, automations, drip campaigns and the unified inbox in one place, plus native two-way GoHighLevel sync if your workflows already live there.
Where to start
Build in this order: reminders first (highest value, lowest risk), then welcome, then cart, then win-back. For each one, write the trigger, delay, condition and exit on one page before you touch a builder. Then set a global frequency cap that sits above all four.
Register before you switch anything on, because unregistered traffic gets carrier-filtered. If you want to try the workflows on Ready, sign up and use your first 20 free one-to-one texts to test your copy and segment counts on your own phone before you pay for registration. Pricing for the Standard rate is on the pricing page.