Reference · Tools

Plivo

Send SMS/MMS messages or make phone calls via the Plivo cloud communications API.

Action Communication v1

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

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Plivo API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Callcall
MMSmms
SMSsms

Operations

OperationValueDescription
Call: MakemakeMake a voice call
MMS: SendsendSend an MMS message (US/Canada only)
SMS: SendsendSend an SMS message

Parameters

Call: Make

ParameterTypeRequiredDefaultDescription
FromstringYesCaller ID phone number (E.164 format). Supports expressions.
TostringYesDestination phone number to call (E.164 format). Supports expressions.
Answer MethodoptionsYesPOSTHTTP method Plivo uses to request the answer URL.
Options: GET, POST
Answer URLstringYesURL Plivo will request when the call is answered. Must return valid Plivo XML to control the call. Supports expressions.

MMS: Send

ParameterTypeRequiredDefaultDescription
FromstringYesPlivo phone number to send the MMS from (E.164 format). Supports expressions.
TostringYesDestination phone number (E.164 format). Supports expressions.
MessagestringNoText message content (optional for MMS). Supports expressions.
Media URLsstringNoComma-separated list of media file URLs from your file server. Supports expressions.

SMS: Send

ParameterTypeRequiredDefaultDescription
FromstringYesPlivo phone number to send the SMS from (E.164 format). Supports expressions.
TostringYesDestination phone number (E.164 format). Supports expressions.
MessagestringYesText message content to send. Supports expressions.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum 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

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes 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 you make. 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 BusyBot

Last updated . Spotted something wrong? Tell us.