Skip to content
ToolsOrbit

Module 07 · SMS & 10DLC

10DLC Call-to-Action & Message Flow Generator

Write the campaign "Message Flow / Call to Action" description carriers expect, get three sample messages per use case, and the opt-in, HELP and STOP keyword responses.

Module 07 · CTA + MESSAGE FLOW
Paste the message flow into the Call to Action / Message Flow field of your campaign, the samples into the sample message fields, and set the keyword responses in your messaging platform. List every way people opt in, not just the main one.

As it appears in your brand registration

How people opt in (tick all that apply)
Use cases (3 samples each)

Campaign message flow / call to action

End users opt in on our website at https://acmedental.example.com/text-updates. They enter their name and mobile number and must tick a separate, unchecked SMS consent checkbox before submitting. The checkbox is not required to complete the form, and consent is not a condition of purchase. The consent text shown next to the checkbox reads: "By checking this box, you agree to receive appointment reminders and marketing and promotional messages by text message from Acme Dental at the number provided. Message frequency varies. Msg & data rates may apply. Reply STOP to opt out at any time. Reply HELP for help or contact us at support@acmedental.example.com. Consent is not a condition of purchase. See our Privacy Policy and Terms of Service." The form links to our Privacy Policy (https://acmedental.example.com/privacy) and SMS Terms (https://acmedental.example.com/sms-terms).

End users can also opt in by texting the keyword SMILE to (555) 010-0100. The keyword appears on our website, in-store signage and printed materials with this call to action: "Text SMILE to (555) 010-0100 to receive appointment reminders and marketing and promotional messages from Acme Dental. Message frequency varies. Msg & data rates may apply. Reply STOP to opt out, HELP for help. Consent is not a condition of purchase." After texting the keyword, they receive a confirmation message: "Acme Dental: You're subscribed to appt reminders and promos and offers. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to cancel."

Message frequency varies. Msg & data rates may apply. End users can opt out at any time by replying STOP and get help by replying HELP. Consent is collected only for messages from Acme Dental and is not shared with or sold to third parties.

1779 characters. Most registries allow up to 2,048 in this field.

Sample messages

Appointment reminders

  1. 01Acme Dental: Hi [First Name], your appointment is confirmed for [Date] at [Time]. Reply C to confirm or R to reschedule. Reply STOP to opt out.1 seg · GSM-7 · 149
  2. 02Acme Dental: Reminder, your appointment is tomorrow at [Time] at [Location]. Reply STOP to opt out, HELP for help.1 seg · GSM-7 · 118
  3. 03Acme Dental: Thanks for visiting today, [First Name]. Your next appointment is due on [Date]. Reply STOP to opt out.1 seg · GSM-7 · 120

Marketing and promotions

  1. 01Acme Dental: [First Name], save 15% on [Service] this month with code SAVE15 at [Link]. Reply STOP to opt out.1 seg · GSM-7 · 116
  2. 02Acme Dental: New: [Product or Service] is here. Book or order at [Link]. Reply STOP to opt out, HELP for help.1 seg · GSM-7 · 114
  3. 03Acme Dental: Last chance, our [Promotion] ends [Date]. Details at [Link]. Reply STOP to opt out.1 seg · GSM-7 · 102

Replace the [bracketed] fields with real examples. Use full https:// links, never a link shortener.

Opt-in confirmation 1 seg · GSM-7 · 158

Acme Dental: You're subscribed to appt reminders and promos and offers. Msg frequency varies. Msg & data rates may apply. Reply HELP for help, STOP to cancel.

HELP response 1 seg · GSM-7 · 133

Acme Dental: For help contact support@acmedental.example.com. Msg frequency varies. Msg & data rates may apply. Reply STOP to cancel.

STOP response 1 seg · GSM-7 · 103

Acme Dental: You have been unsubscribed and will not receive more messages. Reply SMILE to resubscribe.

Runs in your browser. Nothing you enter is uploaded.

Checklist

How to use the 10dlc cta generator

  1. 01

    Enter your business name and tick every way people opt in: website form, keyword, paper form, verbal or QR code. Reviewers want all of them listed.

  2. 02

    Add the form URL for website and QR flows, and the keyword and number for keyword flows.

  3. 03

    Tick the use cases you are registering. You get three sample messages for each, every one starting with your brand name and containing STOP wording.

  4. 04

    Set the frequency, policy links and support contact, then copy the message flow into the campaign form and the samples into the sample message fields.

  5. 05

    Load the keyword responses into your messaging platform so the confirmation, HELP and STOP replies match what the campaign promises.

Telemetry

How it works

The campaign registration form asks for a description of how people opt in (the "Message Flow" or "Call to Action" field), several sample messages and, when a keyword is used, the exact confirmation message. Reviewers compare these against your website and reject anything vague or inconsistent. The generator writes each piece from the same inputs so they agree with each other.

Message flow = one paragraph per opt-in method (where, how, the exact consent wording, the unchecked box, the policy links) + frequency, rates, STOP and HELP + "consent is not shared"

Sample message = brand name + realistic content with [bracketed] fields + "Reply STOP to opt out"

Keyword responses = the confirmation, HELP and STOP replies from the opt-in language generator

Worked example

