Send SMS
messagebird.send_sms
ActionVoice & SMSconnection required
Calls the MessageBird API with the connection's credentials.
Send or schedule an SMS to one or more numbers, or to saved contact groups. MessageBird accepts the message and reports per-recipient delivery afterwards, so the output carries the sent, delivered and failed counts rather than a single success flag.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- MessageBird
- Secret shape
- the access key, or {"access_key": "…"}
- Config it needs
- originator, base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
12 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
body The text of the message the handset will show. | string | Yes | — | — | Your order has shipped. |
recipients Phone numbers in international format, as a comma-separated list or a JSON array. Leave blank when sending to group_ids instead. | string | No | — | — | +31612345678 |
group_ids MessageBird contact-group ids to send to, as a JSON array. An alternative to naming recipients one by one. | array | No | — | array of string | — |
originator The sender shown on the handset. Overrides the connection's default originator; up to 11 letters or 15 digits. | string | No | — | ≤ 17 characters | — |
message_type How the handset should treat the message: a normal sms, a binary payload, or a flash shown without being stored. | string | No | — | one of "sms", "binary", "flash" | — |
datacoding Character set: plain for GSM 03.38, unicode for UCS-2, or auto to let MessageBird pick from the body. | string | No | — | one of "plain", "unicode", "auto" | — |
reference Your own reference for this message, echoed back on status reports. | string | No | — | — | — |
report_url URL MessageBird posts delivery status reports to for this message. | string | No | — | url format | — |
validity How many seconds MessageBird keeps trying before giving up. | number | No | — | 1–604800 | — |
mclass GSM message class: 0 is a flash message, 1 the normal one. 0 to 3 are accepted. | number | No | — | 0–3 | — |
shorten_urls Replace links in the body with MessageBird short links so clicks can be tracked. | boolean | No | — | — | — |
scheduled_datetime RFC3339 timestamp to send at instead of immediately. | string | No | — | iso8601 format | — |
- At least one of recipients, group_ids must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"body": "Your order has shipped.",
"recipients": "+31612345678"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id MessageBird's identifier for the message. | string | — |
href URL of the message object on MessageBird. | string | — |
status One of accepted, scheduled, partial or failed, derived from the per-recipient counts. 'accepted' means MessageBird holds the message; delivery is confirmed later. | string | — |
partial True when some recipients failed and others did not. | boolean | — |
total_count How many recipients the message was addressed to. | number | — |
sent_count How many recipients MessageBird has sent to so far. | number | — |
delivered_count How many recipients have confirmed delivery. | number | — |
failed_count How many recipients failed or let the message expire. | number | — |
failed_recipients One entry per failed recipient with its status, status_reason and status_error_code, so a partial send is visible instead of hidden. | array | — |
message The message object exactly as MessageBird returned it. | object | — |
{
"delivered_count": 0,
"failed_count": 0,
"failed_recipients": [],
"href": "",
"id": "",
"message": {},
"partial": false,
"sent_count": 0,
"status": "",
"total_count": 0
}See Send SMS run in a workflow.
In a technical demo we add the MessageBird connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.