Make Call
plivo.make_call
ActionVoice & SMSconnection required
Calls the Plivo API with the connection's credentials.
Place an outbound call to one or more numbers. Plivo fires the call and answers with a request UUID, so the output says the call was fired rather than answered — poll the live call for its real state.
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
14 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 |
|---|---|---|---|---|---|
to Numbers to call in international format, as a comma-separated list or a JSON array. Plivo dials them one after another. | string | Yes | — | — | 14155550123 |
from_number The caller id to place the call from. Overrides the connection's default src. | string | No | — | — | — |
answer_url URL returning the Plivo XML that drives the call once it is answered. Overrides the connection's default answer_url. | string | No | — | url format | — |
answer_method The HTTP verb Plivo uses when it fetches the answer URL. | string | Conditional | — | one of "GET", "POST"; only with answer_url | — |
ring_url URL Plivo notifies as soon as the destination starts ringing. | string | No | — | url format | — |
hangup_url URL Plivo notifies with the call detail record once the call ends. | string | No | — | url format | — |
fallback_url URL Plivo fetches Plivo XML from when the answer URL fails. | string | No | — | url format | — |
caller_name The caller name to present alongside the caller id. | string | No | — | — | — |
send_digits DTMF tones to play once the call is answered, for navigating an IVR. Use w for a half-second pause. | string | No | — | — | — |
time_limit Maximum length of the call in seconds; Plivo hangs up after it. | number | No | — | ≥ 1 | — |
ring_timeout How many seconds to let the destination ring before giving up. | number | No | — | ≥ 0 | — |
machine_detection Plivo's answering-machine detection mode, exactly as its call API documents it. Leave blank to disable detection. | string | No | — | — | — |
machine_detection_url URL Plivo posts the answering-machine detection result to. | string | Conditional | — | url format; only with machine_detection | — |
sip_headers Extra SIP headers to attach to the call, as name=value pairs separated by commas. | string | No | — | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"to": "14155550123"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
status fired when Plivo accepted the request, failed when it returned no request UUID. Never means the call was answered. | string | — |
request_uuid Plivo's identifier for the call request. It is not a call_uuid; the live call carries both. | string | — |
recipient_count How many destinations were requested. | number | — |
recipients The destination numbers as they were dialled. | array | — |
api_id Plivo's identifier for this API request. | string | — |
message Plivo's acknowledgement, 'call fired'. | string | — |
response The call response exactly as Plivo returned it. | object | — |
{
"api_id": "",
"message": "",
"recipient_count": 0,
"recipients": [],
"request_uuid": "",
"response": {},
"status": ""
}Notes
- A request_uuid is not a call_uuid and the call has not been answered yet — use plivo.get_live_call or the hangup_url callback for state.
See Make Call 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.