🤖

AgentLabs

Complete Documentation v1.0.0

🤖

AgentLabs

AI-Powered Bulk Calling Solution

Automate your voice calling campaigns with AI-powered conversations

🤖 AI Voice Agents 📞 Bulk Calling 🎙️ Natural Voice 📊 Real-time Analytics

📋 What is AgentLabs?

AgentLabs is an advanced AI-powered bulk calling solution that combines cutting-edge technologies to automate voice communications at scale. Using Twilio for reliable call delivery, ChatGPT-4 for intelligent conversation handling, and ElevenLabs for natural-sounding voice synthesis, AgentLabs enables businesses to conduct thousands of automated voice calls with human-like interactions.[web:60][web:62][web:65]

🎯 Perfect For

  • • Sales teams conducting outbound campaigns
  • • Customer service teams handling support calls
  • • Marketing teams running promotional campaigns
  • • Survey and feedback collection
  • • Appointment reminders and confirmations
  • • Lead generation and qualification

⚡ Key Technologies

  • Twilio: Enterprise-grade call infrastructure[web:65]
  • ChatGPT-4: Advanced conversational AI[web:65]
  • ElevenLabs: Human-like voice synthesis[web:64][web:65]
  • Real-time Processing: Instant response generation
  • Cloud-based: Scalable and reliable

🔐 Two-Panel System

👑 Super Admin Panel

  • • Create and manage subscription plans
  • • Monitor system-wide performance
  • • Configure global settings
  • • Manage admin accounts
  • • View comprehensive analytics

👨‍💼 Admin Panel

  • • Launch bulk calling campaigns
  • • Manage contact lists and CSV uploads
  • • Configure AI voice agents
  • • Track campaign performance
  • • Access call recordings and transcripts

🚀 Step by Step Setup Guide

📋 Step 1: System Requirements

💻 Server Requirements

  • OS: Ubuntu 20.04+ / Windows Server 2019+ / macOS 10.15+
  • Node.js: Version 18 or higher
  • PostgreSQL: Version 14 or higher
  • RAM: 2GB minimum (4GB recommended)
  • Storage: 10GB minimum available space
  • CPU: 2 cores minimum
  • SSL Certificate: Required for webhooks

⚡ Step 2: Install Dependencies

For Ubuntu/Debian:

# Update system packages
sudo apt update && sudo apt upgrade -y

# Install Node.js 18
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs

# Verify Node.js installation
node --version
npm --version

# Install PostgreSQL
sudo apt install -y postgresql postgresql-contrib

# Install PM2 (Process Manager)
sudo npm install -g pm2

# Install Nginx (for reverse proxy)
sudo apt install -y nginx

# Install certbot for SSL
sudo apt install -y certbot python3-certbot-nginx

🗃️ Step 3: Database Setup

# Switch to postgres user
sudo -u postgres psql

# Create database and user
CREATE DATABASE agentlabs;
CREATE USER agentlabs_user WITH PASSWORD 'your_secure_password';
GRANT ALL PRIVILEGES ON DATABASE agentlabs TO agentlabs_user;

# Exit PostgreSQL
\q

# Test database connection
psql -h localhost -U agentlabs_user -d agentlabs

⚠️ Important: Replace 'your_secure_password' with a strong password and save it safely !

📦 Step 4: Application Installation

# Navigate to your web directory
cd /var/www/

# Extract agentlabs package (replace with your actual package)
sudo unzip agentlabs.zip
sudo mv agentlabs-main agentlabs
sudo chown -R $USER:$USER agentlabs
cd agentlabs

# Install dependencies
npm install

# Set proper permissions
sudo chown -R $USER:$USER node_modules
chmod -R 755 .

⚙️ Step 5: Environment Configuration

# Copy environment template
cp .env.example .env

# Edit environment file
nano .env

Configure .env file:

# Server Configuration
# =========================================
# AgentLabs - Environment Variables Template
# =========================================
# Copy this file to .env and fill in your actual values
# NEVER commit .env to version control!

# =========================================
# Database Configuration
# =========================================
PGHOST=postgres
PGPORT=5432
PGUSER=agentlabs
PGPASSWORD=your_secure_database_password_here
PGDATABASE=agentlabs
DATABASE_URL=postgresql://postgres:admin@localhost:5432/agentlabs_new


# =========================================
# Application Configuration
# =========================================
NODE_ENV=production
PORT=5000
APP_PORT=5000
APP_URL=https://yourdomain.com

# Session secret (generate with: openssl rand -base64 32)
SESSION_SECRET=your_session_secret_here_minimum_32_characters

# =========================================
# Twilio Configuration
# =========================================
# Get these from: https://console.twilio.com
TWILIO_ACCOUNT_SID=AC86dfe6f7f06d80fa095f748c0602f295
TWILIO_AUTH_TOKEN=325680266beffe69bc0f15135c32dd34

# =========================================
# ElevenLabs Configuration
# =========================================
# Get from: https://elevenlabs.io/app/settings/api-keys
# Note: You can add multiple keys via the admin panel after installation
ELEVENLABS_API_KEY=8744a05349c6a45dc4a9df8bae38efe79cad10a1d65d28b4be97468c1d4ce359

# =========================================
# Stripe Configuration (Production)
# =========================================
# Get from: https://dashboard.stripe.com/apikeys
STRIPE_SECRET_KEY=sk_test_tR3PYbcVNZZ796tH88S4VQ2u
VITE_STRIPE_PUBLIC_KEY=pk_test_51BTUDGJAJfZb9HEBwDg86TN1KNprHjkfipXmEDMb0gSCassK5T3ZfxsAbcgKVmAIXF7oZ6ItlZZbXO6idTHE67IM007EwQ4uN3

# =========================================
# Stripe Configuration (Testing - Optional)
# =========================================
# For testing in production environment
TESTING_STRIPE_SECRET_KEY=sk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TESTING_VITE_STRIPE_PUBLIC_KEY=pk_test_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# =========================================
# Installation Configuration
# =========================================
# These are automatically managed by the installer
# Do not modify manually unless you know what you're doing
INSTALLER_COMPLETED=false
INSTALLER_VERSION=1.0.0


JWT_SECRET=dev-secret-key-change-in-production-123456789

🔒 Step 6: SSL Certificate Setup

# Generate SSL certificate using Certbot
sudo certbot --nginx -d your-domain.com

# Configure Nginx for agentlabs
sudo nano /etc/nginx/sites-available/agentlabs

Nginx Configuration:

server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name your-domain.com;
    
    ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
    
    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}
# Enable site and restart Nginx
sudo ln -s /etc/nginx/sites-available/agentlabs /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

🔄 Step 7: Database Migration

# Navigate to agentlabs directory
cd /var/www/agentlabs

# Run database generate
npm run db:generate

# Run database migrations
npm run db:push

# Verify database tables created
psql -h localhost -U agentlabs_user -d agentlabs -c "\dt"

✅ Success: You should see all agentlabs tables created successfully !

🚀 Step 8: Build and Start Application

# Build the application
npm run build

# Start with PM2 (Production)
pm2 start ecosystem.config.js

# Or start directly (Development)
npm run dev

# Check PM2 status
pm2 status
pm2 logs agentlabs

# Setup PM2 to start on boot
pm2 startup
pm2 save

🎉 Step 9: First Login & Testing

🔐 Default Login Credentials

URL: https://your-domain.com
Email:demoadmin@gmail.com
Password:Demo@123

⚠️ Important: Change password immediately after first login!

✅ Quick Test Checklist

  • • Successfully logged into admin panel
  • • Dashboard loads without errors
  • • Added WhatsApp channel successfully
  • • Webhook receiving test messages
  • • Can send test message

🛠️ Common Issues & Solutions

❌ Application won't start

  • • Check if PostgreSQL is running: sudo systemctl status postgresql
  • • Verify database connection in .env file
  • • Check if port 5000 is available: lsof -i :5000
  • • View application logs: pm2 logs agentlabs

✨ Core Features

🤖

AI Voice Agents

Intelligent conversational AI powered by ChatGPT-4 that understands context, answers questions naturally, and adapts to customer responses in real-time.[web:60][web:62]

📞

Bulk Call Management

Make thousands of simultaneous calls with CSV upload support, contact list management, call scheduling, and automated retry logic for failed calls.[web:66][web:69]

🎙️

Natural Voice Synthesis

ElevenLabs integration delivers ultra-realistic, human-like voice quality with multiple voice options, accent support, and emotion recognition capabilities.[web:64][web:65]

🌍

Multilingual Support

Conduct calls in multiple languages with automatic language detection, translation capabilities, and region-specific voice accents for global reach.[web:64][web:62]

📊

Real-time Analytics

Comprehensive dashboard showing call success rates, conversation duration, sentiment analysis, response accuracy, and ROI tracking in real-time.[web:61][web:62]

🔄

Automated Workflows

Design custom conversation flows with conditional logic, dynamic responses, automated call-backs, appointment scheduling, and CRM integration.[web:62][web:63]

📝

Call Recording & Transcripts

Automatic recording of all calls with AI-powered transcription, keyword extraction, sentiment analysis, and searchable conversation history.[web:62]

🎯

Smart Call Routing

Intelligent call distribution based on time zones, agent availability, customer preferences, and automated escalation to human agents when needed.[web:62]

💼

CRM Integration

Seamless integration with popular CRM platforms for automatic data sync, lead scoring, follow-up scheduling, and customer journey tracking.[web:62]

🔄 How AgentLabs Works

1️⃣

Upload Contacts

Import your contact list via CSV or connect your CRM[web:66][web:69]

2️⃣

Configure AI Agent

Set conversation goals, voice preferences, and response logic[web:63]

3️⃣

Launch Campaign

Twilio initiates calls while ChatGPT-4 & ElevenLabs handle conversations[web:65]

4️⃣

Track Results

Monitor performance with real-time analytics and insights[web:61][web:62]

📊

Platform Analytics

Monitor platform performance and system health

Platform Analytics Dashboard

📈 What Platform Analytics Shows

Key Performance Metrics
  • Total Users: Displays the complete count of registered users on the platform with percentage growth compared to the previous period
  • Total Calls: Shows platform-wide call volume with growth rate indicator and overall success percentage rate
  • Active Campaigns: Tracks currently running campaigns with cross-platform growth metrics
  • Qualified Leads: Monitors high-value leads generated with conversion rate percentage tracking
System Resources
  • Phone Numbers: Count of active phone numbers deployed and available across the platform
  • Total Contacts: Total number of contact records currently stored in the system database
  • Knowledge Bases: Number of RAG document collections available for AI agent training and responses
  • Pro Users: Count of premium subscription users with breakdown of free tier users on platform

🔌 Integration Status

Twilio

Real-time connection status indicator

📞

Telephony service API health and availability monitoring

ElevenLabs

Connection status with available voice library count

🎙️

AI voice synthesis service integration status

📈 Growth Overview

Visual chart displaying platform activity and growth trends over selected time periods with multi-metric comparative analysis

Users growth trend line
Calls volume trend line
Campaigns activity trend line
⏱️ Analytics Time Periods

Flexible date range filters allowing historical data analysis across multiple timeframes: 7 days, 30 days, 90 days, and 1 year periods for comprehensive trend insights

👥

User Management

Manage admin user accounts, plans, and permissions

Super Admin User Management

📋 User Management Overview

Table Columns
  • User: Name and email address
  • Role: User/Admin/Super Admin badges
  • Plan: Free or Pro subscription
  • Credits: Available credit balance
  • Status: Active/Inactive account status
  • Joined: Account creation date
Quick Actions
  • Export CSV: Download user list data
  • Refresh: Reload latest user data
  • Actions Menu (...): Edit, manage credits, change plan, suspend user
  • Pagination: Navigate through user pages (25, 50, 100 rows per page)
