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_url pre-set)
  • At least one Plivo phone number
  • Access to your Paladin workspace

Configuration#

Step 1: Get Plivo Credentials#

  1. Log in to your Plivo Console
  2. Find your Auth ID and Auth Token on the dashboard
  3. (Optional) Navigate to VoiceApplications 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.
  4. Navigate to Phone NumbersYour Numbers and copy the numbers you plan to use

Step 2: Configure in Paladin AI#

  1. Navigate to /telephony-configurations and click Add configuration
  2. Select Plivo as your provider
  3. 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_url already configured) and store its Application ID on this configuration.
  1. Click Save Configuration
  2. 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#

  1. Create a test workflow
  2. Click "Call" to verify connection
  3. 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.

  1. Go to Phone NumbersYour Numbers in the Plivo Console
  2. Open the number you want to use for inbound calls
  3. Set its Application to the same application whose ID you configured in Paladin
  4. Save

Step 2: Assign an Inbound Workflow to the Phone Number in Paladin#

  1. Go to /telephony-configurations and open your Plivo configuration
  2. In the Phone numbers section, edit the number that should receive inbound calls
  3. Set its Inbound workflow to the agent that should answer
  4. Save

Step 3: Verify the Answer URL on the Plivo Application#

  1. Open your Plivo Application in the Plivo Console under VoiceApplications
  2. 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#

  1. Call your configured Plivo phone number from another phone
  2. Verify your Paladin AI voice agent answers and responds
  3. 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_url doesn't conflict with other systems