Voice Agents Dashboard
Manage your Real-Time Multi-tenant Support & Marketing virtual call workers.
Outbound Campaigns Manager
Launch and schedule automated dialers that assign live customers directly to voice agents.
Create Outbound Run
Campaigns History Logs 1 Active Running
Knowledge Bases
Create named document collections and attach them to your voice agents for RAG-powered answers.
Create Knowledge Base
Your Knowledge Bases
Select a Knowledge Base to manage its documents
RAG Testing Playground
Test Scenarios
Run a simulated caller against one of your agents and see how it behaves.
Agent under test
Scenario library -
Past runs -
Clone & edit scenario
The sentence someone reads to decide whether to run this. Say what the agent is expected to do.
Leave blank for "no caller ID" - the agent then has to ask who is calling.
Agent Insights
Call success, latency, engagement, and tool usage across the last 30 days - see docs/vyom_analytics_design.md.
Voice Execution Pipeline Latency Breakdown
Inbound Failures by Pipeline Stage
Outbound Call Outcomes
Knowledge Base & Agent Actions Usage
Agent Call History
Inbound calls received and outbound campaign runs, across all agents.
| Schedule Date | Time | Schedule ID | Schedule Name | Agent ID | Agent Name | Status |
|---|---|---|---|---|---|---|
| Loading outbound call history... | ||||||
Call FW & Escalations
Calls an agent has flagged for a supervisor (Listen-in / Takeover). Dashboard-only - no push or SMS alert, refresh or keep this page open to see new ones.
Call FW & Escalation History
Every call that was ever flagged, monitored, taken over, or cold-transferred - not just calls currently waiting above.
| Status | Direction | Agent | Caller Phone Number | Schedule | Human Agent | Flagged | Joined | Took Over | Call Session / Room |
|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||
Telephony · SIP Trunk
Carrier accounts connected to Vyom. Add one per telephony vendor you use.
Telephony · Dispatch Rules
Wires a number's INBOUND calls to one agent. A number isn't reachable until it has a dispatch rule.
| Number | Inbound Agent | Room Prefix | Status | |
|---|---|---|---|---|
| Loading dispatch rules... | ||||
Telephony · Phone Numbers
Numbers you already purchased on a vendor's own site - register them here, then wire up inbound/outbound. Inbound and outbound can each be a different agent.
| Number | Trunk | Inbound Agent | Outbound Agent | |
|---|---|---|---|---|
| Loading numbers... | ||||
Telephony · Platform Settings
Gateway- and provider-level configuration shared across every tenant - not this tenant's own trunks (see SIP Trunk above for that).
Gateway Settings
This box's own SIP gateway identity - the same for every tenant and every provider. Saving these applies to the live SIP gateway and requires a restart, which drops any calls in progress.
Provider Settings
One entry per telephony vendor - a vendor's signaling IPs are the same for every tenant using them, not something each tenant should have to know or type.
Billing
Plan, usage, and invoice history for your Vyom workspace.
Invoice History
Rate Cards
Per-provider pricing used to compute Eterna Actual Cost and Customer Billed Usage across every call. Each rate is tagged with how it was sourced.
Add a Rate Card
All Rate Cards
| Provider | Model | Usage Type | Rate | Source | Effective From | |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Billing Rates
What this tenant is actually billed per provider/usage type. Leave a rate unset to fall back to the platform's default customer rate.
| Provider | Model | Usage Type | Rate | Effective From | |
|---|---|---|---|---|---|
| Loading… | |||||
Retention & Privacy
How long each category of data is kept, plus right-to-be-forgotten and on-demand delete requests. Your organisation's own policy overrides the platform default.
Retention Policies
Each category uses your own policy if you have set one, otherwise the platform default, otherwise it is kept indefinitely. Deleted data cannot be recovered. Changes apply at the next daily clean-up, which runs once a day.
| Category | Retain? | Retention Period | Applies From | Platform Default | |
|---|---|---|---|---|---|
| Loading… | |||||
Right to Be Forgotten
Erases every call record, transcript, usage record, tool-call log, failure log and email/WhatsApp message tied to one caller's phone number - and removes them from any contact list. Cannot be undone.
Right to Delete
Purges one category's data older than a chosen date, on demand - separate from the scheduled retention policy above. Cannot be undone.
Erasure Request History
| Type | Target | Status | Requested | Completed | Rows Affected |
|---|---|---|---|---|---|
| Loading… | |||||
Policy Change Log
| When | Who | Policy | Category | Change |
|---|---|---|---|---|
| Loading… | ||||
Manage Users
Everyone who has logged into your tenant, and what they can do here. A new teammate appears the moment they first sign in.
| Username | Role | Member Since | Updated At | |
|---|---|---|---|---|
| Loading… | ||||
Groups
Departments/teams that scope which agents a user can reach. An agent with no group is visible to everyone in your tenant - assigning it to a group restricts it to that group's members (Tenant Admins always see every agent).
| Group | Members | |
|---|---|---|
| Loading… | ||
Launch Outbound Agents
Launch a scheduled/Call Now dial, or configure an event-triggered one.
Add a Schedule
Runs in the picked agent's configured timezone.
Configured Schedules
| Name | Agent | Type | Next Run | Status | |
|---|---|---|---|---|---|
| Loading… | |||||
To see call outcomes for a schedule, check .
Add an Event
Configured Event
Each event gets its own trigger URL and API key - give these to the external system that should fire this event. POST the trigger URL with header X-Event-Api-Key and JSON body {"phone_number": "..."} for one contact, or {"contacts": [{"phone_number": "..."}, ...]} for several dialed concurrently (optionally name/extra_fields per contact, and a top-level concurrency override).
| Name | Agent | Trigger URL | API Key | Enabled | |
|---|---|---|---|---|---|
| Loading… | |||||
Event Occurrence History
| Event ID | Event Name | Payload | Schedule ID | Status | Event Time |
|---|---|---|---|---|---|
| Loading… | |||||
Messaging
Connect your own SMTP server and manage the templates your agents can send from it. Vyom never hosts email itself - it only connects to your mail server as a client.
Messaging
Connect your Meta WhatsApp Business Account and manage the templates your agents can send. Every send goes through Meta's own Cloud API - Vyom never hosts WhatsApp messaging itself.
This list reflects Meta's own approval state live - a new template is usable only once it shows Approved here.
Messaging History
Every email and WhatsApp message your agents sent, with delivery status and the full message content, for record-keeping and audit.
Organization Profile
Your organisation's registration details. Any Tenant Admin can correct or update them at any time. Your sign-in details (username, password, login email) are not here - each person manages those in their own account.
Organisation
Your organisation's name, for example after a rebrand. Also renamed in our sign-in system.
Shown at the top of the console. Lowercase letters, numbers and hyphens, and it must be unique.
Organisation contact
Who Vyom contacts about this organisation. Changing it does not change anyone's sign-in.
With the country code, for example +91XXXXXXXXXX.
Billing address
Change History
| When | Who | Field | Change |
|---|---|---|---|
| Loading… | |||
Agent Settings Configuration
Define agent personalities, choose STT/TTS/LLM models, upload RAG data, and set up dynamic tools.
General Persona Details * Essential fields
Optional - spoken as the agent's opening line, 3 seconds after the call connects. Leave blank for a generic greeting. Personalization variables come from this agent's uploaded contact list (Insert Variable) and only resolve on outbound calls.
Sets the LLM's reply dialect and STT recognition locale (real effect for all 15 - see docs/vyom_cascaded_pipeline.md). Deepgram's Nova-2/Nova-3 both natively support en-IN; Telugu and Kannada require Nova-3 specifically (Nova-2 doesn't support either - pick Nova-3 as the STT model on the AI Models tab for these two). Uzbek needs Google selected as the STT provider (AI Models tab) - Deepgram doesn't support Uzbek on any model, so it'll silently fail to recognize speech if left on the Deepgram default. The agent's spoken voice is still a separate choice on the AI Models tab: Munsit's real voice catalog only has native voices for Saudi and UAE/Gulf today; Eterna Edge (Piper) has real Hindi and Telugu voices (added 2026-09-03) but no Indian-English or Kannada voice; Eterna Lightning (Kokoro) has none of these (only US/British English, Hindi as a separate language, no Indian-English/Telugu/Kannada) - a language with no matching voice speaks through whichever TTS voice is selected there instead, not a dialect-matched one, until a voice for it exists. Cartesia has no Uzbek voice either, same fallback applies.
The call is automatically ended once it's been running this long.
Dynamic AI Service Models (Pluggable Stack) * Cascaded
Turn-Taking & Interruption
Speech-to-Speech uses Gemini Live's own native turn detection, not this project's local VAD - "Provider default" leaves Gemini Live's own untouched setting (High sensitivity) rather than substituting a value of this project's choosing.
Attached Documents
Telephony Wiring
Read-only - which real number(s) this agent answers/dials from, per the tenant's own SIP Trunk/Number/Dispatch Rule setup. Configure or change this in Telephony Settings, not here.
Agent Actions (External Tools)
Connect external services via standard HTTP APIs or Model Context Protocol (MCP) servers. Internal/private network targets are blocked for security. Saved together with the rest of this agent when you click Save Agent.
HTTP Tool
:name in the URL for path parameters - everything else becomes a query string (GET) or JSON body (other methods).MCP Server
DTMF Capture
Digits are never shown to the AI model, never logged, and never read back aloud - only a masked confirmation is used.
Call Escalation
Lets the agent hand a caller off to a human. Blind Transfer moves the caller's call to another number and the agent leaves. Listen-in and Takeover keep the caller connected to the agent and flag the call for a supervisor to join from the Live Calls view instead - the caller is never disconnected by this.
WhatsApp Action
Sends a pre-approved WhatsApp template to the customer's own number on this call. Requires a WhatsApp account connected under Messaging → WhatsApp, with at least one approved template.
Agent Skills
Coming SoonReady-made abilities you can switch on for your agent will appear here. To give your agent new abilities today, use the Agent Actions tab.
Inbound Call Handling
Assigned number is managed under Telephony → Phone Numbers.
Outbound Dialing
Local time in the timezone selected above.
Previewing Agent: New Agent
Live conversation over WebRTC using your laptop microphone
Aria Telecom Assistant
Vyom Support Demo Channel
"नमस्ते! मैं आरिया हूँ। मैं आपकी क्या सहायता कर सकती हूँ?"