💳

Plan Management

Configure subscription plans and their limits

Plan Management Dashboard

💼 What Plan Management Shows

Free Tier Features
  • Pricing Configuration: Multi-currency pricing setup for USD (Stripe), INR (Razorpay), and EUR (PayPal)
  • Agent Limits: Maximum number of AI agents allowed on free plan
  • Campaign Limits: Maximum concurrent campaigns users can create
  • Contact Limits: Maximum contacts that can be stored in database
  • Webhook Limits: Number of webhook integrations available
Pro Tier Features
  • Premium Pricing: Monthly and yearly subscription rates across multiple payment gateways
  • Extended Limits: Higher resource allocation for agents, campaigns, and contacts
  • Knowledge Base Access: Maximum number of RAG documents for AI training
  • Flow Automation: Maximum automated workflows allowed
  • Phone Number Capacity: Number of phone numbers that can be configured

💰 Payment Gateway Status

Stripe

💳

USD payment processing with sync status indicator

Razorpay

🇮🇳

INR payment processing for Indian market

PayPal

🌐

EUR payment processing for European users

⚙️ Plan Configuration Actions
  • Edit Plan: Modify pricing, limits, and features for each subscription tier
  • Add New Plan: Create custom subscription tiers with specific resource allocations
  • Included Credits: Define default credit amounts bundled with each plan
🤖

LLM Model Configuration

Configure which AI models are available to Free vs Pro users

LLM Model Configuration

🧠 What LLM Configuration Shows

Model Overview
  • Total Models: Complete count of AI models configured in the system
  • Free Tier Models: Number of models accessible to free plan users
  • Pro Tier Models: Number of premium models available to paid subscribers
  • Auto-Downgrade Logic: Automatic model switching when users downgrade from Pro to Free
Model Details Table
  • Model Name: Display name of the AI model (e.g., GPT-4o Mini, Claude 3 Haiku)
  • Provider: AI service provider (OpenAI, Anthropic, etc.)
  • Model ID: Technical identifier for API integration
  • Tier Assignment: Dropdown to assign model to Free or Pro tier

🎛️ Model Status & Controls

Status Indicators
  • Active Status Badge: Shows whether model is currently operational and available
  • Toggle Switch: Enable or disable models for platform-wide availability
Supported Providers
  • OpenAI: GPT-4o Mini, GPT-3.5 Turbo models
  • Anthropic: Claude 3 Haiku and other Claude models
🔄 Automatic Tier Management

When users downgrade from Pro to Free tier, their AI agents automatically switch to Free tier models to ensure uninterrupted service.

  • Seamless Migration: Agents continue functioning with appropriate model tier
  • No Service Interruption: Automatic fallback prevents agent downtime
💰

Credit Packages

Manage credit packages available for purchase

Super Admin Credit Packages

📋 Credit Packages Overview

Available Packages
  • Test Plan: 100 credits for $10.00 ($0.100 per credit)
  • New Pack: 1000 credits for $100.00 ($0.100 per credit)
Quick Actions
  • Create Package: Add new credit packages from top right button
  • Edit Package: Modify credits amount and pricing with pencil icon
  • Deactivate: Disable package from being purchased
📞

Phone Number Management

Manage system pool and user phone numbers

Phone Number Management Dashboard

📋 Phone Number Management Overview

Pool Metrics
  • Pool Size: Total count of system phone numbers available in the pool
  • Total Cost: One-time purchase cost for all phone numbers in system
  • Monthly Cost: Recurring monthly maintenance cost for active numbers
Number Categories
  • System Pool: Numbers available for free plan users to share
  • User Numbers: Dedicated numbers assigned to individual Pro users
  • Tab Navigation: Switch between System Pool and User Numbers views

⚙️ Management Actions

Quick Actions
  • Add System Number: Purchase and add new phone numbers to the system pool
  • Cleanup Orphaned: Remove disconnected or invalid numbers from database
  • Clear Sync Status: Reset synchronization status for troubleshooting
Integration Actions
  • Sync to ElevenLabs: Synchronize phone numbers with voice synthesis platform
  • Twilio Integration: Connect and manage numbers from Twilio API

📊 Phone Number Details

Number Information
  • Phone Number: Complete phone number with country code format
  • Type: Number category (System Pool or User-assigned)
  • Added Date: Timestamp when number was added to system
Cost Tracking
  • Purchase Price: One-time cost paid to acquire the phone number
  • Monthly Price: Recurring monthly fee for number maintenance
  • Cost Aggregation: Automatic calculation of total and monthly costs
💡 System Pool Usage

System phone numbers are shared resources for free plan users. These numbers enable basic calling functionality without requiring users to purchase dedicated phone numbers.

Batch Jobs Dashboard

Monitor ElevenLabs batch calling jobs across all campaigns

Batch Jobs Dashboard

📊 Job Status Metrics

Job Counts
  • Total Jobs: Aggregate count of all batch calling jobs in system
  • Pending: Jobs queued and waiting to start execution
  • In Progress: Jobs currently executing and making calls
  • Completed: Jobs that have successfully finished all calls
  • Failed: Jobs that encountered errors and need attention
Status Indicators
  • Visual Cards: Color-coded status cards for quick overview
  • Status Icons: Visual indicators for each job state
  • Real-time Updates: Auto-refresh every 15 seconds for live monitoring
  • Manual Refresh: Instant data reload with refresh button

📋 Batch Jobs List

Job Information
  • Job Details: Real-time view of all ElevenLabs batch calling jobs
  • Auto-Refresh: Data automatically refreshes every 15 seconds
  • Empty State: Message displayed when no batch jobs exist
  • Job Creation: Prompt to start campaign for creating batch jobs
Job Tracking
  • Job ID: Unique identifier for each batch calling job
  • Campaign Association: Link batch job to specific campaign
  • Progress Tracking: Monitor call completion status
  • Error Details: View failure reasons for troubleshooting

🎙️ ElevenLabs Batch Calling

Batch Processing
  • Bulk Calling: Process multiple outbound calls simultaneously
  • Campaign-Based: Batch jobs linked to specific marketing campaigns
  • Voice Synthesis: AI-powered voice agents for automated calling
  • Contact Lists: Process entire contact lists in batches
Job Management
  • Queue Management: Jobs processed based on priority and timing
  • Status Monitoring: Track job lifecycle from pending to completion
  • Retry Logic: Automatic retry for failed calls within job
  • Performance Metrics: Track success rates and call outcomes

⚙️ Dashboard Features

Monitoring Capabilities
  • Live Dashboard: Real-time view of all batch calling activities
  • Status Overview: At-a-glance metrics for all job states
  • Detailed View: Click through for comprehensive job details
  • Historical Data: Access past job records and performance
Administrative Actions
  • Pause Jobs: Temporarily halt in-progress batch jobs
  • Cancel Jobs: Stop and remove queued or active jobs
  • Retry Failed: Restart failed jobs with updated parameters
  • Export Reports: Download job performance and call data
🔄 Auto-Refresh Monitoring

The Batch Jobs Dashboard automatically refreshes every 15 seconds to provide real-time monitoring of ElevenLabs batch calling jobs. Use the manual refresh button for instant updates or to check status immediately after campaign changes.

⏱️

Call Queue Management

Real-time view of queued and processing calls

Super Admin Queue Management

📋 Queue Status Overview

Queue Statuses
  • Pending: 0 calls ready to process
  • Scheduled: 0 calls waiting for time slot
  • Processing: 0 calls currently calling
  • Completed: 0 calls successfully processed
  • Failed: 1 call max retries reached
Queue Details Table
  • Status: Failed/Pending/Scheduled/Processing/Completed badges
  • Campaign: Campaign name (Test cam - Lead Qualification)
  • Contact: Phone number of contact (vid m +910000000000)
  • Retries: Attempt count (0/3)
  • Scheduled For & Created: Timestamps for tracking
📧

Communications

Manage email templates, notifications, and communication settings

Communications Management Dashboard

📧 Email Notifications & Templates

SMTP Configuration
  • SMTP Status: Real-time connection status indicator (Configured/Active)
  • Server Details: Display of configured SMTP server and port information
  • Test Connection: Button to verify SMTP configuration and connectivity
  • Configuration Management: Edit and update email server settings
Template System
  • Dynamic Variables: Support for {{userName}}, {{companyName}} placeholders
  • Auto-Replacement: Variables automatically replaced with real user data
  • Branding Integration: Company name pulled from branding settings
  • Template Editor: Customize email content and layout

📋 Email Template Categories

Authentication Emails
  • Welcome Email: Sent automatically when new user signs up
  • Password Reset: Triggered when user requests password change
  • Email Verification: Sent for account verification process
  • Toggle Control: Enable/disable each email type individually
Billing & Payment Emails
  • Subscription Confirmation: Sent after successful plan purchase
  • Payment Receipt: Automatic invoice generation and delivery
  • Payment Failed: Notification for declined or failed payments
  • Subscription Renewal: Reminder emails before renewal date

✏️ Template Management Features

Editing & Customization
  • Edit Template: Rich text editor for customizing email content
  • Subject Line: Customize email subject with variable support
  • HTML Support: Full HTML email template customization
  • Preview Mode: Test template appearance before sending
Control & Activation
  • Toggle Switches: Enable or disable specific email notifications
  • Status Indicators: Visual feedback for active/inactive templates
  • Trigger Conditions: Define when each email should be sent
  • Template Description: Context about when email is triggered

🔔 In-App Notifications

Configure real-time notifications displayed within the application interface

Notification Types
  • System Alerts: Platform-wide announcements and updates
  • Activity Notifications: Real-time updates on user actions
Delivery Settings
  • Push Notifications: Browser and mobile push notification support
  • Badge Counters: Unread notification count tracking
📑 Communication Sections

Navigate between Email Settings and In-App Notifications tabs to manage different communication channels across the platform.

⚙️

Global Settings

Configure platform-wide settings and defaults

Global Settings Dashboard

🔑 API Credentials Management

Twilio API
  • Purpose: Voice and SMS telephony services
  • Status Indicator: Connected/Disconnected badge display
  • Configuration: Account SID and Auth Token management
  • Edit Action: Update credentials and test connection
ElevenLabs API
  • Purpose: AI voice synthesis for voice agents
  • Connection Status: Real-time active/inactive indicator
  • Voice Library: Display available voice count
  • Manage Keys: API key configuration and validation
OpenAI API
  • Purpose: Embeddings and RAG functionality
  • Status: Connected status badge with validation
  • Key Format: sk-xxxx format validation
  • Database Storage: Secure encrypted credential storage

🎨 Platform Branding

Branding Elements
  • Application Title: Platform name displayed across the interface
  • Tagline: Platform description or slogan for branding
  • Logo (Light Mode): Logo file for light theme interface
  • Logo (Dark Mode): Logo file optimized for dark theme
  • Favicon: Browser tab icon for brand recognition
Configuration Features
  • Live Data Indicator: Shows last update timestamp
  • Status Badge: Configured status confirmation
  • Upload Preview: Visual confirmation of uploaded assets
  • Refresh Action: Reload branding configuration from database
  • Edit Settings: Modify and update branding elements

🔐 Credential Configuration

Twilio Credentials
  • Account SID: Unique account identifier with AC prefix format
  • Auth Token: 32-character authentication token (masked for security)
  • Format Validation: Real-time credential format checking
  • Status Confirmation: Green badge when configured and active
OpenAI Credentials
  • API Key: Secret key for OpenAI API access (masked)
  • Format: sk-xxxx format validation
  • Database Storage: Confirmation of secure storage
  • Active Status: Real-time validation and status indicator

📧 SMTP Email Settings

Email Configuration
  • SMTP Host: Mail server hostname or IP address
  • SMTP Port: Server port number (typically 587 or 465)
  • Username: Email account username for authentication
  • Password: Encrypted password storage for SMTP
