Reference · Tools
Plivo
Send SMS/MMS messages or make phone calls via the Plivo cloud communications API.
The Plivo node sends SMS and MMS messages and places phone calls through Plivo's cloud communications API. A typical build is texting a delivery notification and escalating to an automated call if it is not acknowledged.
- Node type
- Action
- Parameters
- 16
- Outputs
- Output, Error
- Credentials
- Plivo API
Plivo
Send SMS/MMS or make calls via Plivo
Overview
Plivo is a cloud communications platform that provides SMS, MMS, and voice call APIs. This tool supports sending SMS messages, sending MMS messages (US/Canada only), and initiating outbound voice calls. It uses the Plivo REST API v1 with HTTP Basic Auth. SMS and MMS use the /Message/ endpoint while calls use the /Call/ endpoint.
Category: Communication
Tool Name: plivo
Version: 1
Appearance: Icon: lucide-Phone | Color: #39AF6A
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Plivo API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Call | call |
| MMS | mms |
| SMS | sms |
Operations
| Operation | Value | Description |
|---|---|---|
| Call: Make | make | Make a voice call |
| MMS: Send | send | Send an MMS message (US/Canada only) |
| SMS: Send | send | Send an SMS message |
Parameters
Call: Make
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| From | string | Yes | — | Caller ID phone number (E.164 format). Supports expressions. |
| To | string | Yes | — | Destination phone number to call (E.164 format). Supports expressions. |
| Answer Method | options | Yes | POST | HTTP method Plivo uses to request the answer URL. |
Options: GET, POST | ||||
| Answer URL | string | Yes | — | URL Plivo will request when the call is answered. Must return valid Plivo XML to control the call. Supports expressions. |
MMS: Send
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| From | string | Yes | — | Plivo phone number to send the MMS from (E.164 format). Supports expressions. |
| To | string | Yes | — | Destination phone number (E.164 format). Supports expressions. |
| Message | string | No | — | Text message content (optional for MMS). Supports expressions. |
| Media URLs | string | No | — | Comma-separated list of media file URLs from your file server. Supports expressions. |
SMS: Send
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| From | string | Yes | — | Plivo phone number to send the SMS from (E.164 format). Supports expressions. |
| To | string | Yes | — | Destination phone number (E.164 format). Supports expressions. |
| Message | string | Yes | — | Text message content to send. Supports expressions. |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item per input item, on the Output port. Plivo’s API response is merged onto the item JSON at the top level rather than nested under a wrapper, so the incoming fields pass through unchanged and the response fields sit beside them; binary data on the input item is forwarded untouched.
Every operation returns the same shape of acknowledgement: the UUID Plivo assigns to the message or call, together with the status text describing what it accepted. The exact key names come straight from the Plivo API, so run the node once and read the output item before wiring those fields into downstream expressions.
An item whose request is rejected — an unverified caller ID, a destination Plivo will not deliver to, an answer URL it cannot reach — fails individually. In errorPort mode that item leaves through the Error port carrying an _error object; the successful items continue out of Output.
Usage Examples
- Send an SMS message to a phone number
- Send an MMS with media attachments
- Make an outbound voice call
Example Configuration
Send a fixed SMS to one number:
{
"type": "plivo",
"parameters": {
"resource": "sms",
"operation": "send",
"from": "+15551234567",
"to": "+15559876543",
"message": "Your order #12345 has been shipped and will arrive tomorrow."
}
}
Send a personalised SMS per item, with concurrency held down for a bulk run:
{
"type": "plivo",
"parameters": {
"resource": "sms",
"operation": "send",
"from": "+15551234567",
"to": "{{ $json.customer_phone }}",
"message": "Hi {{ $json.customer_name }}, your appointment is confirmed for {{ $json.appointment_date }}.",
"maxConcurrency": 5
}
}
Send an MMS with two media files attached (US and Canada numbers only):
{
"type": "plivo",
"parameters": {
"resource": "mms",
"operation": "send",
"from": "+15551234567",
"to": "{{ $json.subscriber_phone }}",
"message": "Here is your receipt and the product photo.",
"media_urls": "https://files.example.com/receipt.pdf,https://files.example.com/product.jpg"
}
}
Place an outbound call and hand control to your own Plivo XML endpoint:
{
"type": "plivo",
"parameters": {
"resource": "call",
"operation": "make",
"from": "+15551234567",
"to": "{{ $json.customer_phone }}",
"answer_url": "https://app.example.com/plivo/emergency-alert",
"answer_method": "POST",
"maxConcurrency": 1
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Send SMS/MMS messages or make phone calls via the Plivo cloud communications API.
Notes
- Each resource has exactly one operation. Picking SMS or MMS gives you
send; picking Call gives youmake. Switching resource changes which fields the node shows, so set Resource first. - Message is optional for MMS, Media URLs is not marked required either — but an MMS carrying neither has nothing to deliver. Set at least one of them.
- Expressions are resolved per item in From, To, Message, Media URLs, Answer URL and Answer Method, so one node can message a different recipient for every item that reaches it.
- A call needs somewhere to go once answered. Answer URL must serve valid Plivo XML; without it the call connects and then has no instructions to follow.
Frequently asked questions
Why do the fields change when I switch resource?
Each resource has exactly one operation — SMS and MMS give you `send`, Call gives you `make` — and switching resource changes which fields the node shows. Set Resource first.
What does an MMS actually need?
Message and Media URLs are both technically optional, but an MMS carrying neither has nothing to deliver. Set at least one of them.
Can it place voice calls as well as text?
Yes — the Call resource places phone calls, which is useful for escalation paths where a text may go unnoticed.
Which credential does it need?
A Plivo API credential covering both messaging and voice.
Build with the Plivo node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Plivo API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.