Skip to main content

Overview

AwaazAI provides a managed telephony platform that connects your ElevenLabs Conversational AI agents to real phone calls on Indian numbers. This integration enables natural voice conversations powered by ElevenLabs with minimal infrastructure overhead on your side. Key Benefits:
  • No telephony infrastructure to manage
  • Use Indian phone numbers for compliance and local reach
  • Real-time, low-latency audio streaming to Elevenlabs
  • Automatic audio format conversion and optimization
  • Production-ready reliability and error handling

Requirements

ElevenLabs Account

You’ll need an ElevenLabs account with access to Conversational AI features. Visit elevenlabs.io to create an account and set up your conversational agents.

AwaazAI Setup

  • Contact our sales team to set up your account
  • We’ll provision Indian phone numbers for your use
  • With the help of AwaazAI team, create assistant specific template. The template needs to be configured with assistant parameters.

Required Parameters

ParameterDescriptionExampleRequired
Agent IDElevenLabs conversational agent identifieragent_..Yes
API KeyElevenLabs API key (for private agents only)sk_..No
Dynamic VariablesRuntime variables passed to your agent{"user_name":"Shilpa","account_id":"12345"}No

How It Works

When a phone call is initiated, the following flow occurs:
┌──────────┐         ┌──────────────┐          ┌─────────────────┐
│  Caller  │◀───────▶│  AwaazAI     │ ◀───────▶│  ElevenLabs     │
│          │  Voice  │  Platform    │ WebSocket│  Agent API      │
└──────────┘         └──────────────┘          └─────────────────┘

Step-by-Step Flow

Template Setup
  • You share your agent ID, API key and dynamic variables with AwaazAI team
  • We will configure template with agent parameters
Call Initiation
  • Upload contact numbers and create messages using configured template
  • AwaazAI scheduler places the call using your assigned Indian phone number
  • When the recipient answers, we immediately establish a connection with Elevenlabs agent
Conversation
  • Audio flows bidirectionally with low latency:
  • Caller speech is captured, resampled to 16kHz, and streamed to ElevenLabs
  • ElevenLabs agent responses are received, resampled to 8kHz, and played to the caller
  • Interruptions and turn-taking happen naturally in real-time
Completion
  • When the conversation ends or caller hangs up, the session is gracefully terminated

Audio Technical Details

The integration handles audio format conversion automatically:
  • Telephony: μ-law encoding at 8 kHz sampling rate (standard for phone networks)
  • ElevenLabs: PCM 16-bit mono at 16 kHz sampling rate (required by the API)
  • Quality: Adaptive jitter buffering ensures smooth audio playback despite network variations

Configuration

Finding Your Agent ID

  1. Log in to your ElevenLabs account at elevenlabs.io
  2. Navigate to Agents in the left sidebar
  3. Select the agent you want to use
  4. Copy the Agent ID from the agent settings page
The Agent ID format: agent_xxxxxxxxxxxxxxxxxxxxxxxx (starts with “agent_“)

Finding Your API Key (Optional)

API keys are only required for private agents. Public agents can be used without authentication.
  1. In your ElevenLabs account, click your profile icon
  2. Go to Developers->API Keys
  3. Copy your API key or create a new one
  4. Keep this key secure - treat it like a password
The API key format: sk_live_xxxxxxxxxxxxxxxxx (starts with “sk_live_” or “sk_“)

Configuring in AwaazAI

For your AwaazAI call template, provide the following parameters: Basic Configuration (Public Agent):
{
  "agent_id": "agent_xxxxxxxxxxxxxxxxxxxxx"
}
Private Agent Configuration:
{
  "agent_id": "agent_xxxxxxxxxxxxxxxxxxxxx",
  "api_key": "sk_live_xxxxxxxxxxxxxxxxx"
}
Advanced Configuration with Dynamic Variables:
{
  "agent_id": "agent_xxxxxxxxxxxxxxxxxxxxx",
  "api_key": "sk_live_xxxxxxxxxxxxxxxxx",
  "dynamic_variables": {
    "user_name": "Sita",
    "account_number": "12345",
    "due_date": "15th December"
  }
}

Dynamic Variables

Dynamic variables allow you to pass contextual information to your ElevenLabs agent at runtime. These variables can be referenced in your agent’s prompts and knowledge base. Supported Value Types:
  • Strings: "customer_name": "Sita"
  • Numbers: "account_balance": 1234.56
  • Booleans: "is_premium_customer": true
Example Agent Prompt Integration:
You are a customer support agent. The customer's name is {{user_name}}
and their account ID is {{account_id}}. Their current order status is {{order_status}}.

Troubleshooting

Connection Issues

Agent ID not found or invalid:
  • Verify the Agent ID is copied correctly from ElevenLabs dashboard
  • Ensure the agent is published and active
  • Check that the Agent ID format starts with “agent_”
Authentication failed (private agents):
  • Verify the API key is correct and starts with “sk_live_” or “sk_”
  • Check that the API key has not expired
  • Ensure the agent is marked as private in ElevenLabs settings

Support

For issues, questions, or feature requests:

AwaazAI Support

ElevenLabs Documentation

Frequently Asked Questions

Do I need to modify my ElevenLabs agent for telephony integration? No modifications required. Your existing ElevenLabs conversational agents work seamlessly with the telephony platform. However, you may want to optimize prompts for phone conversations. Can I use the same API key for multiple agents? Yes, a single ElevenLabs API key can authenticate multiple agents across different call templates. What happens if my API key expires? Active calls for public agents will continue uninterrupted, but calls for private agents will fail to connect. Can I use different agents for different phone numbers? Yes, we can configure separate call templates in AwaazAI, each with its own Agent ID. Can I record these calls? Yes, call recording can be enabled through the AwaazAI platform.

Getting Started Checklist

  • Create your Elevenlabs agent at elevenlabs.io
  • Test your assistant in Elevenlabs’s playground
  • Get the agent ID and API key
  • Sign up for AwaazAI account
  • Configure template
  • Upload sample messages
  • Run test calls with sample contacts
  • Launch your production campaign