Email Features
  • From Email: Default sender email address
  • From Name: Display name for outgoing emails
  • Encryption: TLS/SSL encryption support
  • Test Connection: Validate SMTP configuration before saving
🎙️

ElevenLabs Settings

Configure voice synthesis capacity and TTS models

ElevenLabs Configuration Dashboard

📊 Voice Synthesis Capacity

Capacity Metrics
  • Total Capacity: Maximum concurrent voice calls across all API keys
  • Key Distribution: Calls distributed across configured keys automatically
  • Current Load: Real-time count of active ongoing calls
  • Available Slots: Number of slots currently free for new calls
Performance Tracking
  • Utilization Percentage: Current usage as percentage of total capacity
  • Visual Progress Bar: Graphical representation of capacity usage
  • Total Agents: Count of agents assigned to ElevenLabs API keys
  • Real-time Updates: Live monitoring of capacity and load changes

🗣️ Default TTS Model

Model Selection
  • Default Model: Select TTS model for non-English language agents
  • Turbo v2: High quality, low latency - optimized for English only
  • Multilingual v2: Required for non-English speaking agents
  • Dropdown Selection: Easy model switching with description tooltips
Model Features
  • Auto-Selection: English agents automatically use Turbo v2.5
  • Language Support: Configure models based on agent language requirements
  • Quality Options: Balance between quality and latency based on use case
  • Save Configuration: Apply and save model preferences globally

🔗 Webhook Configuration

Webhook Purpose
  • Auto Sync: Configure webhooks in ElevenLabs dashboard for automatic data sync
  • Call Data: Sync call recordings, transcripts, and metrics automatically
  • Real-time Updates: Receive instant notifications on call status changes
  • Dashboard Integration: Configure directly from ElevenLabs platform
Configuration Steps
  • Webhook URL: Copy provided URL to ElevenLabs webhook settings
  • Event Types: Select which events trigger webhook notifications
  • Authentication: Secure webhook endpoint with API keys
  • Testing: Validate webhook configuration before deployment

🔑 API Key Management

Multiple Keys Support
  • Key Pool: Configure multiple ElevenLabs API keys for load distribution
  • Capacity Pooling: Total capacity calculated across all active keys
  • Auto Balancing: System automatically distributes agents across keys
  • Agent Assignment: Track which agents are assigned to which API keys
Key Management Features
  • Add Keys: Configure new API keys to increase capacity
  • Key Status: Monitor active/inactive status of each API key
  • Usage Monitoring: Track capacity usage per individual key
  • Remove Keys: Safely deactivate keys without disrupting active calls
⚙️ ElevenLabs Configuration

This section provides comprehensive control over ElevenLabs voice synthesis integration, including capacity management, TTS model selection, webhook synchronization, and multi-key load balancing for optimal performance.

🔍

SEO Module

Configure search engine optimization and meta tags

SEO Module Configuration

🏷️ Default Meta Tags

Basic Meta Tags
  • Default Title: Page title displayed in browser tabs and search results
  • Character Limit: Recommended 50-60 characters for optimal display
  • Default Description: Summary text shown in search engine results
  • Description Length: Recommended 150-160 characters for SEO
SEO Elements
  • Keywords: Comma-separated list of relevant search terms
  • Canonical URL: Primary domain URL to avoid duplicate content issues
  • Page Override: Individual pages can override these default values
  • Info Tooltips: Guidance for each field with best practices

✅ Search Engine Verification

Google Verification
  • Verification Code: Meta tag provided by Google Search Console
  • Format: google-site-verification=xxxxx format
  • Purpose: Verify site ownership for Google Search Console access
  • Benefits: Track search performance, indexing, and analytics
Bing Verification
  • Verification Code: Meta tag from Bing Webmaster Tools
  • Format: MSVALIDATE.01 content code
  • Purpose: Verify ownership for Bing Webmaster Tools access
  • Benefits: Monitor Bing search performance and indexing

🗺️ Sitemap

Sitemap Features
  • Auto Generation: Automatically generate XML sitemap for all pages
  • Dynamic Updates: Sitemap updates when pages are added or removed
  • URL Priority: Set priority levels for different page types
  • Change Frequency: Configure how often pages are updated
Sitemap Management
  • Submission: Submit sitemap URL to Google and Bing
  • URL Format: https://yourdomain.com/sitemap.xml
  • Page Exclusion: Exclude specific pages from sitemap
  • Validation: Test sitemap format and structure

🤖 Robots.txt

Crawling Rules
  • User-Agent Rules: Define crawling rules for different search engines
  • Allow Paths: Specify which URLs search engines can crawl
  • Disallow Paths: Block specific URLs or directories from indexing
  • Crawl Delay: Set delay between bot requests to reduce server load
Configuration Options
  • Sitemap Reference: Include sitemap URL in robots.txt
  • Custom Rules: Add custom directives for specific bots
  • Admin Pages: Block admin and sensitive pages from crawling
  • Testing: Validate robots.txt syntax and rules

📱 Social Media Tags

Open Graph (Facebook)
  • OG Title: Title displayed when shared on Facebook and LinkedIn
  • OG Description: Description text shown in social media previews
  • OG Image: Featured image for social media link previews
  • Image Size: Recommended 1200x630px for optimal display
Twitter Cards
  • Card Type: Summary or large image card format
  • Twitter Title: Custom title for Twitter shares
  • Twitter Description: Description shown in Twitter previews
  • Twitter Image: Image displayed in Twitter card

📊 Structured Data

Schema.org Markup
  • Organization Schema: Define business information and details
  • Product Schema: Configure product information for rich results
  • Article Schema: Markup for blog posts and content pages
  • FAQ Schema: Structure frequently asked questions
Rich Results
  • Rich Snippets: Enhanced search results with ratings and images
  • Knowledge Graph: Display business info in Google Knowledge Panel
  • Breadcrumbs: Show navigation path in search results
  • JSON-LD Format: Use recommended structured data format
🔍 SEO Module Sections

Navigate between different SEO configuration tabs:

  • Meta Tags: Configure default title, description, and keywords
  • Sitemap: Auto-generate and manage XML sitemap
  • Robots: Control search engine crawling behavior
  • Social: Configure Open Graph and Twitter Cards
  • Structured Data: Add Schema.org markup for rich results

System Configuration

Configure security, credits, and webhook settings for the platform

System Configuration Dashboard

🔒 Security Settings

Authentication Tokens
  • JWT Token Expiry: Configure session duration for authentication tokens
  • Time Unit: Set expiration in days for secure session management
  • Auto Logout: Users automatically logged out after token expiration
  • Security Balance: Balance between convenience and security
Verification & Reset
  • OTP Verification Expiry: Time limit for one-time password validity
  • Expiry Minutes: Configurable timeout for OTP codes
  • Password Reset Expiry: Time limit for password reset link validity
  • Security Links: Expired links require new reset request

💳 Credits & Billing

Phone Number Costs
  • Monthly Cost: Configure credit deduction for phone number maintenance
  • Credits per Month: Set how many credits are charged monthly
  • Auto Deduction: Credits automatically deducted on billing cycle
  • Cost Transparency: Users see monthly costs before purchasing numbers
Alert Thresholds
  • Low Credits Alert: Threshold for triggering low balance notifications
  • Credit Minimum: Alert users when credits fall below this value
  • Email Notifications: Automatic emails sent when threshold reached
  • In-App Alerts: Dashboard warnings for low credit balance

🔄 Webhook Retry Settings

Retry Configuration
  • Max Retry Attempts: Maximum number of automatic retry attempts for failed webhooks
  • Failure Handling: System automatically retries failed webhook deliveries
  • Webhook Expiry: Time limit before webhook request is permanently abandoned
  • Expiry Hours: Configurable timeout for webhook delivery attempts
Retry Intervals
  • Interval Pattern: Define time gaps between retry attempts
  • Progressive Delays: Comma-separated intervals (1, 5, 15, 30, 60 minutes)
  • Exponential Backoff: Increasing delays reduce server load
  • Custom Intervals: Flexible configuration for retry timing

📋 Configuration Summary

Webhook Retry Logic
  • Visual Summary: Real-time display of current configuration settings
  • Retry Count: Shows maximum retry attempts configured
  • Interval Display: Lists all retry interval values
  • Expiry Time: Shows webhook expiration hours
Configuration Actions
  • Refresh Button: Reload configuration from database
  • Save All Changes: Apply and persist all configuration updates
  • Validation: System validates values before saving
  • Instant Effect: Changes take effect immediately after saving
💡 System Configuration Best Practices
  • JWT Expiry: Balance security (shorter) vs user convenience (longer)
  • OTP Timeout: Keep short (3-5 minutes) for security
  • Credit Alerts: Set threshold high enough to allow time for recharge
  • Webhook Retries: Use progressive intervals to avoid overwhelming endpoints
🔔

Broadcast Notifications

Send notifications to all users in the platform

Super Admin Notifications

📋 Notifications Overview

Broadcast Features
  • Title Field: Notification subject (e.g., "New feature announcement")
  • Message Field: Rich text message body for detailed announcement
  • Send to All: Button to send notification to all registered users
Notification Details
  • Delivery: Notifications sent to all users in notification dropdown
  • Purpose: Important platform-wide announcements and updates
  • Automatic Notifications: System sends alerts for critical events
⚙️

Global Settings

Configure platform-wide settings and defaults

Super Admin Settings

📋 Settings Overview

Twilio API Credentials
  • Account SID: Format ACxxxxxxxxxxxxxxxxxxxxx (masked)
  • Auth Token: 32-character authentication token (masked)
  • Status: Twilio credentials configured and active (green indicator)
Plan & Pricing Settings
  • Default LLM: GPT-4o Mini (AI model for conversations)
  • Pro Plan Bonus: 100 credits included with Pro subscription
  • Credit Price: $1 per minute of calling
  • Phone Cost: 50 credits monthly per phone number
👥

All Contacts

View all unique contacts across all campaigns (duplicates merged by phone number)

All Contacts Management

📋 All Contacts Overview

Contact List Features
  • Unique Counter: "1 Unique" contact shown in top right
  • Search Bar: Search by name, phone, or email
  • Duplicate Merging: Auto-merge contacts with same phone number
  • Contact Display: Name: "vid m" with masked phone (+91**********)
Table Columns
  • Names: Contact full name display
  • Phone: Phone number (partially masked for privacy)
  • Email: Email address (shows "-" if not available)
  • Campaigns: Badge showing associated campaign (e.g., "sda")
  • Status: Call status badge (pending, completed, failed)
  • Actions: Delete icon to remove contact
Contact Management Features
  • ✓ View all contacts from every campaign in one place
  • ✓ Search and filter contacts quickly
  • ✓ See which campaigns each contact is part of
  • ✓ Track call status for each contact (pending, in-progress, completed)
  • ✓ Delete unwanted contacts individually
  • ✓ Automatic deduplication by phone number
  • ✓ Privacy protection with masked phone numbers
📞

Calls & Conversations

View call records, transcripts, recordings, and AI analysis

Calls & Conversations Management

📋 Calls & Conversations Overview

Call List Features
  • Search Bar: Search calls, transcripts, and summaries
  • Filter Options: All Status dropdown and All Sentiment filter
  • Sync Recordings: Button to sync call recordings from Twilio
  • Export CSV: Download all call data in CSV format
Call Tabs
  • All Calls (11): Complete list of all calls made
  • Transcribed (0): Calls with AI-generated transcripts
  • With Recordings (3): Calls with audio recordings available
Call Record Details
Example Call 1: "sa asd"
  • • Status: Completed (green badge)
  • • Campaign: sdfs
  • • Duration: 0:01
  • • Timestamp: Nov 8, 11:13 AM
  • • Note: "No transcript or summary available yet..."