For Acme Dental with a website form at acmedental.example.com/text-updates and the keyword SMILE, the flow begins: "End users opt in on our website at https://acmedental.example.com/text-updates. They enter their name and mobile number and must tick a separate, unchecked SMS consent checkbox before submitting. The checkbox is not required to complete the form, and consent is not a condition of purchase. The consent text shown next to the checkbox reads: ..." and quotes the full disclosure.

The keyword paragraph says people can also text SMILE to (555) 010-0100, quotes the call to action printed on signage, and quotes the confirmation reply. An appointment reminder sample reads: "Acme Dental: Hi [First Name], your appointment is confirmed for [Date] at [Time]. Reply C to confirm or R to reschedule. Reply STOP to opt out."

What reviewers want in the message flow field

The message flow is the most important text in a campaign registration, and the most common place to fail. Twilio's error 30896 ("campaign vetting rejection, opt-in error") is raised when the flow does not explain who is opting in, where, and how consent is collected, when it leaves out an opt-in method, when a website flow is not public, or when the privacy policy linked from it is missing the required language. The generated description answers each of those points explicitly.

For a website form it names the URL, says the checkbox is separate and unchecked, says the form submits without it, quotes the exact consent wording and names the policy links. For a keyword it gives the keyword, the number, the call to action people see and the confirmation reply they receive. For paper, verbal and QR flows it describes the form, the script or the code, says where the record is kept and offers a copy to reviewers. It closes with the frequency, rates, STOP and HELP, and a line that consent is collected only for your messages and is not shared.

Sample messages that pass vetting

  • Start every sample with the brand name. Reviewers reject samples that do not identify the sender.
  • Include opt-out language in every sample ("Reply STOP to opt out"). The rules require it in at least one, and including it in all of them avoids an argument.
  • Match the use case. Marketing samples for a campaign registered as customer care, or appointment reminders for a campaign registered as marketing, are rejected.
  • Use [bracketed] placeholders for names, dates, order numbers and links, and replace [Link] with a full https:// URL on your own domain. Link shorteners are a rejection reason on their own.
  • Keep samples realistic and distinct. Three near-identical messages, or samples copied from a template everyone uses, draw a closer look.

The generator writes three samples per selected use case along these lines. Edit them to sound like your business; the rules above are what to keep. The segment pill under each sample shows the GSM-7 segment count so you can see which ones will cost two segments once the placeholders are filled.

Keyword responses

If people can text a keyword to join, the registration asks for the keyword and the opt-in message. Reviewers expect the confirmation to name the brand, confirm the enrollment, state the frequency and rates, and give HELP and STOP instructions. The generated confirmation does all of that in one segment. The HELP and STOP responses follow the same pattern and come from the opt-in language generator, so they match the disclosure on your form word for word.

Paper, verbal and QR code opt-ins

Offline consent is allowed but has to be documented. For a paper form, the flow describes the separate consent box and its wording, and says signed forms are stored with the date and time. For verbal consent, the generator writes a script staff read word for word, including frequency, rates, STOP and that saying yes is optional, and the flow says the date, time and number are logged. For QR codes, the flow explains that the code opens your web form and that the same disclosure and links appear there. In every case, hosting a photo or screenshot of the form or signage at a public URL and mentioning it in the flow makes the reviewer's job easy.

Putting it all together before you submit

Paste the flow into the campaign's message flow field (most registries allow around 2,000 characters), the samples into the sample message fields, and set the keyword responses in your platform. Make sure the form URL in the flow is live, public and shows exactly the wording quoted. Then run the website compliance checker, which covers the privacy policy, terms and business details reviewers check alongside the flow. If you want the campaign handled end to end, the card at the bottom of this page links to a registration service.

Mission briefing

Frequently asked questions

Q01 How long should the message flow description be?

As long as it takes to describe every opt-in method clearly, usually 600 to 1,500 characters. Most registration forms accept up to about 2,000. The generator shows the character count under the output.

Q02 Do I have to list every opt-in method?

Yes. Using a method that is not described in the flow is a documented rejection cause. Tick every method you actually use, and only those.

Q03 How many sample messages do I need?

Most platforms ask for two to five. The generator gives three per use case so you can pick the ones that best represent what you send. Each includes the brand name and STOP wording.

Q04 Can sample messages contain placeholders like [First Name]?

Yes. Reviewers understand bracketed fields. Replace [Link] with a real https:// URL on your domain, because links are checked and shorteners are rejected.

Q05 What if my opt-in form is behind a login?

Take a screenshot of the form showing the checkbox, the disclosure and the links, host it at a public URL and mention that URL in the message flow. Reviewers cannot log in, and an unverifiable flow is rejected.

Q06 Is the verbal consent script enough on its own?

Only if staff read it word for word and the consent is logged with the date, time and number. The flow description says both, and reviewers may ask how the log is kept. A written or digital confirmation sent after the call is a good addition.

SMS & A2P 10DLC cluster

Every SMS tool on ToolsOrbit is part of one kit for registering and running a compliant texting program. Here are the other 8 modules.

Runs in your browser. Nothing you enter is uploaded.

This tool runs entirely on your device. There is no server-side processing and no account. Last reviewed October 28, 2026. Read the disclaimer.