BroadNet
The JournalProduct
Product

Two-way and conversational SMS: designing keyword flows, autoresponders, and STOP handling.

Two-way SMS lets customers reply and start conversations. Here's how keyword flows and autoresponders work, and why STOP/HELP opt-out handling is mandatory.

10 min read
Product · Issue 29
10 min read

wo-way SMS is a phone number — a long code, a short code, or another two-way-capable sender — that can both send messages to handsets and receive replies back. Inbound keywords like JOIN, HELP or STOP are matched to rules that fire an automated response or route the customer onward to an agent or AI, turning one-way alerts into conversations.

Prefer definitions first? The answers glossary covers the messaging terms used here, and you can prototype a flow in the keyword and autoresponder designer. This guide is the design walkthrough behind them.

What two-way SMS actually is

Standard business SMS is one-way: an application sends a message — mobile-terminated, or MT — and the customer reads it. Two-way SMS adds the return path. The customer replies, and that inbound message — mobile-originated, or MO — is delivered back to your application over the same number. The number is the enabler: it has to be a routable, replyable address. In practice that means a long code (a standard mobile or virtual number), a short code (a 4–6 digit high-throughput number licensed per market), or another two-way-capable sender your provider supports.

Why alphanumeric sender IDs cannot receive replies

Here is the constraint teams miss most often. Across much of MENA — the UAE, Saudi Arabia, Egypt and the wider GCC — brands send A2P SMS from an alphanumeric sender ID: a registered brand name such as 'ACME' shown in place of a number. Alphanumeric IDs are display-only and one-way; a handset has no number to reply to, so a customer reply has nowhere to land. To run a conversation you need a numeric address — a long code or short code — provisioned alongside or instead of the alphanumeric ID. A common pattern in the region is to keep branded alerts on the alphanumeric ID while publishing a short code as the reply-to for opt-outs, confirmations and support.

How keywords and autoresponders work

An SMS autoresponder is a rule engine sitting on the inbound path. When an MO message arrives, the platform normalises it — trims whitespace, folds case — and matches the first word, or the whole body, against a set of keywords. A match fires an action: send a templated reply, call a backend API, add or remove the number from a list, or open a session and route the person onward. A miss falls through to a default response. That inbound-keyword → matched-rule → automated-reply loop is the entire mechanism, and it runs in the seconds it takes an SMS to round-trip.

Inbound keywordMatched actionExample reply or workflow
JOIN / START / SUBSCRIBEOpt-in: add to list, record consent"Welcome to Acme. You're subscribed. Reply HELP for help, STOP to cancel."
STOP / CANCEL / UNSUBSCRIBEOpt-out: remove from all messaging"You've been unsubscribed and will receive no further messages."
HELP / INFOReturn brand identity and support"Acme support: help.acme.example. Reply STOP to unsubscribe."
BALANCEQuery backend API, return dataFetch account balance, reply with the amount
AGENT / وكيلEscalate: open session, route to a humanHand off to the contact-centre queue
(no match)Default / fallback response"Sorry, we didn't recognise that. Reply HELP for options."

Keywords should be case-insensitive and tolerant of the obvious variants — a customer might send 'Stop', 'STOP.' or 'unsubscribe' — and, in bilingual markets, mapped to their Arabic equivalents so a reply in either language resolves to the same rule.

Designing a keyword flow

A good flow is deliberate about four things: the keyword set, the fallback, the session model, and the escalation path. Keywords are cheap to add and easy to overload, so keep the public set small and memorable. The fallback matters more than it looks — most inbound messages will not match a keyword, so a helpful default that points to HELP and the valid options prevents dead ends. Sessions decide whether each reply is answered in isolation or held in context: a stateless flow answers 'BALANCE' and forgets; a stateful conversation remembers where the customer is, carries context across turns, and times out cleanly.

  1. Provision a two-way-capable number — a long code or short code — in each target market; an alphanumeric sender ID cannot receive replies.
  2. Define the keyword set: opt-in, STOP, HELP, plus your business keywords. Normalise case and whitespace and map synonyms and localised (Arabic) variants to the same rule.
  3. Write default and fallback responses for inbound messages that match nothing, pointing the customer back to HELP and the valid options.
  4. Choose the session model per keyword: stateless single-reply, or a stateful conversation that carries context and expires on a timeout.
  5. Wire routing: decide which keywords send an autoresponse, which query a backend, and which escalate to a live agent or AI assistant.
  6. Reserve STOP and HELP as always-on rules that take precedence over every campaign and session state.
  7. Log every consent and opt-out with a timestamp, and keep the state in sync across channels.
  8. Test on real handsets across your target operators, in both English and Arabic (Unicode), before going live.