Example Call 2: "vid m"
  • • Status: Completed (green badge)
  • • Campaign: sda
  • • Duration: 0:01
  • • Timestamp: Nov 8, 11:12 AM
  • • Note: "No transcript or summary available yet..."
Call Information Displayed
  • ✓ Contact name with phone icon
  • ✓ Call status badge (Completed, In Progress, Failed)
  • ✓ Associated campaign name
  • ✓ Call duration (minutes:seconds)
  • ✓ Date and time of call
  • ✓ Transcript availability status
  • ✓ AI summary and sentiment analysis (when available)
  • ✓ Recording playback option
Key Features
  • ✓ View complete call history across all campaigns
  • ✓ Listen to call recordings
  • ✓ Read AI-generated transcripts
  • ✓ Review conversation summaries
  • ✓ Filter by call status and sentiment
  • ✓ Export data for reporting and analysis
  • ✓ Sync recordings from Twilio automatically
🏠

Home Dashboard

Overview of your campaigns, calls, and performance metrics

User Home Dashboard

📊 Dashboard Overview

Key Metrics
  • Total Calls: View all calls made this week across campaigns
  • Incoming/Outgoing: Track call direction with success rates and average duration
  • Contacts: Total contacts with active campaigns breakdown
  • Campaigns: Active campaigns count with completion percentage
Dashboard Features
  • Quick Actions: Create campaigns instantly with top-right button
  • Resource Cards: Quick access to Appointments, Forms, Knowledge Bases, Webhooks, and Templates
  • Call Activity Chart: Visual timeline of call distribution across the week
  • Lead Distribution: Track and analyze lead data in real-time
🎯

Campaigns Management

Manage and monitor all your calling campaigns

Campaigns Dashboard
Create New Campaign

📋 Campaigns Overview

Main Dashboard Features
  • Campaign Statistics: Total Campaigns, Active, Completed, and Pending counts displayed at top
  • Active Campaigns Tab: View all active campaigns with count indicator
  • Deleted Campaigns Tab: Access deleted campaigns archive
  • Search Functionality: Search campaigns by name or keywords
  • Status Filter Dropdown: Filter campaigns by All Status or specific status
  • New Campaign Button: Orange button in top right to create campaigns
  • Empty State: Shows "No campaigns yet" with description and "Create First Campaign" button
Create New Campaign (Step 1 of 3)
  • 3-Step Process: Visual step indicator showing steps 1, 2, and 3
  • Campaign Name Field: Required text input for campaign name (e.g., "Q1 Lead Generation")
  • Campaign Type Dropdown: Required field to select Lead Qualification or other types
  • Campaign Goal (Optional): Text area to describe campaign objectives
  • Info Icons: Helpful tooltips next to Campaign Type and Goal fields
  • Action Buttons: Cancel (white) and Next (black) buttons at bottom
  • Modal Header: Title "Create New Campaign" with subtitle "Set up your bulk calling campaign in 3 easy steps"
🤖

AI Agents Management

Create and manage your conversational AI agents

Agents List View
Create Agent Configuration

🤖 Agents Overview

Agents Dashboard
  • Total Agents: View count of all created AI agents
  • Incoming Agents: Track agents handling incoming calls
  • Flow Agents: Manage flow-based automated agents
  • Filter Tabs: Switch between All, Incoming, and Flow agent types
  • Search Bar: Quick search functionality to find agents
  • Quick Actions: "Guided Wizard" and "+ New Agent" buttons at top right
Create New Agent
  • Agent Type Selection: Choose between Incoming Agent (open-ended AI conversations) or Flow Agent (deterministic flow-based execution)
  • Agent Name: Enter custom name for your agent
  • Voice & Personality: Configure voice tone (Professional, Friendly, etc.) and personality traits (Helpful, Assertive, etc.)
  • Voice & Language: Select voice model and preferred language for conversations
  • Easy Configuration: User-friendly modal with clear sections and dropdown selections
Agent Types Explained
Incoming Agent

Open-ended AI conversations. Best for receiving calls on purchased phone numbers and human-like dialog.

Flow Agent

Deterministic flow-based execution. Best for bulk campaigns, reminders, confirmations, and predictable interactions.

📝

Prompt Templates

Create and manage reusable AI prompt templates

Prompt Templates Dashboard
Create New Template Modal

📋 Prompt Templates Overview

Templates Dashboard Features
  • Template Statistics: Total Templates (25), System templates (25), Custom templates (0), and Sales templates (3) counts
  • Variable Usage Info: Banner explaining how to use variables like {{company}} to personalize prompts
  • Search Functionality: Search templates by name or description
  • New Template Button: Black button in top right to create new templates
  • Category Filters: Tabs for All Templates, Agent Presets, Sales, Support, Appointment, Survey, and General
  • Template Cards: Display template name, description, preview text, variables, personality traits, and usage count
  • System Badge: Shows "System" label for pre-configured templates
  • Agent Preset Badge: Blue "agent_preset" tag for agent-specific templates
  • Copy Action: Copy icon to duplicate template for reuse
Create New Template Modal
  • Modal Header: "Create New Template" with subtitle about variable placeholders like {{company}} or {{product}}
  • Template Name Field: Text input with placeholder "e.g., Sales Pitch Template"
  • Category Dropdown: Select category (General, Sales, Support, Appointment, Survey)
  • Description Field: Text area for template description with placeholder text
  • System Prompt Field: Large text area for main prompt content with variable placeholder example
  • Variable Helper Text: Instructions to use {{variableName}} format for dynamic content
  • Sample Prompt: Pre-filled example showing sales assistant prompt with {{company}} and {{product}} variables
  • Create Template Button: Black button at bottom to save new template
  • Close Icon: X button in top right corner to dismiss modal
Featured Template Examples

Appointment Setter Agent

Variables: {{company_name}}, {{agent_name}}

Traits: Friendly, efficient, organized

5x used

Customer Service Agent

Variables: {{company_name}}, {{agent_name}}

Traits: Empathetic, patient, solution-focused

3x used

Debt Collection Agent

Variables: {{company_name}}, {{agent_name}}

Traits: Professional, understanding, firm but fair

0x used

📚

Knowledge Base Management

Provide your AI agents with custom documents, URLs, and text content

Knowledge Base Management

📚 Knowledge Base Features

🔒 Pro Feature - Unlock AI-Powered Knowledge Base

Upgrade to Pro to give your AI agents access to custom documents, URLs, and text content for enhanced conversations.

What's Included with Pro
  • Upload Documents: Add PDFs, Word docs, text files and more
  • Add Web Content: Import content directly from URLs
  • Custom Text Entries: Add FAQs, product info, and custom responses
  • 🌐 AI-Powered Search: Semantic search across all your knowledge
Additional Benefits
  • 20MB Storage: Plenty of room for your content
  • 📄 Multiple Formats: Support for various document types
  • 🔍 Quick Search: Find documents instantly across knowledge base
  • 🎯 Smart Integration: AI agents automatically access relevant information during calls
How It Works

The Knowledge Base feature allows you to enhance your AI agents with custom information. Upload documents, add website URLs, or create text entries that your agents can reference during conversations. This ensures accurate, context-aware responses tailored to your business needs.

Note: This is a premium feature. Upgrade to Pro to unlock full knowledge base capabilities with 20MB storage, semantic search, and unlimited content entries.

🎤

Voice Library

Browse and preview 83 voices for your agents

Voice Library Dashboard

🎤 Voice Library Features

Voice Selection & Filtering
  • Total Voices: Access to 83 professional AI voices
  • Search Functionality: Search voices by name, accent, or description
  • Voice Cards Grid: Clean card layout displaying all voice options
  • Play Button: Preview each voice with play icon on every card
  • Voice Name Display: Clear voice identification (e.g., "Michael C. Vincent", "James - Husky & Engaging")
Voice Attributes & Details
  • Language Tags: English, Spanish, Hindi, Indonesian, and more
  • Gender Labels: Male, Female indicators for each voice
  • Accent Information: American, British, German, Peninsular accents shown
  • Quality Badge: Green "Professional" or "Standard" quality indicators
  • Age Category: Middle_aged, Young labels displayed
Featured Voice Examples

Michael C. Vincent

English • Male • American

Professional Middle_aged

James - Husky & Engaging

English • Male • American

Professional Middle_aged

Niraj - Hindi Narrator

Hindi • Male • Standard

Professional Middle_aged

How to Use Voice Library

The Voice Library provides a comprehensive collection of 83 professional AI voices in multiple languages and accents. Browse through different voice options, preview them using the play button, and select the perfect voice that matches your brand and campaign requirements.

Tip: Use the search bar to quickly filter voices by language, accent, or specific characteristics. Each voice card displays complete information including language, gender, accent, quality level, and age category to help you make the right choice for your AI agents.

👥

All Contacts

View all unique contacts across campaigns

All Contacts Dashboard

👥 All Contacts Features

Contact Management Dashboard
  • Contact Statistics: Four metric cards showing Unique Contacts (0), From Campaigns (0), From Calls (0), and Campaigns (0)
  • Export All Contacts Button: Teal button in top right to download all contacts
  • Search Functionality: Search bar to find contacts by name, phone, or email
  • Empty State Message: "No contacts added yet" displayed when no contacts exist
  • Contact Table View: Organized table with multiple columns for data display
Contact Table Columns
  • Source Column: Shows where the contact originated from
  • Names Column: Displays contact's full name
  • Phone Column: Contact's phone number information
  • Email Column: Contact's email address
  • Campaigns Column: Associated campaigns for each contact
  • Status Column: Current status of the contact
  • Actions Column: Available actions for each contact
Contact Statistics Breakdown

0

Unique Contacts

Total unique individuals in system

0

From Campaigns

Contacts added via campaigns

0

From Calls

Contacts from inbound calls

0

Campaigns

Total campaigns with contacts

How Contact Management Works

The All Contacts section provides a centralized view of all unique contacts across your campaigns and call activities. Track contacts from different sources, search through your database, and export all contact information with a single click. The system automatically tracks contact origins (campaigns or direct calls) and associates them with relevant campaigns.

Key Features: Use the search bar to quickly find specific contacts by name, phone number, or email. Export functionality allows you to download your entire contact database for external use. The table view provides comprehensive information including source, contact details, campaign associations, status, and available actions for each contact.

📞

Calls & Conversations

View recordings, transcripts, and AI analysis

Calls & Conversations Dashboard

📞 Calls & Conversations Features

Call Monitoring Dashboard
  • Call Statistics: Four metric cards showing Total Calls (0), Completed (0), Incoming (0), and Outgoing (0)
  • Sync Recordings Button: Refresh icon button to sync latest recordings
  • Export Button: Black button in top right to export call data
  • Search Functionality: Search calls by any criteria
  • Empty State Message: "No calls found" with prompt to create a campaign
Filtering & Organization
  • All Status Filter: Filter calls by status (All, Completed, Failed, In Progress)
  • All Sentiment Filter: Filter by AI-detected sentiment (Positive, Negative, Neutral)
  • All Directions Filter: Filter by Incoming or Outgoing calls
  • All Leads Filter: Filter by lead status and quality
  • Tab Navigation: Switch between All (0), Transcribed (0), and Recordings (0)
Call Statistics Breakdown

0

📞 Total Calls

All calls across campaigns

0

Completed

Successfully completed calls

0

📥 Incoming

Received inbound calls

0

📤 Outgoing

Outbound campaign calls

Available Call Views

📋 All Calls (0)

Complete list of all calls made through the system, including ongoing, completed, and failed attempts

📝 Transcribed (0)

Calls with AI-generated transcripts available for review and analysis

🎙️ Recordings (0)

Calls with audio recordings available for playback and quality monitoring

How Calls & Conversations Works

