Send SMS or MMS

plivo.send_message
ActionVoice & SMSconnection required

Calls the Plivo API with the connection's credentials.

Send an SMS, MMS or WhatsApp message to one or more numbers. Plivo queues the message and reports delivery afterwards, so the output carries one message UUID per destination and flags a partial send rather than reporting a single success.

Connection

Required
Yes — the node will not save without one
Auth type
Username & password
Providers
Plivo
Secret shape
{"username": "<Auth ID>", "password": "<Auth Token>"}
Config it needs
auth_id, src, answer_url, base_url
Resolved by
config.connection_id, else node.connection_id

Configuration

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

FieldTypeRequiredDefaultConstraintsExample
to
Destination numbers in international format, as a comma-separated list or a JSON array. Plivo sends one message per destination.
stringYes——14155550123
text
The text of the message the handset will show. Optional for an MMS that carries only media.
stringNo——Your order has shipped.
src
The sender number or alphanumeric sender id. Overrides the connection's default src; not used when a powerpack sends.
stringNo———
message_type
Which channel to send on: a plain sms, an mms carrying media, or a whatsapp message. Plivo defaults to sms.
stringNo—one of "sms", "mms", "whatsapp"—
media_urls
Publicly reachable URLs of the media to attach to an MMS, as a JSON array or a comma-separated list.
arrayNo—array of string—
media_ids
Identifiers of media already uploaded to the Plivo media store, as an alternative to media_urls.
arrayNo—array of string—
powerpack_uuid
Send from a Plivo Powerpack instead of a fixed src number, so Plivo picks the sending number itself.
stringNo———
callback_url
URL Plivo posts this message's delivery status reports to.
stringNo—url format—
callback_method
The HTTP verb Plivo uses when it calls the callback URL.
stringConditional—one of "GET", "POST"; only with callback_url—
message_expiry
How many seconds Plivo keeps trying before giving up on the message.
numberNo—≥ 1—
log
How much of the message Plivo keeps in its logs and debug tools: true logs everything, false masks both the text and the destination, content_only masks the destination, number_only masks the text. Plivo defaults to true.
stringNo—one of "true", "false", "content_only", "number_only"—
trackable
True to have Plivo shorten and track links contained in the text.
booleanNo———
template
The approved WhatsApp template object, required only when message_type is whatsapp.
objectConditional—only with message_type—
  • At least one of text, media_urls, media_ids, template must be set.

Example configuration

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

{
  "text": "Your order has shipped.",
  "to": "14155550123"
}

Output

One shape.

result

FieldTypeExample
status
queued when Plivo took every destination, partial when it took some, failed when it took none. Never means delivered.
string—
partial
True when Plivo queued fewer messages than asked.
boolean—
message_uuid
The first message UUID Plivo returned.
string—
message_uuids
One message UUID per destination Plivo queued.
array—
queued_count
How many messages Plivo actually queued.
number—
recipient_count
How many destinations were requested.
number—
recipients
The destination numbers as they were sent.
array—
api_id
Plivo's identifier for this API request.
string—
message
Plivo's acknowledgement, 'message(s) queued'.
string—
response
The send response exactly as Plivo returned it.
object—
{
  "api_id": "",
  "message": "",
  "message_uuid": "",
  "message_uuids": [],
  "partial": false,
  "queued_count": 0,
  "recipient_count": 0,
  "recipients": [],
  "response": {},
  "status": ""
}

Notes

  • Delivery is reported later, on the callback URL or by plivo.get_message — a queued status is not a delivered message.

See Send SMS or MMS run in a workflow.

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