You can prototype the whole rule set — keywords, replies, fallbacks and routing — in our keyword and autoresponder designer before wiring it to a live number.

STOP, HELP and opt-out handling

STOP and HELP are not optional features — they are mandatory obligations that ride on top of every two-way (and one-way) programme. Industry guidance such as the CTIA Messaging Principles, and the operator rules that enforce it, require that any recipient can text a stop keyword — STOP, END, CANCEL, UNSUBSCRIBE or QUIT — to opt out immediately and at no cost, and that HELP or INFO returns the brand's identity and a way to reach support. Honouring opt-out is the operational half of consent: the same programme that captured permission must make withdrawing it a single, always-on word.

Treat STOP and HELP as reserved keywords that override every campaign, session and business rule. An opt-out must remove the number from all messaging on that programme, be logged with a timestamp, and — because customers do not think in channels — ideally propagate to your other channels too. Regulators across MENA, including the UAE's TDRA and Saudi Arabia's CST, expect the same discipline: verifiable consent on the way in and an honoured opt-out on the way out. Getting this wrong is how sender IDs get suspended and how programmes attract fines.

From autoresponder to conversation

The step beyond keyword replies is a real conversation. Once a session is open, inbound messages can be routed to a live agent, a contact-centre queue, or an AI assistant that answers in natural language and hands off to a human when it is unsure. This is where two-way SMS becomes conversational messaging — and where it belongs inside a broader strategy, because the same customer thread may move from SMS to WhatsApp or RCS depending on reach and richness. Running it behind one omnichannel API keeps the conversation, and the consent state, consistent across channels rather than fragmented per vendor.

BroadNet's two-way SMS runs on numeric long codes and licensed short codes across 200+ countries and 1,000+ operator connections, with keyword matching, autoresponders, always-on STOP and HELP handling, and routing to agents or AI — behind the same omnichannel API, operating since 2003.

Frequently asked questions

What is two-way SMS?

Two-way SMS is business text messaging over a number that can both send and receive. The application sends mobile-terminated (MT) messages, and the customer's replies arrive back as mobile-originated (MO) messages on the same long code or short code. It turns one-way alerts into conversations — confirmations, keyword responses, support — and, unlike an alphanumeric sender ID, it gives the handset a number to reply to.

How do SMS keywords and autoresponders work?

An inbound message is matched against a set of keywords — such as JOIN, HELP or STOP — after normalising its case and whitespace. A matched keyword triggers a rule: an automated reply, a backend lookup, a list change, or an escalation to an agent. Messages that match nothing get a default fallback response. The autoresponder is simply this rule engine on the inbound path, running per message in seconds.

How do I handle STOP and opt-out in SMS?

Reserve stop keywords — STOP, END, CANCEL, UNSUBSCRIBE, QUIT — as always-on rules that override every campaign and session. On receipt, unsubscribe the number immediately and for free, confirm once, and log the opt-out with a timestamp. Pair it with HELP, which must return your brand identity and support information. Carriers and regulators require both, because honouring opt-out is the enforcement side of consent.

References

Was this useful?

How we write and review content

Written by

BroadNet Editorial Team

The Editorial Team publishes the BroadNet blog. Articles are written with BroadNet's regulatory affairs, product, engineering, industry research and operator solutions teams, and reviewed under our editorial standards.

The Journal, by email

One essay a month. Nothing else.

Subscribe and we'll send the next piece — engineering, regulation, or industry — the day it ships. No drip campaigns, no product pitches, no third-party sharing. Unsubscribe in one click.

We send one email a month. Unsubscribe anytime. See our privacy policy.

What you'll get
  • Long-form, not link bait
    Six to eleven minutes of focused writing on a single topic.
  • Written by operators
    Engineers, regulatory leads, and product writing in-house.
  • Region-aware
    MENA-grounded view on regulators, operators, and channel mix.
  • Once a month
    No drip campaign. One essay when there is one to share.
Stop reading. Start shipping.

Most of what we write we learned in production.

If this piece made you nod, we should probably talk. Bring the use case, the volumes, the markets — we'll come back with routing, pricing, and a reference customer you can call.

$ curl -X POST https://api.broadnet.me/sms/sendSms