The Calls & Conversations section provides comprehensive monitoring and analysis of all call activities. Track call volumes, monitor completion rates, and analyze conversation quality through AI-powered transcripts and sentiment analysis. Use advanced filters to segment calls by status, sentiment, direction, and lead quality.

Key Capabilities: Access call recordings for quality assurance, review AI-generated transcripts for detailed conversation analysis, and export call data for reporting. The Sync Recordings feature ensures you always have the latest call data available. Perfect for managers and supervisors who need to monitor team performance and customer interactions.

📊

Analytics Dashboard

Comprehensive insights and performance metrics

Analytics Dashboard

📋 Analytics Overview

Key Metrics
  • Total Calls: 0 calls (12.5% vs last month trend)
  • Success Rate: 0% (5.2% improvement vs last month)
  • Qualified Leads: 0 leads (8.1% increase vs last month)
  • Avg Duration: 0:00 minutes per call
Filter & Export Options
  • Time Filter: Last 7 Days dropdown selector
  • Export Report: Download analytics data as PDF/CSV
  • Date Range: Switch between Last 7 Days, 30 Days, Custom
Dashboard Charts
Calls This Week

Bar chart showing call volume by day. Currently shows "No data" state.

Lead Distribution

Pie chart showing lead quality breakdown (Hot/Warm/Cold). Shows "0 data 100%" currently.

Campaign Success Rate

Detailed breakdown of call completion rates across campaigns

Sentiment Analysis

Customer sentiment tracking during conversations (Positive/Negative/Neutral)

Insights Provided
  • ✓ Real-time campaign performance tracking
  • ✓ Month-over-month comparison trends
  • ✓ Lead quality assessment
  • ✓ Customer sentiment analysis
  • ✓ Success rate metrics and improvements
  • ✓ Call duration patterns
📱

Phone Numbers

Manage your dedicated phone numbers for inbound and outbound calls

Phone Numbers Dashboard
Rent Phone Number Modal

📱 Phone Numbers Management

Dashboard Features
  • Number Statistics: Total Numbers (4), Active (4), Connected (0), and Credits/Month (50) displayed
  • Manage Connections Button: Link icon button to manage phone number connections
  • Buy Number Button: Green button in top right to purchase new numbers
  • My Numbers Section: List view showing all owned phone numbers (4)
  • Number Cards: Individual cards displaying phone number, system name, country, and status
  • Active Status Badge: Black "Active" label on each number card
  • Connection Status: Shows "Not connected to any agent" message
  • System Labels: System 1, System 2, System 3, System 4 identifiers
Rent Phone Number Modal
  • Modal Header: "Rent Phone Number" with subtitle about monthly billing
  • Monthly Billing Info: Notification that phone numbers cost 50 credits per month with automatic charging
  • Country Dropdown: Select country with United States (US) as default
  • Search Method Tabs: Three options - Area Code (default), Postal Code, City/Region
  • Area Code Input: Text field to enter 3-digit area code (e.g., 415 for San Francisco)
  • Common Area Codes: Helper text showing examples - 415 (San Francisco), 212 (New York), 310 (Los Angeles), 312 (Chicago)
  • Search Numbers Button: Gray button to search available numbers
  • Purchase Button: "Purchase for 50 Credits" button with shopping cart icon
  • Cancel Button: White cancel button to close modal
Sample Phone Numbers

+1 (570) 798-4994

System 1 • US

Active

+1 (415) 358-5439

System 2 • US

Active

+1 (415) 877-6715

System 3 • US

Active

+1 (415) 687-1889

System 4 • US

Active

How Phone Number Management Works

The Phone Numbers section allows you to rent and manage dedicated phone numbers for your AI calling agents. Each number costs 50 credits per month and can be used for both inbound and outbound calls. Search for numbers by area code, postal code, or city/region to find the perfect local presence for your business.

Note: Numbers are billed monthly and charged automatically. You can connect each phone number to specific AI agents through the "Manage Connections" feature. Track your active numbers, connection status, and monthly credit usage directly from the dashboard.

🔄

Visual Flow Builder

Create and manage conversation flows with drag-and-drop visual builder

Flow Builder List View
Flow Builder Visual Editor

🔄 Flow Builder CRUD Operations

📋 List & Manage Flows
  • View All Flows: Display all created conversation flows with status indicators
  • Flow Status Toggle: Enable/disable flows with inactive/active status
  • Flow Details: View node count, connections, and last update timestamp
  • Quick Actions: Edit, Test, and Delete buttons for each flow
  • Create New Flow: "+ Create Flow" button at top right
  • Pagination: Navigate through multiple flows with per-page selector
✏️ Create & Edit Flows
  • Drag-and-Drop Editor: Visual workflow canvas with node-based interface
  • Flow Name & Description: Add title and description for each flow
  • Voice Agent Selection: Optional voice agent assignment dropdown
  • Node Connections: Visual dotted lines showing flow logic paths
  • Save & Test: Save button and Test functionality for flow validation
  • Back Navigation: "Back to Flows" link to return to list view
🧩 Available Flow Nodes
Communication Nodes
  • Message: Send a message
  • Question: Ask a question
Logic & Actions
  • Condition: Branch logic
  • Delay: Wait timing
  • Transfer: Transfer call
  • End: End conversation
Integrations
  • Appointment: Book appointment
  • Form: Collect data
  • Webhook: Trigger webhook
🗑️ Delete Operation
  • Delete Button: Red delete icon on each flow card
  • Confirmation: Safely remove unwanted flows from system
🧪 Test & Validation
  • Test Button: Validate flow logic before deployment
  • Real-time Testing: Test conversation flows in editor
💡 Flow Builder Benefits

The Visual Flow Builder provides a powerful drag-and-drop interface to design conversation workflows without coding. Create complex call flows with branching logic, integrate appointments and forms, transfer calls conditionally, and control conversation timing with delays.

Example Use Case: The "Call Transfer Flow" template demonstrates how to greet callers, ask permission, and conditionally transfer calls based on user response - perfect for customer support routing.

Webhooks

Configure webhook endpoints for real-time event notifications

Webhooks Dashboard
Create Webhook Modal

⚡ Webhooks Management

Webhooks Dashboard Features
  • Webhook Statistics: Total Webhooks (0), Active (0), and Event Subscriptions (0) displayed
  • Create Webhook Button: Purple button in top right to add new webhooks
  • Empty State: "No Webhooks Configured" message with webhook icon
  • Descriptive Text: Explains webhooks receive real-time notifications for campaign and call events
  • Create First Webhook: Black button to start webhook configuration
Create Webhook Modal
  • Modal Header: "Create Webhook" with subtitle to configure endpoint for event notifications
  • Webhook Name Field: Required text input with info icon (e.g., "My CRM Integration")
  • Endpoint URL Field: Required URL input with info icon (e.g., "https://api.example.com/webhooks")
  • Event Subscriptions Section: Required field with Select All and Clear buttons
  • Call Events (4): Call Started, Call Completed, Call Failed, Call Transferred with descriptions
  • Campaign Events (3): Campaign Started, Campaign Completed, Campaign Paused with descriptions
  • All/Clear Toggles: Quick selection buttons for each event category
  • Checkbox Grid: Two-column layout for event selection
Available Webhook Events

📞 Call Events (4)

  • Call Started: When a call begins
  • Call Completed: When a call ends successfully
  • Call Failed: When a call fails or errors out
  • Call Transferred: When a call is transferred

🎯 Campaign Events (3)

  • Campaign Started: When a campaign begins running
  • Campaign Completed: When a campaign finishes
  • Campaign Paused: When a campaign is paused
How Webhooks Work

Webhooks allow you to receive real-time event notifications from AgentLabs directly to your application or CRM system. Configure webhook endpoints with your desired URL, select which events you want to subscribe to (call events or campaign events), and receive instant HTTP POST requests whenever those events occur in your campaigns and calls.

Use Cases: Integrate with CRM systems for automatic contact updates, trigger custom workflows based on call outcomes, sync campaign data with external analytics platforms, or build custom notifications for your team. Each webhook can be configured with specific event subscriptions to receive only the data you need.

📋

Dynamic Forms

Create custom forms to collect structured data during calls

Dynamic Forms Dashboard
Create Form Modal

📋 Dynamic Forms Management

Forms Dashboard Features
  • Form Statistics: Total Forms (0) and Submissions (0) displayed with icons
  • Create Form Button: Cyan button in top right to add new forms
  • Empty State: "No Forms Created" message with form icon
  • Descriptive Text: Explains forms collect structured data from contacts during AI conversations
  • Create First Form: Black button to start form creation
Create Form Modal
  • Modal Header: "Create Form" with subtitle to build custom form for structured data collection
  • Form Name Field: Required text input (e.g., "Lead Qualification Survey")
  • Description Field: Optional text area for form purpose (e.g., "Collect qualification information from potential leads")
  • Form Fields Section: Area to add custom fields with "Add Field" button
  • Empty State Prompt: Text saying "Click 'Add Field' to start building your form"
  • Add Field Button: Plus icon button in top right of Form Fields section
  • Cancel Button: White cancel button at bottom
  • Create Form Button: Gray create button at bottom right
Form Building Process

1️⃣ Name Your Form

Give your form a descriptive name and optional description to identify its purpose

2️⃣ Add Fields

Click "Add Field" to create custom input fields for data collection during calls

3️⃣ Use in Conversations

Assign forms to AI agents to collect structured information during customer interactions

How Dynamic Forms Work

Dynamic Forms enable AI agents to collect structured data during conversations with contacts. Create custom forms with specific fields, assign them to your agents, and the AI will intelligently gather information during calls. All form submissions are stored and can be viewed in the submissions dashboard for easy data management and analysis.

Use Cases: Lead qualification surveys, customer feedback collection, appointment scheduling information, product preference gathering, contact information updates, or any scenario where structured data needs to be collected during AI-powered conversations. Forms can include various field types to capture different data formats.

📅

Appointments

Manage and schedule appointments with availability settings

Dynamic Forms Dashboard
Create Form Modal

📅 Appointments Management

Appointment Settings Features
  • Settings Modal: "Appointment Settings" with subtitle to configure scheduling rules and availability
  • Overlapping Toggle: Enable/disable multiple appointments at the same time with toggle switch
  • Buffer Time Field: Set buffer time between appointments in minutes
  • Max Appointments Field: Optional limit for maximum appointments per day (default: "No limit")
  • Calendar View: Background shows calendar with Day, Week, Month view options
Working Hours Configuration
  • Start Time Field: Time picker with clock icon to set working hours start time
  • End Time Field: Time picker with clock icon to set working hours end time
  • Working Days Selection: Checkboxes for all 7 days of the week
  • Days Grid Layout: Days organized in two columns - Monday/Tuesday, Wednesday/Thursday, Friday/Saturday
  • Sunday Option: Available at the bottom (visible in scrollable modal)
Appointment Configuration Options

⚙️ Scheduling Rules

• Allow overlapping appointments toggle

• Buffer time between appointments

• Max appointments per day limit

🕐 Working Hours

• Customizable start and end times

• Time picker with clock icon

• Flexible scheduling windows

📆 Working Days

• Select any combination of weekdays

• Monday through Sunday options

• Custom availability patterns

Dashboard Statistics & Views

0

Total Appointments

0

Confirmed

0

Pending

0

Cancelled

Calendar views available: Day, Week, Month

How Appointments Work

The Appointments system allows AI agents to schedule meetings with contacts during calls. Configure scheduling rules including buffer times between appointments, maximum daily appointments, and working hours. Set your availability by selecting working days and defining start/end times. The calendar view displays all scheduled appointments with options to view by day, week, or month.

