SMS

Text messages for the three things that cannot wait for an inbox — and the log that says which were sent, refused, or never attempted.

Admin → Settings → SMS · SMS log

SMS is optional, and narrow on purpose

Texting costs money per message, so the platform sends only what genuinely needs to arrive within seconds. Everything else is email. Three purposes:

PurposeSent to
Verification codeSomebody confirming a phone number.
Table readyA waiting guest whose table has come free.
Payment linkA customer being asked to pay for an order by link.

Leave SMS switched off and all three fall back to what they did before. Nothing breaks.

Get your Twilio credentials

Twilio is the SMS gateway QuickMunch talks to. You need your own account — it takes about five minutes, and a trial account includes a free number and credit to test with. Do all of this on Twilio before you fill anything in here.

Step 1 — Create the account

  1. Go to twilio.com and choose Sign up, top right.
  2. Enter your name, email and a password.
  3. Verify your email address, then your phone number — Twilio texts you a code.

Step 2 — Get a phone number

  1. Signing in the first time starts a trial account; follow the prompts.
  2. Twilio offers you a phone number — pick one from the list. On a trial it is free.
  3. Choose a number in the country you text most. Some countries refuse messages sent from a foreign number, and some refuse sender names entirely.

Step 3 — Copy your credentials

  1. Open the Twilio Console home — the page you land on after signing in.
  2. Copy the Account SID: a long string beginning AC.
  3. Reveal and copy the Auth token beside it.
  4. Keep both somewhere safe. The Auth token is a password — anyone holding it can send messages billed to you.

The three values you are bringing back look like this:

Account SID    ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Auth token     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Send from      +15551234567
A trial account only texts verified numbers. Until you add credit, Twilio refuses any number you have not verified in its console — which looks exactly like a broken integration. Verify your own mobile first, and test with that.

Set it up

  1. Provider — Twilio. Its credential fields appear when you pick it.
  2. Send from — the number or sender name recipients see.
  3. Account SID.
  4. Auth token.
  5. Send test SMS before you rely on any of this.

One more switch: Confirm a new phone number by SMS — a customer changing their number must enter a code sent to the new one.

The SMS tab with provider, sender, credentials and the test button numbered
Settings → SMS. Click to enlarge.

The log

Every attempt, with counts across the top: delivered, rejected, never sent, delivery rate and billed segments. Segments are what you actually pay for — a long message is split into several — so a rising bill with flat message counts means your wording grew.

Three states, and the difference matters

StatusMeaningFixed
DeliveredThe provider accepted it.
RejectedThe provider was called and said no.At the provider — credentials, sender, account balance.
Never sentThe provider was never called.Here, in Settings.

Never sent is the useful one, because the platform explains itself: SMS switched off, no credentials saved, no sender set, the number missing its country code, the number containing something that is not a digit, or the message empty or too long. Each is stated in those words on the row.

Verification codes are masked in the log. A code stored as readable text would defeat the point of hashing it. The entry still proves what was sent — "Your code is ••••" — without keeping the code.

Filter by status or purpose, search by number, message or the provider's own reference, and Prune old entries. Each message carries the provider reference, so a dispute can be taken to the provider with a number they recognise.

When it doesn't work

Everything says "Never sent"

Read the reason on the row — it names the missing piece. Usually SMS is off or no credentials are saved.

Everything says "Rejected"

The provider refused. Check the credentials, the sender number is one your account may send from, and the account has credit.

One message says the credentials were already rejected

After the provider refuses your credentials once, later messages are skipped rather than retried — there is no point paying for repeated rejections. Fix the credentials and the next message goes.

A number is refused for its country code

Numbers need their country code, starting + or 00. A local-format number is ambiguous and is refused rather than guessed at.

The bill is higher than the message count suggests

Check billed segments. Long messages cost several each.