Skip to main content
The Agents dashboard is where you design the core intelligence of your voice infrastructure. From this central view, you can monitor the real-time performance of every agent in your organization.
Main agents dashboard showing active and inactive agents

Quick start

Get your first agent live in under 5 minutes:

Click + New Agent

From the dashboard, click + New Agent to open the builder.

Configure prompt and timezone

Write your system prompt. Add local timezone context if you want real-time temporal awareness.

Select model, voice, and accent

Choose your AI model. Select a voice and a preferred accent. Adjust the emotional tone of the agent.

Set a welcome message

Define how the AI agent begins the conversation.

Test with a web call

Use the testing panel to start a live conversation immediately.

Creating a new agent

The agent builder features a simplified, unified workspace. You manage the system prompt on the left side. You configure technical settings on the right side.
The simplified Agni agent builder interface

AI provider settings

Configure the reasoning engine. Define the personality of the voice:
  • Model: Select Agni Premium for high-fidelity reasoning and complex conversations. Alternatively, select Agni Lite for a budget-friendly option with faster response times.
AI model selection dropdown showing Agni Premium and Agni Lite
  • Voice & accent: Choose from our library of voices. You can apply a Voice Accent to match local regional preferences. For example, select US Southern to make your agent match a southern US accent. You can also customize the emotional expressiveness with Emotion settings to make interactions sound more human.
Voice settings with accent and emotion selection

Prompt and timezone

Write the guidelines for your agent in the prompt editor. You can also configure the Timezone field:
  • Timezone: Enable this field to give the agent real-time awareness for a specific area. This option adds a context line directly to the start of your prompt. You must enable it if you want the agent to reference the correct local time during calls.
Timezone setting in prompt configuration

Welcome message

Under the Welcome Message tab, decide how the interaction starts. If the agent speaks first, you can choose a static custom message. Alternatively, select a Dynamic message based on prompt to let the agent tailor the greeting to the call context.
Options for setting dynamic or custom welcome messages

Agent configuration

Functions & tools

Equip your agent with the ability to take action during a call.
Dropdown menu for agent functions like End Call and Transfer
  • IVR / Press Digit: Navigate automated phone menus. You can set the Pause Detection Delay to ensure the agent waits before pressing a digit.
  • Custom Functions: Connect your backend system.
    • Custom (Server-Side): Configure direct API calls with custom headers and JSON schemas.
    • Client Function: Define parameters that the model returns to your local application.
The configuration screen for a server-side custom function

Specialized settings

Fine-tune the audio environment. Add Background Sounds like an office hum or traffic noise. You can adjust the Interruption Sensitivity. Configure Reminder Messages for silent periods.
Control telephony rules like Voicemail Detection, Max Duration, and Emergency fallback.
  • Emergency fallback: Specify a backup phone number. If the AI agent encounters a critical failure (such as an LLM provider outage, severe latency, or an unexpected server error), the call will automatically transfer to this fallback number. This ensures your customers always reach a human when things go wrong instead of being hung up on.
  • Memory: Enable Memory to let the agent remember past conversations with returning callers. Note: Memory works strictly on inbound and outbound calls. It is not supported on web calls.
Define what data to extract from the transcript. You can capture sentiments and generate summaries. You can also pull custom structured JSON.
Link a knowledge base to let your agent answer questions using your company documentation.

Testing your agent

The built-in testing environment allows you to test your agent safely before deployment.
The testing sidebar for web and phone calls

Test modalities

  • Web Call: Talk to your agent directly through your browser. In the Metadata section, click Add to enter metadata as key-value pairs for testing dynamic prompt variables.
Using dynamic variables: To set up dynamic variables, include them in your prompt using double curly braces (for example, {{user_name}}). New input fields will automatically appear in your testing panel to let you pass test values.
Testing panel showing dynamic variable inputs
  • Phone Call: Enter your phone number to receive a live call from the agent. This allows you to experience agent behavior over a real cellular network.
Pro Tip: After completing a test call, check the post-call data. This lets you verify that data extraction is functioning correctly.

API Reference

This section documents the HTTP API for managing agents.

Endpoints

  • List agents: GET /api/v1/agents
  • Get agent: GET /api/v1/agents/{id}
  • Create agent: POST /api/v1/agents
  • Update agent: PATCH /api/v1/agents/{id}
  • Update status: PATCH /api/v1/agents/{id}/status
  • Delete agent: DELETE /api/v1/agents/{id}
  • Disconnect Cal.com: POST /api/v1/agents/{id}/disconnect-calcom
  • Disconnect tools: POST /api/v1/agents/{agent_id}/disconnect-tools

Examples

List agents Request:
Response:

List agent response fields

Agent object: Post-call analysis item: Call stats: Campaign stats: Meta object: Get agent Request:
Response:
Create agent Request (example payload):
Response:
Update agent Request:
Response:
Update status Request:
Response:
Delete agent Request:
Response: 200 OK with empty body {} Disconnect Cal.com Request:
Response: {} Disconnect tools Request:
Response:

Tools API

Manage reusable tools (org-level or agent-scoped) used by agents.

Endpoints

  • List tools: GET /api/v1/tools
  • Get tool: GET /api/v1/tools/{id}
  • Create tool: POST /api/v1/tools
  • Update tool: PATCH /api/v1/tools/{id}
  • Delete tool: DELETE /api/v1/tools/{id}
  • Duplicate tool: POST /api/v1/tools/{id}/duplicate
  • Toggle tool: PATCH /api/v1/tools/{id}/toggle
  • Bulk-remove from agent: DELETE /api/v1/agents/{agent_id}/tools
JSON uses camelCase; unpopulated fields are omitted. AgentTool example shape:

Examples

List tools (optionally scoped to an agent) Request:
Response:
Get tool Request:
Response:
Create tool Request (CreateAgentToolRequest):
Response:
Update tool Request:
Response:
Delete tool Request:
Response: 200 OK with empty body {} Duplicate tool Request:
Response:
Toggle tool Request:
Response:
Bulk-remove tools from an agent Request (X-Api-Key protected):
Response: 200 OK with empty body {}