Key Features: Enable overlapping appointments for busy schedules, set buffer times to prevent back-to-back bookings, limit daily appointments to manage workload, and define custom working hours for each day. The system automatically prevents scheduling conflicts and respects your availability settings when AI agents book appointments on your behalf.

🔄

Flow Templates

Pre-built conversation flows to get you started quickly

Flow Templates Dashboard

🔄 Flow Templates Overview

Templates Dashboard Features
  • Template Statistics: 8 Available Templates and Ready to Use status displayed
  • Pre-configured Workflows: Badge indicating templates are ready to use immediately
  • Template Cards: Grid layout displaying all available conversation flow templates
  • Template Icon: Flow diagram icon on each template card
  • Layers Icon: Stack icon indicating template complexity
Template Card Information
  • Template Name: Clear title for each workflow (e.g., "Lead Qualification")
  • Description: Detailed explanation of template purpose and functionality
  • Node Count Badge: Gray badge showing number of nodes (e.g., "11 nodes", "8 nodes")
  • Component Tags: Pills showing flow components (Message, Question)
  • Use This Template Button: Black button to apply template to workflow
Available Flow Templates (8)

🎯 Lead Qualification

Qualify leads by asking about budget, timeline, and decision-making authority

11 nodes • Message, Question

📅 Appointment Booking

Schedule appointments with service selection, date/time collection, and automatic confirmation

8 nodes • Message, Question

⭐ Customer Satisfaction Survey (NPS)

Collect Net Promoter Score and detailed feedback with routing based on responses

11 nodes • Message, Question

🛒 Order Placement

Process customer orders with product selection and details

Multiple nodes

📞 Call Transfer / Receptionist

Route calls to appropriate departments or personnel

Multiple nodes

🎫 Event Registration

Register attendees for events with information collection

Multiple nodes

How Flow Templates Work

Flow Templates provide pre-built conversation workflows that you can use immediately or customize for your specific needs. Each template includes a structured flow with nodes for messages, questions, and logic branches. Simply click "Use This Template" to add it to your Flow Builder, where you can modify the conversation flow, add custom responses, and integrate with your systems.

Template Benefits: Save time with ready-to-use workflows, follow best practices for conversation design, easily customize templates to match your brand voice, and quickly deploy AI agents with proven conversation patterns. Templates include common use cases like lead qualification, appointment booking, surveys, order processing, call routing, and event registration.

💎

Upgrade Your Plan

Choose the plan that fits your needs

Upgrade Plan Pricing

💎 Pricing Plans Overview

Free Plan Features
  • 2 AI Agents: Create up to 2 AI calling agents
  • 3 Campaigns: Run up to 3 calling campaigns
  • Max 10 Contacts: Store up to 10 contacts
  • 2 Flow Automations: Create 2 conversation flows
  • 3 Knowledge Bases: Upload documents and URLs
  • 2 Webhooks: Integration endpoints
  • 5 Included Credits: Free credits to get started
Pro Plan Features ($49/month)
  • 25 AI Agents: Scale up to 25 AI agents
  • 50 Campaigns: Run up to 50 campaigns simultaneously
  • Max 1000 Contacts: Store up to 1000 contacts
  • Own Phone Numbers: Rent and manage dedicated numbers
  • Choose Your LLM: Select preferred AI language model
  • 25 Flow Automations: Create complex conversation flows
  • 💰 Save $118/year: Annual billing discount available
Plan Comparison
Feature Free Pro (Most Popular)
AI Agents 2 25
Campaigns 3 50
Max Contacts 10 1000
Flow Automations 2 25
Knowledge Bases 3 Unlimited
Webhooks 2 Unlimited
Own Phone Numbers
Choose Your LLM
Price Free Forever $49/month
Current Plan & Billing

The Upgrade Plan page displays your current subscription status and available upgrade options. Users on the Free plan can try out AI calling with basic features at no cost, perfect for testing and small-scale operations. The Pro plan ($49/month) unlocks advanced features including more AI agents, higher capacity limits, own phone numbers, LLM selection, and premium support for growing businesses.

Additional Features: Currency selection dropdown ($ USD) in top right, "Most Popular" badge on Pro plan, current plan indicator showing "Current: Free" with lightning icon, 5 credits display in sidebar, and annual billing option to save $118/year. Plans are designed to scale with your business needs from testing to enterprise-level operations.

💳

Credits & Usage

Purchase credits to make calls and send messages

Credits & Usage Dashboard
Payment Method Selection

💳 Credits & Usage Management

Dashboard Features
  • Current Balance: Shows available credits (5) with wallet icon in dark card
  • Currency Selector: Dropdown to choose $ USD, INR, or EUR in top right
  • Purchase Credits Button: Green button in top right to buy more credits
  • Credit Packages Section: Grid displaying 6 different credit packages
  • Popular Badge: Star icon with "Popular" badge on Growth Pack
  • Sidebar Credits Display: Shows 5 credits with Upgrade link
Payment Method Modal
  • Modal Header: "Select Payment Method" with subtitle to choose currency and gateway
  • Currency Selection: Pills for $ USD (selected), ₹ INR, € EUR
  • Payment Gateway: Stripe option with "Recommended" badge and checkmark
  • Stripe Card: Purple Stripe logo with recommended tag
  • Cancel Button: White cancel button at bottom left
  • Continue Button: Black "Continue to Payment" button with arrow icon
Available Credit Packages

🎯 Starter Pack

100 credits - Perfect for testing and small campaigns

$9.99

$0.0999 per minute

⭐ Growth Pack (Popular)

500 credits - Best value for growing teams. Save 10%!

$44.99

$0.0900 per minute

💼 Business Pack

1,000 credits - Ideal for regular campaigns. Save 15%!

$84.99

$0.0850 per minute

🚀 Professional Pack

2,500 credits - For power users. Save 20%!

$199.99

Cost-effective pricing

🏢 Enterprise Pack

5,000 credits - Maximum savings for high-volume needs. Save 25%!

$374.99

Best per-minute rate

💎 Mega Pack

10,000 credits - Best value for enterprise. Save 30%!

$699.99

Maximum savings

How Credits Work

Credits are used to make AI-powered calls and send messages through AgentLabs. Each minute of calling consumes credits based on your selected package rate. Purchase credit packages ranging from 100 credits ($9.99) for testing to 10,000 credits ($699.99) for enterprise needs. Larger packages offer better per-minute rates with savings up to 30%.

Payment Options: Choose your preferred currency (USD, INR, or EUR) and pay securely through Stripe (recommended). The Growth Pack (500 credits for $44.99) is our most popular option, offering 10% savings and ideal for growing teams. Track your current balance in the dashboard and sidebar, and purchase more credits anytime with the green "Purchase Credits" button.

📜

Transaction History

View your payment and subscription transactions

Transaction History Dashboard

📜 Transaction History Overview

Dashboard Features
  • Back to Billing: Navigation link with arrow icon in top right
  • Transaction Statistics: Total Transactions (0) with receipt icon displayed
  • Invoices Available: Shows 0 invoices with invoice icon in purple
  • Recent Transactions Section: Heading with subtitle about payment history
  • Empty State: "No Transactions Yet" message with receipt/invoice icon
  • Descriptive Text: Explains transactions will appear after purchases
Transaction Features
  • View Plans Button: Black button to explore subscription and credit plans
  • Payment History Tracking: Records for subscriptions and credit purchases
  • Invoice Management: Access to downloadable invoices when available
  • Transaction Details: Date, amount, type, and status information
  • Subscription Tracking: Monitor recurring payments and plan changes
  • Credit Purchase Records: History of all credit package purchases
What Appears in Transaction History

💰 Credit Purchases

• Date and time of purchase

• Credit package name and amount

• Payment amount and method

• Transaction status and invoice

📅 Subscription Payments

• Monthly/annual billing records

• Plan type (Free/Pro)

• Recurring payment dates

• Upgrade/downgrade history

📋 Invoices & Receipts

• Downloadable PDF invoices

• Payment confirmation receipts

• Transaction reference numbers

• Tax and billing details

Empty State Information

Current Status: No transactions recorded yet

How to Generate Transactions:

  • • Purchase credit packages from the Credits & Usage page
  • • Upgrade to a Pro subscription plan
  • • Rent phone numbers (50 credits/month)
  • • Make any paid purchases within AgentLabs

Click "View Plans" to explore subscription options and credit packages

How Transaction History Works

The Transaction History page provides a comprehensive record of all your financial activities on AgentLabs. Track credit purchases, subscription payments, phone number rentals, and other transactions in one centralized location. Each transaction entry includes the date, amount, payment method, type, and status. Download invoices for accounting and expense reporting purposes.

Key Benefits: Maintain financial records for your business, access downloadable invoices for tax purposes, track subscription billing cycles, monitor credit usage patterns, and verify payment confirmations. Use the "Back to Billing" link to return to the main billing page, or click "View Plans" to explore available subscription and credit options.

🔗

Integrations & Webhooks

Configure webhooks to send call data to external systems like CRMs

Integrations List View
Create Webhook Modal

📋 Integrations Overview

Integrations List Features
  • Create Webhook Button: Top right to add new webhook integration
  • Empty State: "No webhooks configured" message
  • Purpose: Send call completion events to external systems
  • List Display: Shows all configured webhooks with details
