productivity
Plivo CLI for AI Agents
Use the Plivo CLI from KosmoKrator to call Plivo tools headlessly, return JSON, inspect schemas, and automate workflows from coding agents, scripts, and CI.Plivo CLI Setup
Plivo can be configured headlessly with `kosmokrator integrations:configure plivo`.
# Install KosmoKrator first if it is not available on PATH.
curl -fsSL https://raw.githubusercontent.com/OpenCompanyApp/kosmokrator/main/install.sh | bash
# Configure and verify this integration.
kosmokrator integrations:configure plivo --set auth_id="$PLIVO_AUTH_ID" --set auth_token="$PLIVO_AUTH_TOKEN" --enable --read allow --write ask --json
kosmokrator integrations:doctor plivo --json
kosmokrator integrations:status --json Credentials
Authentication type: API token api_token. Configure credentials once, then reuse the same stored profile from scripts, coding CLIs, Lua, and MCP.
| Key | Env var | Type | Required | Label |
|---|---|---|---|---|
auth_id | PLIVO_AUTH_ID | Text text | yes | Auth ID |
auth_token | PLIVO_AUTH_TOKEN | Secret secret | yes | Auth Token |
Command Patterns
The generic command is stable across every integration. The provider shortcut is shorter for humans.
kosmo integrations:call plivo.plivo_list_messages '{"limit":1,"offset":1,"message_direction":"example_message_direction","message_state":"example_message_state","src":"example_src","dst":"example_dst","start_time":"example_start_time","end_time":"example_end_time"}' --json kosmo integrations:plivo plivo_list_messages '{"limit":1,"offset":1,"message_direction":"example_message_direction","message_state":"example_message_state","src":"example_src","dst":"example_dst","start_time":"example_start_time","end_time":"example_end_time"}' --json Discovery
These commands return structured output for coding agents that need to inspect capabilities before choosing a function.
kosmo integrations:docs plivo --json
kosmo integrations:docs plivo.plivo_list_messages --json
kosmo integrations:schema plivo.plivo_list_messages --json
kosmo integrations:search "Plivo" --json
kosmo integrations:list --json Automation Contexts
The same configured command surface works in these environments. The command does not change unless the host wrapper, credentials, or permissions change.
CLI Functions
Every function below can be called headlessly. Commands are highlighted, copyable, and scroll horizontally when payloads are long.
plivo.plivo_list_messages
List SMS messages from Plivo with optional filters. Supports filtering by direction (inbound/outbound), message state, date range, sender, and recipient. Returns paginated message records.
read - Parameters
- limit, offset, message_direction, message_state, src, dst, start_time, end_time
kosmo integrations:call plivo.plivo_list_messages '{"limit":1,"offset":1,"message_direction":"example_message_direction","message_state":"example_message_state","src":"example_src","dst":"example_dst","start_time":"example_start_time","end_time":"example_end_time"}' --json kosmo integrations:plivo plivo_list_messages '{"limit":1,"offset":1,"message_direction":"example_message_direction","message_state":"example_message_state","src":"example_src","dst":"example_dst","start_time":"example_start_time","end_time":"example_end_time"}' --json plivo.plivo_send_sms
Send an SMS message via Plivo. Specify a source phone number (must be a Plivo number), one or more destination numbers, and the message text. Returns the message UUID and details.
write - Parameters
- src, dst, text, type, url, log
kosmo integrations:call plivo.plivo_send_sms '{"src":"example_src","dst":"example_dst","text":"example_text","type":"example_type","url":"example_url","log":true}' --json kosmo integrations:plivo plivo_send_sms '{"src":"example_src","dst":"example_dst","text":"example_text","type":"example_type","url":"example_url","log":true}' --json plivo.plivo_list_numbers
List phone numbers on your Plivo account. Supports filtering by number type, service, and pagination.
read - Parameters
- limit, offset, number_type, service
kosmo integrations:call plivo.plivo_list_numbers '{"limit":1,"offset":1,"number_type":"example_number_type","service":"example_service"}' --json kosmo integrations:plivo plivo_list_numbers '{"limit":1,"offset":1,"number_type":"example_number_type","service":"example_service"}' --json plivo.plivo_get_number
Retrieve details of a specific phone number on your Plivo account by its number (e.g., "+14155552671"). Returns alias, application, service type, and other number properties.
read - Parameters
- number
kosmo integrations:call plivo.plivo_get_number '{"number":"example_number"}' --json kosmo integrations:plivo plivo_get_number '{"number":"example_number"}' --json plivo.plivo_list_calls
List calls from Plivo with optional filters. Supports filtering by direction (inbound/outbound), call state, date range, and phone numbers. Returns paginated call records.
read - Parameters
- limit, offset, call_direction, call_state, from_number, to_number, start_time, end_time
kosmo integrations:call plivo.plivo_list_calls '{"limit":1,"offset":1,"call_direction":"example_call_direction","call_state":"example_call_state","from_number":"example_from_number","to_number":"example_to_number","start_time":"example_start_time","end_time":"example_end_time"}' --json kosmo integrations:plivo plivo_list_calls '{"limit":1,"offset":1,"call_direction":"example_call_direction","call_state":"example_call_state","from_number":"example_from_number","to_number":"example_to_number","start_time":"example_start_time","end_time":"example_end_time"}' --json plivo.plivo_get_call
Retrieve detailed information about a specific Plivo call by its call UUID. Returns call details including duration, direction, status, and recording information.
read - Parameters
- call_id
kosmo integrations:call plivo.plivo_get_call '{"call_id":"example_call_id"}' --json kosmo integrations:plivo plivo_get_call '{"call_id":"example_call_id"}' --json plivo.plivo_list_applications
List Plivo voice applications on the account. Returns application IDs, names, answer/hangup URLs, and associated number counts.
read - Parameters
- limit, offset
kosmo integrations:call plivo.plivo_list_applications '{"limit":1,"offset":1}' --json kosmo integrations:plivo plivo_list_applications '{"limit":1,"offset":1}' --json Function Schemas
Use these parameter tables when building CLI payloads without calling integrations:schema first.
plivo.plivo_list_messages 8 parameters
kosmo integrations:schema plivo.plivo_list_messages --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of results to return (default: 20, max: 100). |
offset | integer | no | Offset for pagination (default: 0). |
message_direction | string | no | Filter by direction: "inbound" or "outbound". |
message_state | string | no | Filter by state: "queued", "sent", "delivered", "undelivered", or "failed". |
src | string | no | Filter by source phone number (sender). |
dst | string | no | Filter by destination phone number (recipient). |
start_time | string | no | Filter messages after this datetime (ISO 8601, e.g., "2026-01-01T00:00:00Z"). |
end_time | string | no | Filter messages before this datetime (ISO 8601, e.g., "2026-01-31T23:59:59Z"). |
plivo.plivo_send_sms 6 parameters
kosmo integrations:schema plivo.plivo_send_sms --json | Parameter | Type | Required | Description |
|---|---|---|---|
src | string | yes | The source phone number (must be a Plivo-hosted number, e.g., "+14155552671"). |
dst | string | yes | Destination phone number(s). Use a single number or multiple numbers separated by "<" (e.g., "+14155552671" or "+14155552671<+14155552672"). |
text | string | yes | The SMS message text content. |
type | string | no | Message type: "sms" (default) or "mms". |
url | string | no | Webhook URL to receive delivery status callbacks. |
log | boolean | no | Whether to log the message in Plivo (default: true). |
plivo.plivo_list_numbers 4 parameters
kosmo integrations:schema plivo.plivo_list_numbers --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of results to return (default: 20, max: 100). |
offset | integer | no | Offset for pagination (default: 0). |
number_type | string | no | Filter by number type: "local", "tollfree", or "national". |
service | string | no | Filter by service: "voice", "sms", or "voice,sms". |
plivo.plivo_get_number 1 parameters
kosmo integrations:schema plivo.plivo_get_number --json | Parameter | Type | Required | Description |
|---|---|---|---|
number | string | yes | The phone number to retrieve (e.g., "+14155552671"). |
plivo.plivo_list_calls 8 parameters
kosmo integrations:schema plivo.plivo_list_calls --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of results to return (default: 20, max: 100). |
offset | integer | no | Offset for pagination (default: 0). |
call_direction | string | no | Filter by direction: "inbound" or "outbound". |
call_state | string | no | Filter by state: "ringing", "in-progress", "ended", etc. |
from_number | string | no | Filter by caller phone number. |
to_number | string | no | Filter by callee phone number. |
start_time | string | no | Filter calls after this datetime (ISO 8601). |
end_time | string | no | Filter calls before this datetime (ISO 8601). |
plivo.plivo_get_call 1 parameters
kosmo integrations:schema plivo.plivo_get_call --json | Parameter | Type | Required | Description |
|---|---|---|---|
call_id | string | yes | The unique call UUID to retrieve. |
plivo.plivo_list_applications 2 parameters
kosmo integrations:schema plivo.plivo_list_applications --json | Parameter | Type | Required | Description |
|---|---|---|---|
limit | integer | no | Maximum number of results to return (default: 20, max: 100). |
offset | integer | no | Offset for pagination (default: 0). |
Permissions
Headless calls still follow the integration read/write permission policy. Configure read/write defaults with
integrations:configure. Add --force only for trusted automation that should bypass that policy.