Send SMS

vonage.send_sms
ActionVoice & SMSconnection required

Calls the Vonage API with the connection's credentials.

Send an SMS through the Vonage SMS API. Vonage splits a long message into parts and reports a status for each one, so the output carries the per-part ids, prices and refusals rather than a single success flag; the step fails only when every part was refused.

Connection

Required
Yes — the node will not save without one
Auth type
Username & password
Providers
Vonage
Secret shape
{"api_key": "…", "api_secret": "…"}
Config it needs
api_region, from_number
Resolved by
config.connection_id, else node.connection_id

Configuration

12 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
to
The recipient's phone number in E.164 format, 7 to 15 digits.
stringYes—7–15 characters447700900000
text
The body of the message the handset will show.
stringYes——Your order has shipped.
from_number
The sender shown on the handset — a Vonage number, or an alphanumeric sender id where the destination country allows one. Overrides the connection's default sender.
stringNo——Acme
message_type
How the body is encoded: text for GSM-7, or unicode for non-Latin characters and emoji. Binary SMS is not offered here because it carries its payload in body/udh, not text.
stringNotextone of "text", "unicode"—
ttl
How long, in milliseconds, Vonage keeps trying to deliver the message before giving up.
numberNo—20000–604800000—
status_report_req
Ask Vonage to send a delivery receipt to the account's callback URL once the carrier reports the outcome.
booleanNo———
callback
A URL to receive the delivery receipt for this message only, overriding the account-wide one.
stringNo—≤ 100 characters; url format—
message_class
The GSM data-coding class: 0 sends a flash message that is shown but not stored, 1 to 3 store it normally.
numberNo—0–3—
client_ref
Your own reference for this message, echoed back on the response and the delivery receipt.
stringNo—≤ 100 characters—
account_ref
A sub-account reference for billing, on accounts that have the reference-billing feature enabled.
stringNo———
entity_id
The registered entity id some regulators require, such as the DLT principal-entity id used in India.
stringNo———
content_id
The registered template id some regulators require, such as the DLT content template id used in India.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "from_number": "Acme",
  "message_type": "text",
  "text": "Your order has shipped.",
  "to": "447700900000"
}

Output

One shape.

result

FieldTypeExample
status
'sent' when Vonage accepted every part of the message, 'partial' when some parts were refused. It never means the handset received it — a delivery receipt reports that later.
string—
message_count
How many parts Vonage split the message into.
number—
sent_count
How many of those parts Vonage accepted.
number—
failed_count
How many of those parts Vonage refused.
number—
message_ids
The Vonage message id of each accepted part.
array—
remaining_balance
The account balance Vonage reported after the last accepted part.
string—
parts
Every part, with its to, message_id, status, status_text, error_text, message_price, remaining_balance, network, client_ref and account_ref.
array—
failed_parts
Only the parts Vonage refused, so a partial send names the number that was rejected instead of hiding it behind a success.
array—
{
  "failed_count": 0,
  "failed_parts": [],
  "message_count": 0,
  "message_ids": [],
  "parts": [],
  "remaining_balance": "",
  "sent_count": 0,
  "status": ""
}

See Send SMS run in a workflow.

In a technical demo we add the Vonage connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.