Plivo Integration
Configure Plivo for voice communication in Paladin AI
Overview#
Plivo is a cloud communications platform that provides global voice and messaging APIs. Paladin AI's Plivo integration uses Plivo's XML and WebSocket streaming to power your voice agents.
Prerequisites#
Before setting up Plivo integration, you'll need:
- A Plivo account
- Auth ID and Auth Token from your Plivo Console
- A Plivo Application with Voice capability (optional — leave the field blank in Paladin and we'll auto-create one for you on save, with the
answer_urlpre-set) - At least one Plivo phone number
- Access to your Paladin workspace
Configuration#
Step 1: Get Plivo Credentials#
- Log in to your Plivo Console
- Find your Auth ID and Auth Token on the dashboard
- (Optional) Navigate to Voice → Applications and create (or open) the application you'll use with Paladin, then copy its Application ID (a UUID). Skip this if you want Paladin to auto-create the application for you on save.
- Navigate to Phone Numbers → Your Numbers and copy the numbers you plan to use
Step 2: Configure in Paladin AI#
- Navigate to /telephony-configurations and click Add configuration
- Select Plivo as your provider
- Enter your credentials:
- Auth ID
- Auth Token
- Application ID — optional. Leave blank and Paladin will auto-create a Plivo Application on save (with the
answer_urlalready configured) and store its Application ID on this configuration.
- Click Save Configuration
- Open the configuration you just created and add at least one phone number (with country code in E.164 format, e.g.
+1234567890). The default caller ID is used for outbound calls.
Step 3: Test Your Configuration#
- Create a test workflow
- Click "Call" to verify connection
- Check call logs for successful connection
Inbound Calling Setup#
Plivo numbers don't carry an answer_url directly — the URL lives on a Plivo Application, and each number is linked to one application. When you save an inbound workflow on a phone number, Paladin automatically pushes the webhook URL to your Plivo Application's answer_url (provided the credentials are correct). You don't need to set the webhook by hand. If Paladin auto-created the application during configuration save, the answer_url is already set and this push is a no-op.
Step 1: Link the Phone Number to Your Plivo Application#
- Go to Phone Numbers → Your Numbers in the Plivo Console
- Open the number you want to use for inbound calls
- Set its Application to the same application whose ID you configured in Paladin
- Save
Step 2: Assign an Inbound Workflow to the Phone Number in Paladin#
- Go to /telephony-configurations and open your Plivo configuration
- In the Phone numbers section, edit the number that should receive inbound calls
- Set its Inbound workflow to the agent that should answer
- Save
Step 3: Verify the Answer URL on the Plivo Application#
- Open your Plivo Application in the Plivo Console under Voice → Applications
- Confirm:
- Answer URL is set to:
https://app.paladin.northmanngrp.com/api/v1/telephony/inbound/run - Answer Method is
POST
Step 4: Verify Setup#
- Ensure your Paladin AI instance is publicly accessible
- Verify any firewalls allow Plivo's IP ranges
Test Inbound Calling#
- Call your configured Plivo phone number from another phone
- Verify your Paladin AI voice agent answers and responds
- Check call logs in both Paladin AI dashboard and Plivo Console
Troubleshooting#
Invalid phone number error
Ensure phone numbers include country code in E.164 format: +1234567890
Authentication failed
- Verify Auth ID and Auth Token are correct - Check for extra spaces in
credentials - Ensure credentials haven't been regenerated in Plivo Console
Webhook signature validation failing
- Confirm your Auth Token matches exactly - Verify the webhook URL matches
what Plivo sends - Check if you're behind a proxy that modifies requests
No audio on calls
- Verify WebSocket connection is established - Check firewall rules for
WebSocket traffic - Ensure audio pipeline is configured correctly
Inbound calls go to voicemail or aren
- Verify the phone number is linked to the same Plivo Application whose
ID you configured in Paladin - Confirm the called number exists in your Paladin telephony configuration and has an Inbound workflow assigned
- After assigning the inbound workflow, confirm Paladin successfully
updated the application's answer_url (no warning shown on save) - Verify Paladin AI instance is running and responding
Voice agent doesn
- Confirm the phone number has an Inbound workflow assigned in
/telephony-configurations - Check webhook signature validation is working (Auth Token in Paladin matches Plivo Console) - Verify WebSocket connection establishes successfully - Review call logs for error messages
Best Practices#
- Test your configuration with a single call before running campaigns
- Monitor Plivo Console for usage and billing
- Use a dedicated Plivo Application for Paladin so the shared
answer_urldoesn't conflict with other systems