What is two-way SMS?
Two-way SMS is text messaging that works as a conversation. You send a message, the customer replies, and your system or a member of your team answers. One-way messaging, such as a one-time code, only goes out. Two-way adds the return path, and that changes what you can do with a text: confirm an appointment, collect feedback, answer a question or qualify a lead, all in the app people already read first.
This guide explains how the return path works, which numbers support it, how replies reach your software and how to design a conversation that is useful instead of annoying. It also covers the rules that apply once people can write back. If you are starting from the basics, read our explainer on the SMS gateway.
How two-way SMS works
- You send a prompt. The message comes from a number that can receive replies, such as a long code or short code.
- The customer replies. Their phone sends a message back to that number.
- The provider receives it. The operator routes the reply to your provider, which matches it to your number.
- Your application is notified. The provider posts the reply to your webhook with the sender, the number and the text.
- You respond. Software chooses a reply from the keyword, or the message goes to an agent. The answer is sent like any other SMS.
The reply is called an inbound or mobile-originated message, abbreviated MO. Your outgoing message is mobile-terminated, or MT. The terms come from the SMS standard and you will see them in provider documentation.
Which senders can receive replies
| Alphanumeric sender ID | Long code | Toll-free number | Short code | |
|---|---|---|---|---|
| Receives replies | No | Yes | Yes | Yes |
| Typical use | One-way alerts and OTP | Conversations and local feel | Support and notifications | High-volume keyword programmes |
| Registration | Country-specific | 10DLC in the US | Toll-free verification | Application and lease |
| Speed | Varies | Lower | Medium to high | Highest |
This choice decides whether replies are possible at all. Our guides to sender IDs, 10DLC and short codes explain each, and virtual numbers lists the numbers you can rent. In India, where commercial SMS is sent from registered headers under DLT rules, two-way conversations are usually handled on another channel, such as WhatsApp.
Receiving an inbound message in code
{
"id": "evt_4d71",
"type": "message.received",
"data": {
"from": "+14155550123",
"to": "+12025550142",
"text": "YES",
"received_at": "2026-10-29T10:41:07Z"
}
}The event above is illustrative. Your handler reads the text, normalises it (trim spaces, ignore case), looks it up against the keywords you support and sends the matching reply:
def handle_inbound(evt):
text = evt["data"]["text"].strip().upper()
sender = evt["data"]["from"]
if text in ("STOP", "STOPALL", "UNSUBSCRIBE", "CANCEL", "END", "QUIT"):
opt_out(sender)
return reply(sender, "You are unsubscribed. No more messages will be sent.")
if text == "HELP":
return reply(sender, "Telnxo support: help@example.com or call +1 555 0100. Reply STOP to opt out.")
if text in ("YES", "Y"):
confirm_appointment(sender)
return reply(sender, "Confirmed. Reply C to reschedule.")
assign_to_agent(sender, evt)Use cases that work well
| Use case | Prompt | Typical reply | What the system does |
|---|---|---|---|
| Appointment confirmation | Reply YES to confirm | YES / C | Updates the booking or offers new slots |
| Delivery rescheduling | Reply 1 for today, 2 for tomorrow | 1 or 2 | Updates the courier schedule |
| Customer survey | Rate us 1 to 5 | 4 | Stores the score and asks a follow-up |
| Lead qualification | Interested? Reply INFO | INFO | Notifies sales and sends details |
| Support | Text your question | Free text | Creates a ticket and answers by agent |
| Contests and sign-ups | Text JOIN to enter | JOIN | Records consent and confirms |
These patterns appear in our support, logistics and healthcare solutions, and in the guide to SMS marketing.
Designing a good two-way conversation
- Make the next step obvious. Tell people exactly what to type: "Reply YES to confirm".
- Accept sloppy input. Ignore case and spaces, accept YES, Y and yes, and handle typos where you can.
- Always provide a way out. STOP and HELP must work on every message stream, and there should be a route to a person.
- Keep it short. One question per message, ideally within a single segment.
- Handle the unexpected. If you do not understand a reply, say so and offer options rather than going silent.
- Respect the clock. Do not reply at night, and expire a conversation sensibly so an old "YES" is not applied to a new question.
Context is the hard part. A reply of "YES" means nothing alone. Store which question you last asked each number, so the answer is read in the right context.
Compliance when people can reply
Two-way messaging brings a clear duty: when someone texts STOP, you stop, at once, across every programme that uses that number. You should also answer HELP with your business name and contact details, keep records of consent and avoid sending outside permitted hours. In the United States, the Telephone Consumer Protection Act and carrier rules apply; elsewhere, local regulators set their own. See our guides to opt-outs, sending windows and consent and the messaging policy.
Two-way SMS compared with WhatsApp and RCS
SMS is not the only way to hold a conversation, and it is worth being honest about where it is strongest. It reaches every phone with no app and no data connection, which is why it remains the best fallback for confirmations and codes. It is weaker at rich content: no buttons, no images in standard messages and no read receipts. WhatsApp and RCS add those, but depend on the customer using the app or having a supported phone. Our guide to SMS, WhatsApp and RCS helps choose, and many businesses use SMS as the default with a richer channel layered on top.
Common pitfalls in two-way SMS
| Pitfall | What goes wrong | Prevention |
|---|---|---|
| Sending from an alphanumeric ID | Replies bounce and customers are confused | Use a number that can receive |
| No STOP handling | Complaints and carrier action | Automate opt-outs on the first message |
| Treating replies without context | "YES" applied to the wrong question | Store the last prompt for each number |
| Slow human replies | Customers give up or call instead | Set response targets and alerts |
| One number for every purpose | Marketing complaints damage service messages | Separate numbers or campaigns by purpose |
| Ignoring unknown replies | Silence feels broken | Reply with options or route to an agent |
A final point is volume planning. When a campaign goes out to a large audience, replies arrive in a burst within minutes. Your webhook and your agents need to cope with that wave, so queue inbound events, scale the workers that process them and decide in advance who answers the messages your automation cannot. Testing with a small batch first shows how many replies to expect per hundred messages sent, which makes capacity planning far easier.
Measuring a two-way programme
Reply rate tells you whether your prompts are clear: a confirmation message that gets a response from most people is working, and one that gets almost none needs a simpler call to action. Response time matters when a human is involved, because an answer after a day is often too late for a customer who wanted a quick change. Keep an eye on the share of replies your automation could not understand, since that list shows you which keywords to add next, and on opt-out rates, which rise when messages are irrelevant or too frequent.
One-way messages inform. Two-way messages resolve, and that is where the value is.
Start a conversation channel. Get a number, point replies to your webhook and test a flow in minutes.
Frequently asked questions
What is two-way SMS?
Two-way SMS is text messaging in which both the business and the customer can send messages. The customer can reply, and the business can answer automatically or through an agent.
Can I receive replies if I send from a sender name?
No. Alphanumeric sender IDs such as a brand name are one-way. To receive replies you need a long code, a toll-free number or a short code.
How do I receive inbound SMS in my application?
Your provider sends each incoming message to a webhook URL you register, usually as a JSON request containing the sender, the destination number and the text.
Is two-way SMS the same as an SMS chatbot?
Not exactly. Two-way SMS is the channel capability to send and receive. A chatbot is software that uses it to answer automatically. You can use two-way SMS with human agents only.
What keywords should two-way SMS support?
At minimum STOP to opt out and HELP for assistance. Many programmes add keywords such as YES, NO, CONFIRM, RESCHEDULE and JOIN, depending on the use case.
Is two-way SMS allowed for marketing?
Yes, with consent. Customers must have agreed to receive messages, you must honour STOP immediately and local rules, such as the TCPA in the US or DLT in India, apply.
What are good use cases for two-way SMS?
Appointment confirmations, delivery updates with rescheduling, customer support, surveys, order confirmations, lead qualification and voting or contest entries.