Prerequisites

This guide assumes you have already connected a Twilio account to Waitlist App Premium. If you haven't, start with the Twilio setup guide first — the SMS Alerts panel has no effect until Twilio is connected.

What You Need Before You Begin

Beyond the Twilio connection itself, a few additional pieces need to be in place before your SMS alerts will fire reliably. Running through this checklist now will save you from debugging a silent failure later:

  • A verified sender ID or phone number. Twilio requires that outbound messages originate from a provisioned number — either a long code, a toll-free number, or an approved alphanumeric sender ID (availability varies by country). Make sure your number appears as Active inside your Twilio console before testing inside Waitlist App Premium.
  • A Waitlist App Premium subscription. SMS auto-triggers are a Premium-tier feature. If you're on the free plan, the SMS Alerts panel is visible but locked. Upgrading from the Billing section of your dashboard takes effect immediately.
  • Guest phone number collection enabled. Navigate to Settings → Waitlist Form and confirm that the phone number field is set to Required or at minimum Optional. If the field is hidden, no number is captured at join time and no message can be sent — regardless of how well your templates are written.
  • Correct country code formatting. Waitlist App Premium stores and transmits numbers in E.164 format (e.g., +12015550134). If you're manually importing guest lists, ensure the phone column follows this format. Malformed numbers will fail silently unless you enable delivery-failure notifications in your Twilio account settings.

Permissions and Team Access

Only account Owners and users with the Manager role can edit SMS templates and toggle auto-triggers. Staff accounts with a Host role can see whether SMS is enabled but cannot modify the configuration. If a team member reports that they can't find the SMS Alerts panel, a role mismatch is the most common cause — review roles under Settings → Team Members.

A Note on Messaging Compliance

Sending transactional SMS messages to guests carries a baseline compliance responsibility, even when those messages are expected and welcome. At minimum, you should:

  1. Disclose at join time that the guest may receive a text message about their waitlist status. A single line on your check-in form — "By providing your number, you agree to receive SMS updates about your visit" — is typically sufficient for transactional messaging in most jurisdictions.
  2. Include a way for guests to opt out if they contact you directly. Twilio handles STOP replies automatically at the carrier level, but your front-of-house team should know how to mark a guest as SMS-opted-out in the system if asked in person.
  3. Review the regulations specific to your country. Requirements differ meaningfully between the United States (governed by the TCPA), Canada (CASL), and the United Kingdom (UK PECR). When in doubt, consult a legal adviser familiar with telecommunications law in your market.

With Twilio connected, your sender number active, guest phone collection turned on, and compliance basics addressed, you're ready to open the SMS Alerts panel and start configuring your templates.

The Three Lifecycle Events

Every waitlist entry moves through up to three states, and each has a corresponding SMS event you can auto-fire.

1. Added — “You're on the list”

Fires the instant a customer is added to the queue (either from the dashboard or via the MCP add_entry tool). The most valuable use is sending a tracking link: the placeholder {{'{{ tracking_url }}'}} renders to a page where the customer can see their live position and estimated wait time without having to stand at the host stand.

Default template:

You've been added to {{'{{ business_name }}'}}. Track your place: {{'{{ tracking_url }}'}}

Recommended upgrades:

  • “Hi {{'{{ name }}'}}, you're #{{'{{ position }}'}} in line at {{'{{ business_name }}'}} (party of {{'{{ party_size }}'}}). We'll text you when your table is ready. Track: {{'{{ tracking_url }}'}}”
  • “{{'{{ business_name }}'}}: you're on the list! We'll text when ready. See your spot: {{'{{ tracking_url }}'}}”

2. Notified — “Your turn”

Fires when you mark the entry as notified. This is the single highest-value SMS in the lifecycle — it's the difference between a customer standing in a crowded lobby for 40 minutes and walking next door for coffee while they wait.

Default template:

Your table is ready at {{'{{ business_name }}'}}! Please return within 10 minutes.

Best practices:

  • State the deadline explicitly. “Please return within 10 minutes” beats “please return soon” every time.
  • Include the name. “Hi {{'{{ name }}'}}, your table at {{'{{ business_name }}'}}…” reduces confusion in families where one number covers multiple diners.
  • Include reply-STOP language if required. Some carriers require it; Twilio auto-appends by default.

3. Seated — “Thanks”

Fires when you mark the entry as seated. This is the “goodbye” text and it's the perfect place to ask for reviews, offer a return discount, or just say thank you.

Default template:

