Most businesses automate the wrong texts first. They build a five-step promotional drip campaign before they have a missed-call text-back, a reminder the day before an appointment, or a reply to the word HELP. The promo drip produces opt-outs. The boring automations produce booked jobs and fewer no-shows.
The texts worth automating share three traits. Something the contact did triggers them. The right wording doesn't change from one person to the next. And they're useless if they arrive late. Everything else, especially anything that answers a real question, should probably go to a person. This guide covers the triggers that earn their keep, how to set delays and exits, which consent rules apply to automated texts, and where automation starts costing you conversations.
What counts as an automated text
An automated text is any message your system sends without a person choosing to send it at that moment. Three kinds come up:
- Event-triggered texts. A form fill, a booking, a missed call, a failed payment or an abandoned cart fires one message.
- Drip campaigns. A series of texts on a timer after an entry event, for example day 0, day 2 and day 5.
- Auto-replies. Rule-based responses to inbound texts: STOP, HELP, YES, or a keyword like PRICING.
From a carrier and legal point of view, "automated" isn't a softer category. A triggered text is still business SMS on 10DLC, so it has to match the use case you registered. It also still needs the right consent for what the message says. Automation only changes the risk because it makes mistakes at scale. A bad manual text goes to one person. A bad workflow goes to everyone who enters it until someone notices.
The triggers worth automating
Here are the automations that tend to pay off, in roughly the order we'd build them:
| Trigger | What the text does | Sensible delay | Consent you need | Exit condition |
|---|---|---|---|---|
| Web form opt-in | Confirms the opt-in, states frequency, STOP/HELP | Immediate | The opt-in itself | None, it's one text |
| Missed inbound call | "Sorry we missed you, what can we help with?" | Under 1 minute | Keep it about the call, no promo | They reply or call back |
| Appointment booked | Confirmation, then a reminder the day before | Immediate, then ~24 hours before | Informational consent at booking | Appointment cancelled |
| Failed payment | Card declined, link to update | Same day, inside business hours | Existing customer, informational | Payment succeeds |
| Abandoned cart | Reminder with a link back to the cart | ~1 hour, optional second at ~24 hours | Marketing consent (written) | Purchase or any reply |
| Inbound keyword | Answers HELP, confirms STOP, routes YES | Immediate | N/A, they texted you | One response per keyword |
The missed-call text-back is usually the highest-value automation for local businesses. The math is laid out in the missed-call auto-text-back setup. The abandoned-cart row is the one most likely to get a business in trouble, because it's marketing and needs written consent. Plenty of stores put it in front of contacts who only gave a number at checkout for shipping updates.
Match the trigger to your registered use case
If you registered a customer-care or account-notification campaign and then wire a promo drip into it, carriers can filter it. Your brand standing takes the hit, not the workflow's. Before you add a new trigger, check that the messages it sends fit what you told carriers you'd send. If they don't, register a second campaign. Registration costs $25/mo, plus $2/mo per number, and most approvals take 2 to 7 days.
Auto-replies: keywords first, catch-alls last
Keyword auto-replies are the safest automation you can run, because the contact asked for the response:
- STOP, UNSUBSCRIBE and similar. These need a single confirmation, and then no more texts. On Ready, an inbound STOP is honored automatically. The opt-out follows the contact across every campaign and workflow, so a later automation can't text them by accident. Opted-out numbers are refused up front and not charged.
- HELP. Business name, what the texts are for, how to reach a person, how to opt out.
- YES or a confirmation keyword. Confirms an appointment or completes a double opt-in.
- Topic keywords. HOURS, PRICING, ADDRESS. Fine if the answer really is the same for everyone.
The catch-all auto-reply is where things go wrong: the "Thanks for your message! We'll get back to you soon" that fires on every inbound text. It's harmless once. It's irritating when it fires on the fourth message in a live conversation. It's actively bad when the inbound text was "my water heater is leaking right now." If you run one, limit it to the first inbound text from a contact after hours, and say when a person will actually answer. We walk through building the full branching logic in the keyword routing tree guide.
Delays, timing and exit conditions
Most automation complaints come down to timing, not content.
Delays
- Instant works for confirmations, keyword replies and missed-call text-backs. Speed is the whole point of those.
- Short delays (minutes to an hour) fit abandoned carts and post-form follow-ups. A text 30 seconds after someone closes a tab feels like surveillance.
- Day-level delays fit reminders and drip campaigns. Anchor them to the event, such as "24 hours before the appointment", rather than to when the contact entered the workflow.
Quiet hours
A delay calculated in your timezone can land at 6 AM in theirs. Ready holds sends outside permitted local hours based on the recipient's area. A text that would land during quiet hours waits and goes out when the window opens, and it's charged only when it sends. That covers the legal floor. You still have to decide whether a 7:58 PM reminder is a good idea. The multi-timezone version of this problem is covered in our quiet-hours fix. Campaigns, drip campaigns and automations wait up to 24 hours for the window; a one-to-one or API text is held only if the window opens within 6 hours, otherwise it is refused and must be resent; a one-to-one reply to someone who texted you in the last 24 hours goes out at any hour.
Exit conditions
Every drip campaign needs at least two exits:
- The goal happened. They bought, paid or booked.
- They replied. A human reply means the conversation is live. The drip should stop and a person should pick it up.
Also cap frequency across workflows. One contact can sit in a cart drip, a review request and a reactivation drip at the same time and get six texts in a week from a business that only meant to send two.
Consent rules for automated texts
This is general guidance, not legal advice. Talk to counsel about your specific flows.
- Marketing texts (promos, cart reminders, reactivation offers) sent through automated systems generally require prior express written consent. That means a clear disclosure the contact agreed to, tied to their number. The differences are covered in prior express written consent vs implied consent.
- Informational texts (reminders, receipts, payment notices) generally need a lower standard of consent. The content has to stay informational, though. A reminder with a coupon added is a marketing text.
- Consent doesn't transfer between purposes. A number collected for delivery updates isn't a marketing opt-in.
- Cold lists don't belong in automation. Cold contact is by phone and mail. Texts go to people who opted in or replied.
Your system needs to record who consented, when, to what wording and on which page. Ready records the sender's attestation on each bulk send and each API send that sets consent_attested: who sent, to how many, and when. That gives you an audit trail of your own promises. It isn't a per-contact consent record, so your form or store has to keep that. If you enable litigator and DNC scrubbing, known TCPA-litigator and DNC numbers are screened before the send. That's worth considering when statutory exposure runs $500 to $1,500 per text. It reduces risk. It doesn't make you lawsuit-proof, and compliance stays your responsibility.
Where automation hurts conversations
Automation is good at "something happened, tell them." It's bad at:
- Answering questions. Pricing exceptions, scheduling conflicts and complaints need a person.
- Following up after a "not now." A drip that ignores "check back in spring" tells the contact nobody read it.
- Anything emotional. Cancellations, billing disputes, bad reviews.
- Re-engaging someone who went quiet for months. Consent goes stale. A personal, one-off text beats a scheduled offer.
A good rule: automate the first touch and the reminder, and hand the reply to a human.
What automated texts cost: a worked example
On Ready Standard, every segment costs $0.0075 plus a $0.0045 carrier fee. Replies you receive are billed the same way. Here's the math for an example store with 1,000 abandoned carts a month and a three-text drip campaign:
- Text 1: 120 characters, plain text = 1 segment
- Text 2: 150 characters with one emoji = unicode, 3 segments at 67 characters each
- Text 3: 130 characters, plain = 1 segment
That's 5 segments per contact if all three send. Across 1,000 contacts, that's 5,000 segments × $0.0075, plus 5,000 × $0.0045 in carrier fees.
Remove the emoji and text 2 drops to 1 segment. The total falls to 3,000 segments × $0.0075, plus 3,000 × $0.0045. That's 40% less for the same message. Exits cut costs further: anyone who buys after text 1 never receives texts 2 or 3. If 200 contacts reply with a one-segment text, add 200 × ($0.0075 + $0.0045).
Ready's all-in prices per segment include the carrier fee but not screening: Scrub lists and Number validation, the two switches in Settings under Compliance, each add $0.003 per segment when switched on, shown as screening on your bill, and both are off by default. Unless you turn the opt-out footer off, the first text to each contact, and one again from time to time, also gets "Reply STOP to opt out" and your business name if the message does not already have them, so a text close to the segment limit can bill one more segment.
Curly quotes and long dashes don't inflate the count on Ready, because they're swapped for plain characters before sending. Rates are on the pricing page.
Setting it up on Ready
If your automations live in GoHighLevel workflows, Ready installs natively as the phone provider. Inbound and outbound messages sync both ways into each sub-account, so replies from a workflow land in the same conversation your team works from.
If you're triggering texts from your own app, such as a booking system or billing service, one API call fires the text:
curl -X POST https://api.tryready.com/v1/messages \
-H "X-API-Key: YOUR_KEY" \
-H "Idempotency-Key: 7f3c1e2a-9b4d-4c8e-a1f0-2d6b5e8c9a01" \
-H "Content-Type: application/json" \
-d '{"to": "+12125550199", "body": "Reminder: your appointment is tomorrow at 10 AM. Reply C to confirm.", "consent_attested": true}' The Idempotency-Key matters for automation. Webhooks retry, and without it a retried trigger sends the reminder twice. Your app owns the delay logic. Ready handles quiet hours, opt-outs and refusing blocked numbers. The full reference is at docs.tryready.com/api/messages.
The practical takeaway
Start with the automations someone would be annoyed not to get: the opt-in confirmation, the missed-call text-back, the reminder, the HELP and STOP replies. Give every drip campaign a goal exit and a reply exit. Keep marketing triggers behind written consent, and store that consent yourself. Check segment counts before you turn a workflow on. When a contact replies with something real, take the automation out of the loop.
If you want to try this on your own workflows, create an account. Use your free one-to-one texts, which you send yourself from the inbox or one API call, to check your wording before you register. Automations are paid from the first text. Then register the campaign that matches what your automations actually send.