Skip to main content
Agno is an open-source framework for building AI agents. Plivo ships as a built-in toolkit in Agno, so an agent can send SMS, place voice calls, and look up phone numbers by calling Plivo APIs as tools. The agent’s model decides when to use each tool, so you add the capability once and let the agent choose when to reach a person. This is a tool-use integration over Plivo REST APIs.

Prerequisites

Quick start

Start with the runnable examples repository, then adapt the pattern to your own agent.
Set your credentials in .env:
Run the featured example:
For call-capable examples, PLIVO_ANSWER_URL should point to an endpoint that returns valid Plivo XML. If you want the smallest possible inline example, create an agent and give it the Plivo tools:
The agent calls send_sms and returns the Plivo message ID. For outbound calls, keep the caller ID and answer URL in config and let the per-call prompt express only intent:
This works with the toolkit as it exists today. The model fills make_call from the configured instructions, while PLIVO_ANSWER_URL stays in env instead of being pasted into every call prompt.
The sender must be an SMS-enabled Plivo number on your account. For calls, the caller ID must be a voice-enabled Plivo number in E.164.

Available tools

PlivoTools registers these tools. The agent picks the right one from your instruction. For make_call, pass an answer_url that returns Plivo XML, and set answer_method to match how that URL is served.

Register a subset of tools

Turn individual tools on or off with the enable_* flags.

Troubleshooting

Runnable examples

Clone-and-run Agno agents built on the Plivo tools.

Agno cookbook example

The Plivo tools example in the Agno cookbook.

Agno PlivoTools reference

Agno’s reference for the Plivo toolkit.

Plivo Messages API

Send an SMS with the Plivo API.

Plivo Voice API

Make a call with the Plivo API.

Plivo Number Lookup API

Look up carrier and line-type details for a number.