Thanks for visiting {{'{{ business_name }}'}}!

Higher-converting examples:

  • “Thanks for dining at {{'{{ business_name }}'}}, {{'{{ name }}'}}! If you enjoyed your visit, a quick Google review means the world: https://g.page/r/xxxxx/review”
  • “{{'{{ business_name }}'}}: thanks for choosing us. Next time, show this text for 10% off: CODE {{ '{{' }} token {{ '}}' }}” (note: the token placeholder is not currently exposed; use your own coupon code).

Available Placeholders

Every template supports these variables, replaced at send time:

  • {{'{{ name }}'}} — the customer's name.
  • {{'{{ business_name }}'}} — your configured business name.
  • {{'{{ tracking_url }}'}} — the per-entry public tracking page (e.g. https://waitlistapp.org/q/abc123). Short enough to fit on one line, no login required.
  • {{'{{ position }}'}} — numeric queue position (1, 2, 3…).
  • {{'{{ party_size }}'}} — number of people in the group.

Unknown placeholders are left as-is rather than silently replaced with empty strings — so if you typo {{'{{ naem }}'}} it will show up literally in the SMS, which is your cue to fix it.

Character Limits and Segmentation

Twilio charges per 160-character GSM-7 segment. Emoji, accented characters, and curly quotes force your message into Unicode (UCS-2) encoding, which drops the per-segment limit to 70 characters. In practice:

  • Short English templates (<160 chars, no emoji) — 1 segment, lowest cost.
  • Templates with {{'{{ tracking_url }}'}} tend to land at 130–180 chars once substituted. If yours is close to 160, consider shortening.
  • Using an emoji (🍽, 👍) bumps the entire message to Unicode — which can triple the segment count. Skip emoji in auto-fired SMS unless you're deliberate about the cost.

Waitlist App caps each template at 480 characters, which is roughly 3 SMS segments at best. If you want something longer, send it manually via notify_entry with a custom body parameter.

How Auto-Triggers Interact with Manual Sends

The three toggles in SMS Alerts only control automatic behavior. You can always send an SMS manually regardless of toggle state:

  • From the Pro dashboard, the Send Notification button in the actions modal (or the one-tap button after adding a customer) routes through Twilio when SMS Alerts is enabled, and falls back to the browser's native SMS app when it's not.
  • From Claude or the API, calling notify_entry sends regardless of the auto-trigger toggle, as long as SMS Alerts is enabled and Twilio is configured.

In other words: the master “Enable SMS Alerts” toggle gates the entire server-side SMS pipeline; the per-event toggles only control whether we also send automatically when the state changes.

Testing Your Templates

The fastest way to test a template without spamming real customers is:

  1. Write the template in Settings → SMS Alerts and save.
  2. Add a test entry to the waitlist with your own phone number.
  3. Toggle the entry through Added → Notified → Seated to trigger each event.

Each message counts as one Twilio segment (~$0.01 in the US) so a full three-event run costs you 3¢.

What to Check When the Message Arrives

Receiving the message on your actual device is the only reliable way to catch issues that a preview pane won't surface. When each test message arrives, evaluate it against this mental checklist:

  • Placeholder resolution: Every {variable} should be replaced with real data — your test guest's name, the queue position, the business name. Any raw placeholder text in the delivered message means the field was either misspelled in the template or left empty in the guest record.
  • Line breaks and special characters: What looks clean in a web form sometimes renders strangely on older Android devices. Read the message as a first-time guest would, not as someone who already knows what it should say.
  • Message length: Count the characters on the device screen, not in the editor. If your message is unexpectedly split into two bubbles, you've crossed a segmentation boundary. Trim the copy or restructure the sentence to bring it back under the limit.
  • Sender ID: Confirm the number or name appearing in the "From" field matches what guests will expect. A random-looking number with no prior context can cause guests to dismiss the message as spam.
  • Link functionality: If your Notified template includes a link — for example, a check-in URL or a direction to a holding area — tap it on the device to confirm it resolves correctly.

Testing Across Devices and Carriers

If your business serves a diverse customer base, consider running your three-event test on both iOS and Android devices, and ideally across at least two different mobile carriers. SMS rendering is not fully standardized, and a message that looks polished on one device can appear cramped or oddly formatted on another. Ask a colleague or team member to receive a parallel test using their phone — two minutes of their time now prevents guest confusion during a busy service period.

The "Fresh Eyes" Review

After a technical pass, hand your phone to someone who had no involvement in writing the templates — a team member, a manager, or a trusted regular. Ask them one question: "If you received this message from a restaurant you'd never visited, would you know exactly what to do?" Their confusion, if any, is your guests' confusion. Common feedback at this stage includes:

  • The Notified message didn't make clear whether the guest should come inside immediately or wait to be called again.
  • The Seated message felt abrupt — a one-word "Thanks" without a name or context reads like an automated error.
  • The business name was truncated in the preview because the phone's notification banner cuts long sender names short.

Scheduling a Periodic Re-Test

Templates aren't a set-and-forget asset. Put a reminder on your calendar to re-run the full three-event test whenever you change your waitlist workflow, update your business name or location details, or switch to a new phone number. Seasonal adjustments — adding a holiday message or temporarily updating your Notified template to reference a new pickup area — are also common moments when a quick test loop prevents a broken message reaching real guests. A brief five-minute check at the start of any significant operational change is a worthwhile habit.

Multi-Location and Multi-Language

Templates are scoped to your user account, which means a single Waitlist App login has one set of templates. If you operate multiple locations with different voices or different languages, create a separate Premium account per location — each has its own Twilio integration and its own templates. Premium accounts are priced per-seat so there is no penalty for running a few.

We're watching demand on multi-location within a single account; if that matches your use case, let us know.

Troubleshooting

An auto-trigger is enabled but no SMS sends: Check in order — (1) is the master Enable SMS Alerts switch on? (2) is the entry's phone number populated? (3) is Twilio still connected in the Integrations tab? (4) is the Twilio account funded? The Pro dashboard's Send Test SMS feature is the fastest way to isolate steps 3–4.

Placeholder shows up literally in the SMS: You have a typo in the variable name or used the wrong brace style. Only {{ '{{' }} name {{ '}}' }} with double curly braces is substituted.

Customers reply and you never see it: Twilio forwards SMS replies to a webhook that Waitlist App does not currently ingest. For now, add a line to your templates: “Reply calls won't reach us — if you need to cancel, reply here: <your mobile>.” Inbound SMS is on our roadmap.

Next Steps

With your SMS templates written, placeholders mapped, and auto-triggers active, your waitlist system can now communicate with guests at every stage of their experience — without a single manual send. Before you move on, take a moment to confirm that the foundational pieces are solid and consider where to direct your energy next.

A Quick Pre-Launch Checklist

Before treating your templates as "done," run through these final checks:

  • Send a test message to yourself for each of the three lifecycle events. Verify that every placeholder resolves correctly and that the message reads naturally at realistic values — a party name of "Schwarzenberger" and a wait time of 45 minutes can expose formatting issues that short test data hides.
  • Confirm opt-out language appears at least once in your first outbound message. This is both a legal requirement in most regions and a guest-trust signal.
  • Review character counts one more time with your longest expected placeholder values filled in. A message that reads as one segment in testing can become two when a restaurant name is unusually long.
  • Check multi-location overrides if you manage more than one property. Confirm each location is drawing from the correct template set and not the global default.
  • Verify your Twilio sending number is registered and, where required, has completed A2P 10DLC registration. An unregistered number can result in carrier filtering that silently drops messages before they reach guests.

Build on What You've Set Up

SMS templates are the communication layer of your waitlist, but they become significantly more powerful when connected to the broader automation tools available in Waitlist App Premium. Two natural extensions are worth exploring immediately:

Automate queue decisions with an AI assistant. If you want to go beyond scheduled triggers and let an intelligent assistant respond to real-time queue conditions — repositioning guests, adjusting quoted wait times, or answering inbound replies — connecting a conversational AI via the Model Context Protocol opens that door. The guide below walks through the full setup:

Revisit your Twilio configuration if anything feels off. Template and trigger logic depends entirely on a healthy Twilio integration beneath it. If messages are delayed, undelivered, or arriving from an unexpected number, the place to diagnose is the integration layer itself, not the templates:

Iterate Based on Guest Behavior

Effective SMS copy is rarely perfect on the first draft. After your templates have been live for a week or two, review the data available in your Waitlist App dashboard — particularly no-show rates by lifecycle event and any inbound replies guests are sending. A spike in "Where is my table?" replies after the Notified message, for example, is a reliable signal that your call-to-action needs to be clearer or your reply instructions more specific.

Small, deliberate edits — changing one phrase, tightening a wait time estimate, adding a direct link to your check-in flow — compound over time into a meaningfully better guest experience. Treat your templates as a living document rather than a one-time configuration task, and they will continue to pay dividends long after launch day.