reply
Create and send an outbound message in response to the inbound message. reply accepts three
shapes: a string shorthand, an object with body/media/routing fields, or an inline switch that
branches the reply body on a variable’s value.
reply does not end execution — subsequent steps in the section continue to run after the reply
is queued.
Properties
reply accepts one of three shapes — use whichever fits the document shape:
String shorthand
Object
Inline switch
A single string used as the reply body. The reply is sent to the inbound
message’s from number, using the inbound to as the sender.
reply
The body of the reply message.
Variables
reply writes these variables into the script context after it runs. Read them with the
%{variable} syntax in subsequent steps. When reply is called multiple times in a single
document, both variables reflect the most recent reply.
reply_result
Outcome of the reply attempt. queued when the outbound message was accepted for delivery,
failed when validation or delivery rejected it (invalid from/to, missing body and media,
character limit exceeded, missing messaging capability, inactive campaign, etc.).
reply_message_id
ID of the outbound message created by the successful reply. Absent when
reply_result is failed.
Status callbacks
The status_url on reply registers a delivery status callback for the outbound reply message —
not for the inbound message that triggered the SWML document. It behaves the same way as the status
callback on any other outbound message sent through SignalWire.
- Fires as the outbound reply moves through delivery states.
- Callback delivery is independent of SWML execution: the SWML document completes as soon as the reply
is accepted (
reply_result: "queued"); delivery-state callbacks fire afterwards. - If
replyis called multiple times in a single document, each reply’sstatus_urlis registered independently for its own outbound message.
When status_url is set, SignalWire sends an HTTP POST to that URL each time the outbound reply
transitions to a new state. The callback uses the same payload as other outbound messages sent
through SignalWire:
See the Message status callback
webhook page for the full field reference and the list of possible status values.
Examples
Reply with body
Reply with media (MMS)
Reply with a status callback URL
Keyword-driven reply with inline switch
The inline switch form branches the reply body on a variable’s value — typically the
inbound message.body.
Per-case media and routing with inline switch
When a case needs more than a body string — different media, a different destination, or a
per-branch status_url — supply a full reply object for that case instead of a bare string.