Turn SMS into a two-way conversation
Two-way SMS turns a send into a conversation. Receive replies, run keyword campaigns, and route inbound messages into your systems — on a long code or a short code, all on the same webhook.
How two-way SMS works
Two-way SMS means you can receive as well as send. A customer replies to a message or texts a keyword to your number, and the inbound message arrives on your webhook with the sender, the number or keyword it was sent to, and the body — enough to build opt-outs, confirmations, and support flows.
It runs on a long code or a short code: a long code for moderate volume and quick setup, a short code for high-throughput keyword campaigns. The inbound event is the same shape regardless of which number it lands on, so you integrate once and switch the number later if your volume grows.
Keywords let one number do many jobs — JOIN to subscribe, STOP to opt out, BAL to check a balance — each routed to its own handler. Opt-out keywords are honoured automatically and recorded, so a STOP stops future promotional sends without any work on your side.
Outbound still sends from your registered DLT header; two-way adds the inbound leg. Together they let a campaign send an offer and collect a reply, or an alert and collect a confirmation, in a single thread the customer experiences as one conversation.
// We POST each inbound SMS to your webhook
{
"event": "sms.inbound",
"from": "+919876543210",
"to": "56789", // your long code or short code
"keyword": "JOIN",
"message": "JOIN",
"received_at": "2026-06-09T09:14:22+05:30"
}
// Respond 2xx to acknowledge; reply by sending from your headerWhat’s included
Replies on your webhook
Every inbound SMS arrives with sender, number, keyword, and body.
Route by keyword
JOIN, STOP, HELP and your own terms, each to its own handler.
Long or short code
Same inbound event whether it lands on a long or short code.
Opt-out honoured
STOP and similar keywords stop future sends automatically.
Send and reply in one thread
Pair outbound from your header with inbound replies.
One webhook
Replies and keywords are events on the same endpoint.
Frequently asked
How do replies reach my system?
We POST each inbound message to the webhook you configure, with the sender, the number or keyword it was sent to, the body, and a timestamp. You respond 2xx to acknowledge, and reply by sending from your registered header. No polling required.
Do I need a long code or a short code for two-way?
Either works. A long code is quick and inexpensive and suits moderate conversational volume; a short code is memorable and built for high-throughput keyword campaigns. The inbound event is identical, so you can start on a long code and move to a short code if volume grows.
How are opt-outs handled?
Opt-out keywords like STOP are recognised and honoured automatically — the number stops receiving promotional sends and the opt-out is recorded. Because opt-out is shared across channels, it also covers WhatsApp and voice marketing.
Can one number run several keywords?
Yes. You can route many keywords on a single number to different flows — a subscribe keyword, an opt-out, a balance check — and handle each in your own code. Each arrives on the same webhook tagged with its keyword.