Create Webhook Modal
  • Webhook Name: Identify webhook (e.g., "My CRM Webhook")
  • Webhook URL: Target endpoint (https://your-crm.com/api/webhooks)
  • Campaign Filter: Select which campaigns trigger webhook (All campaigns)
  • Create Button: Save webhook configuration
Webhook Events
  • ✓ Call completion events
  • ✓ Lead qualification updates
  • ✓ Campaign status changes
  • ✓ Agent performance metrics
  • ✓ Real-time call data synchronization
  • ✓ CRM integration support (Salesforce, HubSpot, Pipedrive, etc.)
📱

Phone Numbers Management

Manage your Twilio phone numbers for calling campaigns

Phone Numbers List View
Buy Phone Number Modal

📋 Phone Numbers Overview

Phone Numbers List Features
  • My Numbers Tab: Shows "My Numbers (0)" - no purchased numbers
  • Buy Number Button: Top right to purchase new Twilio number
  • Empty State: "No phone numbers yet" with phone icon
  • Call to Action: "Purchase your first phone number to start making calls"
Buy Number Process
  • Search Numbers: Search by area code or country
  • Number Types: Local, toll-free, international options
  • Pricing: One-time purchase + monthly subscription cost
  • Assign Campaign: Link number to specific campaigns
After Purchasing Numbers
  • ✓ View all purchased phone numbers in table format
  • ✓ See number type (Local/Toll-free), status, and monthly cost
  • ✓ Assign numbers to campaigns for caller ID
  • ✓ Release unused numbers to save credits
  • ✓ Monitor usage and call activity per number
  • ✓ Credit balance shown in sidebar (800 credits available)
💳

Billing & Subscription

Manage your subscription, credits, and billing

Subscription Plans View
Credits & Usage View

📋 Billing & Subscription Overview

Upgrade Your Plan Section
  • Free Plan (Current): 1 AI Agent, 1 Campaign, 5 Contacts, Credits as needed
  • Pro Plan (Recommended): $49/month or $490/year (save 17%)
  • Pro Features: Unlimited Agents, Campaigns, Contacts
  • Pro Benefits: 100 credits monthly + Priority support
  • Subscribe Buttons: Monthly or Yearly subscription options
Credits & Usage Section
  • Current Balance: 0 available credits display
  • Purchase Credits: Button to buy additional credits
  • Test Plan: $10 for 100 credits ($0.1000 per minute)
  • New Pack (Popular): $100 for 1,000 credits ($0.1000 per minute)
  • Transaction History: "No transactions yet" empty state
  • Notice: Active membership required to purchase credits
Plan Comparison
Free Plan
  • ✓ 1 AI Agent
  • ✓ 1 Active Campaign
  • ✓ 5 Contacts per Campaign
  • ✓ Purchase credits as needed
  • ✗ No monthly credits included
Pro Plan ($49/mo)
  • ✓ Unlimited AI Agents
  • ✓ Unlimited Campaigns
  • ✓ Unlimited Contacts
  • ✓ 100 credits included monthly
  • ✓ Priority support
Credit Packages Available

Test Plan - $10

100 credits • $0.1000/minute

New Pack - $100 (Popular)

1,000 credits • $0.1000/minute

👨‍💼 New Featers

Complete admin panel tools for managing campaigns, contacts, and calling operations

🤖

Agent System

Configure and manage AI agents with advanced customization options

🤖 Agent System Overview

Three Types of AI Agents
💬1. Natural Agents

Open-ended conversational AI powered by LLMs (GPT-4o, Claude, Gemini)

Key Features:

  • • Free-form conversation
  • • Context-aware responses
  • • Knowledge base integration
  • • Voice customization
  • • Language detection
🔄2. Flow Agents

Scripted call flows with visual editor for predictable conversations

Key Features:

  • • Drag-and-drop flow builder
  • • Conditional branching
  • • Form data collection
  • • Appointment booking
  • • Webhook integration
📞3. Incoming Agents

Handle inbound calls to your phone numbers

Key Features:

  • • Automatic call routing
  • • IVR-style menus
  • • Language detection
  • • Transfer to human
Natural Agent Configuration Example
{
  "name": "Sales Agent",
  "type": "natural",
  "systemPrompt": "You are a helpful sales representative...",
  "llmModel": "gpt-4o",
  "voice": "rachel",
  "language": "en",
  "firstMessage": "Hello! How can I help you today?"
}
Voice Configuration Settings

Agents use ElevenLabs voices with configurable settings:

Setting Range Description
stability 0-1 Voice consistency (higher = more stable)
similarity_boost 0-1 Voice clarity (higher = clearer)
style 0-1 Expressiveness (higher = more expressive)
speed 0.5-2.0 Speaking rate
Smart TTS Model Auto-Selection

The system automatically selects the appropriate ElevenLabs TTS model:

English

eleven_turbo_v2 (optimized for speed)

Other Languages

eleven_multilingual_v2 (supports 29 languages)

Advanced Agent Features
📚 Prompt Templates Library

Pre-built templates for common use cases:

  • • Sales outreach
  • • Customer support
  • • Appointment setting
  • • Survey collection
  • • Lead qualification

Access via: Agents → Prompt Templates Library

🔄 Agent Versioning

Every agent change creates a version snapshot:

  • • Rollback to previous versions
  • • Compare configurations
  • • Audit trail
8 Pre-configured Agent Presets
1. Virtual Receptionist
2. Appointment Setter
3. Lead Qualification Agent
4. Survey Agent
5. Customer Service Agent
6. Outbound Sales Agent
7. Debt Collection Agent
8. Event Registration Agent
🔗 ElevenLabs Synchronization

Agents are automatically synchronized with ElevenLabs:

Create agent locally → Pushed to ElevenLabs
Update configuration → ElevenLabs updated
× Delete agent → Removed from ElevenLabs
🔑

ElevenLabs Multi-Key Pool

Automatic load balancing and resource management across multiple API keys

🔑 Multi-Key Pool System

System Overview

The Multi-Key Pool system enables scaling across multiple ElevenLabs API keys with automatic load balancing, user-credential affinity, and seamless resource migration.

┌─────────────────────────────────────────────────────────────┐
│                    ElevenLabs Pool Manager                    │
├─────────────────────────────────────────────────────────────┤
│  Credential 1        Credential 2        Credential 3        │
│  ┌──────────┐       ┌──────────┐        ┌──────────┐        │
│  │ Users: 50│       │ Users: 45│        │ Users: 30│        │
│  │Agents:100│       │Agents: 90│        │Agents: 60│        │
│  │ Load: 85%│       │ Load: 75%│        │ Load: 50%│        │
│  └──────────┘       └──────────┘        └──────────┘        │
└─────────────────────────────────────────────────────────────┘
Core Features
👤User-Credential Affinity

Each user is permanently assigned to one ElevenLabs credential:

  • • de class="bg-violet-100 px-1 rounded">users.elevenLabsCredentialId tracks assignment
  • • All user resources stay on same credential
  • • Prevents cross-credential resource issues
  • • Maintains data consistency
📊Threshold-Based Distribution

New users assigned to credentials under de class="bg-violet-100 px-1 rounded">maxAgentsThreshold:

  • • Default threshold: 100 agents
  • • Round-robin when all reach threshold
  • • Admin adjustable per credential
  • • Automatic rebalancing
⚖️Atomic Load Balancing

Campaigns use atomic slot reservation:

UPDATE elevenlabs_credentials
SET current_load = current_load + 1
WHERE id = $1 
  AND current_load < max_concurrency
RETURNING *
🏥Credential Health Monitoring

Automatic health checks:

  • • API endpoint validation
  • • Response time monitoring
  • • Error rate tracking
  • • Auto-disable on failures
Admin Pool Management API

Admin routes for comprehensive pool management:

GET
de class="text-xs font-mono text-violet-900">/admin/elevenlabs-pool

List all credentials with stats

POST
de class="text-xs font-mono text-violet-900">/admin/elevenlabs-pool

Add new credential to pool

PATCH
de class="text-xs font-mono text-violet-900">/admin/elevenlabs-pool/:id/threshold

Update threshold for credential

GET
de class="text-xs font-mono text-violet-900">/admin/elevenlabs-pool/:id/users

View users assigned to credential

🔄 Migration Engine

Located at de class="bg-violet-100 px-1 rounded">server/engines/elevenlabs-migration/

Automatic Migration

Triggers on credential mismatch detection

Phone Number Migration

Seamless transfer between ElevenLabs accounts

Agent Co-location

Enforces all user agents on same credential

Concurrency Protection

Distributed locks prevent conflicts

System Benefits

Scalability

Scale beyond single API key limits

Reliability

Automatic failover and health checks

Resource Isolation

User resources stay together

🔔

Webhook Integration

Receive and send event-based notifications with secure webhooks

🔔 Incoming Webhooks

ElevenLabs Webhooks
  • • de class="bg-purple-50 px-1 rounded">conversation.completed – Call finished
  • • de class="bg-purple-50 px-1 rounded">conversation.started – Call started
  • • de class="bg-purple-50 px-1 rounded">agent.updated – Agent configuration changed
Twilio Webhooks
  • • Call status changes
  • • Recording ready
  • • Billing events
Payment Webhooks
  • • Subscription created/updated
  • • Payment succeeded/failed
  • • Invoice generated

📤 Outgoing Webhooks (User-Configured)

Users can configure webhooks for the following events:

• Campaign events
• Call completion
• Form submission
• Lead qualification

🧾 Webhook Subscription Model

TypeScript interface used to store webhook subscriptions:

interface WebhookSubscription {
  id: string;
  userId: string;
  url: string;
  events: string[];
  secret: string; // For signature verification
  isActive: boolean;
}

🔐 Signature Verification

All outgoing webhooks include an HMAC-SHA256 signature generated with the webhook secret:

const signature = crypto
  .createHmac("sha256", webhookSecret)
  .update(JSON.stringify(payload))
  .digest("hex");

headers["X-Signature"] = signature;

Receivers should recompute this signature with the shared secret and compare it to the de class="bg-purple-50 px-1 rounded">X-Signature header to verify authenticity.

🔁 Retry Mechanism

Failed webhook deliveries are retried with backoff settings:

  • • Configurable intervals (default: 1, 5, 15 minutes)
  • • Maximum attempts (default: 3)
  • • Exponential backoff
  • • Delivery logs retained

📦 Webhook Payload Structure

Example payload for a de class="bg-purple-50 px-1 rounded">call.completed event:

{
  "event": "call.completed",
  "timestamp": "2025-01-15T10:30:00Z",
  "data": {
    "callId": "call_123",
    "agentId": "agent_456",
    "duration": 180,
    "transcript": [...],
    "collectedData": {...}
  }
}
🌐

Internationalization (i18n)

Multi-language support with RTL layout capabilities

Supported Languages
Code Language Direction
de class="bg-indigo-50 px-1 rounded">en English LTR
de class="bg-indigo-50 px-1 rounded">ar Arabic RTL
de class="bg-indigo-50 px-1 rounded">de German LTR
de class="bg-indigo-50 px-1 rounded">es Spanish LTR
de class="bg-indigo-50 px-1 rounded">fr French LTR
de class="bg-indigo-50 px-1 rounded">hi Hindi LTR
de class="bg-indigo-50 px-1 rounded">it Italian LTR
de class="bg-indigo-50 px-1 rounded">ja Japanese LTR
de class="bg-indigo-50 px-1 rounded">pl Polish LTR
de class="bg-indigo-50 px-1 rounded">pt Portuguese LTR
de class="bg-indigo-50 px-1 rounded">sv Swedish LTR
RTL Support (Arabic)
  • • de class="bg-indigo-50 px-1 rounded">DirectionProvider for automatic direction switching
  • • IBM Plex Sans Arabic font
  • • CSS logical properties
  • • Mirrored UI layouts

Note: Flow builder canvas remains LTR for visual consistency

Language Detection

Automatic detection priority:

  1. 1. User preference (localStorage)
  2. 2. Browser language setting
  3. 3. Default to English
Translation Files

Located at de class="bg-indigo-50 px-1 rounded">client/public/locales/{lang}/translation.json:

{
  "common": {
    "save": "Save",
    "cancel": "Cancel",
    "delete": "Delete"
  },
  "agents": {
    "create": "Create Agent",
    "edit": "Edit Agent"
  }
}
Adding New Languages
  1. 1. Create translation file: de class="bg-indigo-50 px-1 rounded">client/public/locales/{code}/translation.json
  2. 2. Add language to i18n config: de class="bg-indigo-50 px-1 rounded">client/src/i18n.ts
  3. 3. Add language option to UI
🗄️

Database Schema

PostgreSQL database structure and relationships

Core Tables
users
id, email, password, role
firstName, lastName
elevenLabsCredentialId
subscriptionId, credits
agents
userId, elevenLabsAgentId
name, type (natural/flow/incoming)
systemPrompt, llmModel
voiceId, language
campaigns
userId, agentId, name, status
totalContacts, completedCalls
successfulCalls, failedCalls
scheduledFor, startedAt, completedAt
contacts
campaignId, phone
firstName, lastName, email
customFields (JSONB)
status
calls
userId, campaignId, contactId
elevenLabsConversationId, twilioSid
status, duration, transcript (JSONB)
classification, sentiment, recordingUrl
phoneNumbers
userId, phoneNumber
twilioSid, elevenLabsPhoneNumberId
status, monthlyCredits
nextBillingDate
incomingConnections
userId, incomingAgentId
phoneNumberId
userSubscriptions
userId, planId, status
paymentGateway (stripe/razorpay/etc)
gatewaySubscriptionId
currentPeriodEnd
Support Tables (14 tables)
plans creditPackages llmModels agentVersions flowTemplates promptTemplates emailTemplates globalSettings seoSettings elevenLabsCredentials webhookSubscriptions webhookDeliveries auditLogs notifications
🔗 Entity Relationships
users ─────────────── userSubscriptions ──── plans
  │
  ├── agents ────────────────────────────────┐
  │                                          │
  ├── campaigns ───── contacts               │
  │      │                │                  │
  │      └── calls ───────┘                  │
  │            │                             │
  │            └── (userId for direct ownership)
  │
  ├── phoneNumbers ── incomingConnections ───┘
  │
  └── elevenLabsCredentials (assigned via users.elevenLabsCredentialId)
🔐

Security Features

Core application security, isolation, and compliance controls

Rate Limiting Traffic Control
  • In-memory rate limiting by IP
  • Default: 100 requests/minute (configurable)
  • Returns 429 Too Many Requests on limit
  • Webhook paths can be whitelisted
Audit Logging Compliance

AuditLog { userId, action, resource, details, ipAddress, userAgent, timestamp }

  • User login / logout
  • Agent CRUD operations
  • Campaign lifecycle events
  • Payment and billing transactions
  • Admin and elevated actions
Tenant Isolation Multi-tenant
  • Strict userId ownership on all resources
  • Query-time filtering for every read/write
  • No cross-tenant data access paths
JWT Configuration Auth
  • Configurable in Admin Panel
  • Default expiry: 7 days via jwt_expiry_days
  • JWT validated on every request
Webhook Security Integrity
  • HMAC-SHA256 / SHA512 signature validation
  • Timestamp-based request freshness checks
  • Replay attack prevention strategies
Password Security Credentials
  • bcrypt hashing with 10 rounds
  • Minimum 6-character password policy
  • Login attempts rate-limited via IP
Stateless Auth Scalability
  • JWT-based stateless authentication
  • No server-side session storage
  • Token validation on every request
  • Token expiry configurable via admin settings
Distributed Locking Concurrency

PostgreSQL advisory locks used to coordinate critical operations:

  • 1000–1999: phone migration
  • 2000–2999: phone verification
  • 3000–3999: bulk operations
  • 4000–4999: load balancing
🧬
Request Correlation IDs
X-Correlation-ID header
└─ generated per request
   ├─ logged with all operations
   └─ propagated to external services
Security Summary
  • Defense-in-depth across transport, storage, and application layers
  • Full traceability via audit logs and correlation IDs
  • Multi-tenant isolation enforced at the data access layer
  • Configurable authentication and rate limiting from the Admin Panel
🚀

Production Deployment

Environment, reverse proxy, process manager, and runtime safeguards

Environment Configuration ENV Vars

Production environment variables are configured via server-level .env:

NODE_ENV=production
PORT=5000
APP_URL=https://yourdomain.com

# Database
DATABASE_URL=postgresql://...

# All other variables from Installation section
Domain & SSL Setup Networking
  1. Configure DNS A/AAAA records to point to the server
  2. Issue SSL certificate (Let's Encrypt recommended)
  3. Configure Nginx as HTTPS reverse proxy

The application itself listens on http://localhost:5000, while Nginx terminates TLS on port 443.

🌐 Nginx Reverse Proxy HTTPS + Proxy

HTTP traffic is redirected to HTTPS, and Nginx forwards requests to the Node.js application:

server {
    listen 80;
    server_name yourdomain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name yourdomain.com;

    ssl_certificate     /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

    location / {
        proxy_pass http://localhost:5000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade           $http_upgrade;
        proxy_set_header Connection        'upgrade';
        proxy_set_header Host              $host;
        proxy_set_header X-Real-IP         $remote_addr;
        proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
PM2 Process Manager Runtime

PM2 keeps the Node.js application running, restarts on crash, and bootstraps on server restart:

# Install PM2
npm install -g pm2

# Start application
pm2 start npm --name "agentlabs" -- start

# Configure auto-restart on boot
pm2 startup
pm2 save
Health Checks Monitoring

Two health endpoints expose runtime status:

  • /health – simple status check
  • /health/detailed – integration and dependency status

These endpoints can be wired into uptime monitors or cloud load balancer health checks.

Memory Watchdog Stability
  • Automatic memory checks every 30 seconds
  • Admin-configurable restart thresholds and limits
  • Memory usage metrics logged for analysis

Protects against slow memory leaks by triggering controlled restarts when limits are exceeded.

Graceful Shutdown Signals

On SIGTERM / SIGINT, the application performs a controlled shutdown:

  1. Stop accepting new connections
  2. Allow in-flight requests to complete
  3. Close database and external service connections
  4. Exit the process cleanly
📡

API Reference

Authenticated JSON API for managing agents, campaigns, calls, and billing

Authentication Bearer JWT

All non-public endpoints require a valid JWT access token in the Authorization header:

Authorization: Bearer <jwt_token>
Response Format JSON

Success

{
  "data": { ... },
  "message": "Success"
}

Error

{
  "message": "Error description",
  "correlationId": "abc123-..."
}

Authentication User identity & session lifecycle

Endpoint Method Description
/api/auth/register POST Register new user
/api/auth/login POST Login user
/api/auth/logout POST Logout user
/api/auth/me GET Get current user
/api/auth/verify-otp POST Verify email OTP
/api/auth/forgot-password POST Request password reset
/api/auth/reset-password POST Reset password

Agents Voice agents & versioning

Endpoint Method Description
/api/agents GET List user's agents
/api/agents POST Create agent
/api/agents/:id GET Get agent details
/api/agents/:id PATCH Update agent
/api/agents/:id DELETE Delete agent
/api/agents/:id/versions GET List agent versions
/api/agents/:id/rollback/:versionId POST Rollback to version

Campaigns Outbound calling campaigns

Endpoint Method Description
/api/campaigns GET List campaigns
/api/campaigns POST Create campaign
/api/campaigns/:id GET Get campaign details
/api/campaigns/:id/start POST Start campaign
/api/campaigns/:id/pause POST Pause campaign
/api/campaigns/:id/resume POST Resume campaign
/api/campaigns/:id/stop POST Stop campaign

Contacts Contact management & imports

Endpoint Method Description
/api/contacts GET List contacts
/api/contacts POST Create contact
/api/contacts/upload POST Upload CSV
/api/contacts/deduplicated GET Get deduplicated contacts

Phone Numbers Provisioning & routing

Endpoint Method Description
/api/phone-numbers GET List phone numbers
/api/phone-numbers/available GET Search available numbers
/api/phone-numbers/purchase POST Purchase number
/api/phone-numbers/:id/connect POST Connect to agent
/api/phone-numbers/:id/disconnect POST Disconnect from agent

Call Logs Call history, transcripts & recordings

Endpoint Method Description
/api/calls GET List call logs
/api/calls/:id GET Get call details
/api/calls/:id/transcript GET Get transcript
/api/calls/:id/recording GET Get recording

Dashboard Aggregate metrics

Endpoint Method Description
/api/dashboard GET Get dashboard stats

Billing Subscriptions, credits & invoices

Endpoint Method Description
/api/billing/subscription GET Get subscription
/api/billing/credits/purchase POST Purchase credits
/api/billing/invoices GET List invoices

Webhooks Inbound events from providers

Endpoint Method Description
/api/webhooks/elevenlabs POST ElevenLabs webhooks
/api/webhooks/twilio/voice POST Twilio voice webhooks
/api/webhooks/stripe POST Stripe webhooks
/api/webhooks/razorpay POST Razorpay webhooks
/api/webhooks/paypal POST PayPal webhooks
/api/webhooks/paystack POST Paystack webhooks
/api/webhooks/mercadopago POST MercadoPago webhooks

Admin (Admin only) Platform-level configuration

Endpoint Method Description
/api/admin/users GET List all users
/api/admin/users/:id GET Get user details
/api/admin/users/:id PATCH Update user
/api/admin/settings GET Get settings
/api/admin/settings PATCH Update settings
/api/admin/elevenlabs-pool GET List credentials
/api/admin/elevenlabs-pool POST Add credential
🛒

Marketplace Distribution

Licensing, branding, and distribution tooling for Envato/CodeCanyon

CodeCanyon / Envato License Licensing

AgentLabs is distributed via Envato using Regular and Extended license models:

  • Regular License: single end product, no charge to end users
  • Extended License: single end product, allowed to charge end users
Diploy Branding Copyright

All distributed source files include a standardized Diploy copyright header:

/**
 * ============================================================
 * © 2025 Diploy — a brand of Bisht Technologies Private Limited
 * Original Author: BTPL Engineering Team
 * Website: https://diploy.in
 * Contact: cs@diploy.in
 * ============================================================
 */
Console Signature Runtime Banner

On startup, AgentLabs prints a console signature indicating origin and distribution terms:

====================================
AgentLabs Initialized
©diploy
Unauthorized distribution prohibited
License File Terms

The root-level LICENSE.md file contains the full Envato licensing terms applicable to AgentLabs:

  • Summarizes Regular vs Extended license usage
  • Clarifies redistribution and resale restrictions
  • Defines support, updates, and permitted usage scope

Distribution Scripts Build & packaging automation

Prepare for Distribution

Generates a clean ZIP archive suitable for Envato upload, stripping out environment-specific files.

./scripts/prepare-distribution.sh

Removes Replit-specific and non-essential development artifacts from the final bundle.

Add Copyright Headers

Ensures all distributed source files carry the Diploy copyright banner:

./scripts/add-copyright-headers.sh

Can be run before packaging or as part of a CI pipeline step prior to release.

🛠️

Troubleshooting & FAQ

Fix common issues and find answers to frequently asked questions

Common Issues Most frequent errors & resolutions

Database Connection Failed

ECONNREFUSED 127.0.0.1:5432

  1. Verify PostgreSQL service is running
  2. Check the DATABASE_URL variable
  3. Ensure the database name exists

ElevenLabs API Error

Failed to create agent: 401 Unauthorized

  1. Ensure ELEVENLABS_API_KEY is valid
  2. Verify correct API permissions
  3. Check if the key is expired

Twilio Phone Purchase Failed

Unable to purchase phone number

  1. Check Twilio account balance
  2. Verify Twilio SID/Auth Token
  3. Confirm number availability in the region

Campaign Not Starting

Campaign stuck in 'pending' state

  1. Check ElevenLabs credential capacity
  2. Verify agent sync status
  3. Check for phone number conflicts

Webhook Not Received

Webhook deliveries failing

  1. Ensure webhook endpoint is reachable
  2. Check signature validation
  3. Review webhook delivery logs

Error Codes Standardized application-level errors

Code Description Resolution
E1001 Invalid credentials Check API keys
E1002 Rate limit exceeded Wait and retry
E1003 Resource not found Verify ID exists
E1004 Permission denied Check user permissions
E1005 Payment failed Verify payment method
E1006 ElevenLabs sync failed Check agent configuration
E1007 Phone conflict Disconnect existing connection

Debugging Tips Tools to identify and solve issues

1. Check Logs
  • Request logs include correlation IDs
  • Trace requests across services using correlation ID
2. Health Check
  • /health/detailed shows integration status
  • Identifies failing external services
3. Database State
  • Use admin panel to inspect records
  • Review auditLogs for action history
4. ElevenLabs Dashboard
  • Verify agents exist in ElevenLabs
  • Check conversation logs

Support Contact Get assistance

  • Email: cs@diploy.in
  • Website: https://diploy.in
  • Documentation: This document

FAQ Frequently asked questions

Q: Can I customize the branding?

A: Yes, via Admin → Settings → Branding. Upload logo, change app name, and colors.

Q: How do I add a new payment gateway?

A: Payment gateways are built-in. Configure via environment variables.

Q: Can I use my own ElevenLabs account?

A: Yes, add your API key inside Admin → ElevenLabs Pool.

Q: How do I migrate from single to multi-key pool?

A: Add additional credentials via the Admin Panel. Users are automatically distributed.

Q: What happens when credits run out?

A: Campaigns pause, a warning email is sent, and the account is suspended after the grace period.

Q: Can I export my data?

A: Yes, use Settings → Privacy → Export Data or export campaign data as CSV.

📞 Support & Contact

📧 Getting Help

Ticket Support

Raise a ticket

Email Support

nb@diploy.in

🤖

AgentLabs

© 2025 AgentLabs. AI-Powered Bulk Calling Solution.

Documentation last updated: November 2025 | Support: nb@diploy.in

🚀Installation
Setup Guide