1. What you are setting up, and why it is your Twilio
Text reminders cut no-shows more than email reminders do, for the obvious reason: people read texts. MeMachine already emails your customers the day before and two hours before their appointment. This adds a text alongside each of those, sent from a phone number that belongs to you.
It has to be your number, and there is no version of this where we hand you one of ours. US carriers require every business sending automated texts to register itself — its legal name, its EIN, what it sends, and how customers agreed to receive it. That registration is called A2P 10DLC, and it identifies the business doing the sending, not the software doing the sending. Twilio's own guidance for platforms like us is explicit that one registration cannot cover many customers, and their toll-free rules carry a specific rejection for a number shared across businesses. So: your Twilio account, your registration, your number, your name on the text. We generate the paperwork and do the sending.
Everything on this page except the carrier review takes about half an hour. The review itself is out of everyone's hands: brand approval is usually 1–3 business days, campaign vetting typically 3–7, and it can stretch past two weeks when carriers are busy. Start it before you need it. Your email reminders keep going the whole time.
2. What it costs
All of this is billed by Twilio to your card, not by us. We add nothing on top. Prices are Twilio's US list rates as of August 2026 and can change.
| What | Roughly | How often |
|---|---|---|
| A local 10-digit phone number | $1.15 | Every month |
| Brand registration (Low-Volume Standard) | ~$4 | Once |
| Campaign vetting | ~$15 | Once |
| Campaign fee | $1.50–$10 | Every month |
| Sending a message segment | ~$0.0079 | Per segment |
| Carrier surcharge on each segment | $0.003–$0.005 | Per segment |
A reminder from MeMachine is two segments — the business name, the time and a reschedule link do not fit in one 160-character message. So each reminder costs somewhere around 2–3 cents, and each appointment gets two reminders. Fifty appointments a month is roughly $2–$3 in messages on top of the number and the campaign fee: call it $5–$15 a month all in, plus about $20 once to register. One recovered no-show pays for a year of it.
3. Make a Twilio account and buy a number
- Go to twilio.com/try-twilio and sign up. Use your business email. You will verify your own mobile number as part of signup — that is Twilio checking you are real, not the registration in step 4.
- When Twilio asks what you are building, the honest answers are SMS, with code, and alerts & notifications. None of it changes what you get.
- Add a payment method and upgrade out of the trial. A trial account can only text numbers you have verified, which is useless for customer reminders.
- Phone Numbers › Buy a number. Filter to your own area code, tick SMS under Capabilities, and buy a local number. Not toll-free — a local number is what people answer.
- Messaging › Services › Create Messaging Service. Name it something like "Appointment reminders", pick Notify my users as the use case, and add the number you just bought to its sender pool. You can send from a bare number instead, but a Messaging Service is what carries your campaign registration and Twilio's opt-out handling, so use one.
4. Register your brand and campaign
This is the step people abandon, so MeMachine writes it for you. Open Settings in MeMachine, find Text reminders (your Twilio), and expand A2P registration — copy-paste blocks for the Twilio console. Every field Twilio asks for is there, already filled in with your business name, your booking page, your real message volume, and the actual texts this feature sends. Each block has a Copy button.
Work through it in the Twilio console at Messaging › Regulatory Compliance › A2P 10DLC, in two parts.
Brand — who is sending
Twilio asks for your legal business name, your EIN, your address and your website. MeMachine supplies the name, the type, the website and the vertical; the EIN and address only you have.
Copy your legal name off your IRS EIN confirmation letter or a tax return, character for character, including LLC or Inc. Not off your signage, your Google listing, or your logo. If your business trades under a different name than it is registered under, that is fine and normal — the campaign description MeMachine generates already explains the difference to the reviewer.
Campaign — what you are sending and who agreed to it
The blocks cover every field:
- Use case — Customer Care. Not Marketing, not Mixed.
- Campaign description — what the messages are, who gets them, and an explicit statement that nothing promotional goes out on this campaign.
- Opt-in description — the field campaigns fail on most often. Ours says exactly what is true: the customer types their own phone number into your booking form at the moment they choose an appointment time, and the form tells them they will be texted a reminder. That is direct consent, collected in the flow, for messages about that specific appointment. No lists, no imports, no assumptions.
- Sample messages — three of them, and they are not approximations. They are the literal output of the same function that sends the real thing, with your business name substituted. If a reviewer compares your samples against your traffic, they match.
- Opt-out handling — a description of what Twilio does with STOP.
- Monthly volume — derived from your own booking count over the last 90 days at two reminders each, rounded up to the bucket Twilio offers. If you are new and have no bookings yet, it defaults to 100, which is the sensible floor.
Submit both. Then come back to MeMachine and tap Submitted under A2P registration so the card reflects where you actually are.
5. Paste your credentials into MeMachine
While the carriers review, wire up the connection. In Settings, expand Twilio credentials.
- Account SID. On the Twilio console home page, under Account Info. Starts with AC.
- API key. In Twilio, go to Account › API keys & tokens › Create API key. Name it "MeMachine", type Standard, and create it. Twilio shows the SID (starts with SK) and the Secret once — copy both now. Paste them into API key SID and API key secret.
- Messaging Service SID. Under Messaging › Services, on the service you made. Starts with MG.
- Tap Save credentials.
Use an API key rather than your Auth Token if you possibly can. An API key can be deleted on its own if you ever want to cut us off; the Auth Token is the master credential for your whole Twilio account, and revoking it breaks everything else you have connected. If you genuinely have no API key, the No API key? Use the auth token instead section takes it — the Account SID is still required either way, because Twilio puts it in the request address as well as the credential.
What we store and what we show are not the same thing. The secret is written to your account's row and used to sign requests to Twilio; it is never sent back to your browser, never returned by any API, and never written to a log. The card only ever shows you whether one is on file. If you save a new secret, the "we have seen this work" stamp from your last test is cleared, because it was about the old key.
6. Send yourself a test
Type your own mobile number into Send a test text and tap the button. This sends a real message, right now, through your Twilio account.
That is deliberate. There is no credential check worth running that does not put a text on a phone: a key can be valid and the number still unable to send. A message you can read on your own handset is the only evidence that means anything. It costs you about a cent.
MeMachine remembers that it worked and the last four digits of the number you tested. Not the number.
7. Mark it approved
When Twilio emails you that your campaign is approved, come back to Settings and tap Approved. The stamp at the top of the card changes to On, and reminders start going out with the next scheduled batch.
Credentials alone are not enough, on purpose. An account with a working Twilio connection and an unapproved campaign is exactly the account that gets suspended for sending on it. Until Approved is set, the card reads Awaiting A2P approval and not one message goes to a customer — only your own test sends. If a campaign is ever rejected or paused after the fact, tap Submitted or Not started and sending stops immediately.
8. What actually gets sent
Two messages per appointment, on the same schedule as your reminder emails: one about 24 hours before, one about 2 hours before. They look like this:
Rivera Plumbing: reminder — your free estimate is tomorrow,
Thursday, August 20 at 11:00 AM MDT. Need a different time?
https://app.memachine.me/b/481/…/reschedule Reply STOP to opt out.
Rivera Plumbing: your free estimate is in about 2 hours
(11:00 AM MDT). Need a different time?
https://app.memachine.me/b/481/…/reschedule Reply STOP to opt out.
The reschedule link opens a page that already knows who they are — the only thing on it is a time picker. Nothing to re-type.
The rules around it:
- Email always sends. Texts are extra. A Twilio outage, an unapproved campaign or a missing phone number costs you the text, never the email.
- Cancelled, completed and no-show appointments are never texted. Neither are MeMachine demo bookings.
- Booking last-minute skips the window it was booked inside. Somebody who books at 4pm for 5pm today does not get a "reminder about tomorrow", and does not get a two-hour nudge about a decision they made twenty minutes ago.
- Rescheduling resets both. The new time earns its own reminders.
- Never twice. Each message is claimed in the database before it is sent, so two overlapping batches cannot double-text anybody.
- Reminders only. There is no promotional texting in MeMachine and there will not be. Your campaign says appointment reminders; sending anything else on it is how businesses lose their registration.
9. Opt-outs and STOP
Twilio handles the keywords automatically on 10DLC numbers — STOP, UNSUBSCRIBE, END, QUIT, CANCEL, REVOKE, OPTOUT, in any capitalisation. Twilio blocks that number and answers any later attempt with error 21610. Turning on Advanced Opt-Out for your Messaging Service extends the same handling across every sender in its pool and lets you customise the confirmation wording.
MeMachine keeps its own record too. The first time Twilio tells us a number has opted out, we write it down and stop trying — so a customer who said stop once is never queued again, even for an appointment they book next year. We store a one-way hash of the number and nothing else: it answers "did this person ask us to stop?" without being a readable list of people who did.
Someone who unsubscribes from your reminder emails has said nothing about texts, and someone who texts STOP has said nothing about email. Neither list touches the other, which is the honest reading of what each person actually asked for.
10. When something goes wrong
The card shows the last error Twilio returned, with your credentials stripped out of it. The common ones:
| What you see | What it means |
|---|---|
| 20003 / Authenticate | The API key secret is wrong, or the key belongs to a different Twilio account than the Account SID you pasted. Make a fresh API key and re-save both. |
| 21606 / From number not valid | The number is not in the Messaging Service's sender pool, or it cannot send SMS. Check the pool. |
| 21610 | That person replied STOP. Only they can undo it, by texting START to your number. |
| 30034 in Twilio's own logs | You are sending on an unregistered 10DLC number. Your campaign has not actually cleared — set the card back to Submitted until it has. |
| Card says Awaiting A2P approval | Either you have not tapped Approved, or the Sending tick is off. |
| Card says Not configured | Something is missing — usually a sender. You need a Messaging Service SID or a from-number, as well as the Account SID and a credential. |
Untick Sending to stop texts without losing your setup. Disconnect Twilio forgets your credentials entirely — but never the opt-out list, because that was your customers' decision, not a setting.
If you would rather not run Twilio at all, the bookings webhook can drive reminders through Zapier and whatever texting your CRM already does. It is more moving parts and it has a real gap around cancellations, but it exists.