Agents
Voice AI agent configuration and behavior
Agents
An Agent is a voice AI entity that can have conversations with users. Each agent has its own personality (prompt), voice, and capabilities (tools).
Agent Configuration
{
"name": "meal-agent",
"display_name": "Meal Logging Agent",
"config": {
"prompt": {
"system": "You are a friendly health coach helping users log their meals...",
"greeting": "Hi {{user_name}}! What did you have for {{meal_type}}?",
"variables": [
{ "name": "user_name", "default": "there" },
{ "name": "meal_type", "default": "your meal" }
]
},
"stt": { "provider": "deepgram", "model": "nova-2" },
"tts": { "provider": "cartesia", "voice_id": "..." },
"llm": { "provider": "gemini", "model": "gemini-2.0-flash-exp" },
"tools": ["save_meal", "get_meal_suggestions"],
"handoffs": [
{ "target_agent": "glucose-agent", "conditions": ["meal_logged"] }
]
}
}Prompt System
System Prompt
The core personality and instructions for the agent.
Greeting
The first thing the agent says when activated. Supports variable interpolation.
Variables
Dynamic values that can be injected into prompts from the call context.
Provider Configuration
Each agent can specify which providers to use:
- STT (Speech-to-Text): Deepgram, Sarvam
- TTS (Text-to-Speech): Cartesia, Sarvam
- LLM (Language Model): Gemini, OpenAI
- VAD (Voice Activity Detection): Silero
If not specified, the agent inherits from tenant defaults.
Tools
Tools are functions the agent can invoke during conversation. See Tools for details.
Handoffs
Agents can transfer conversations to other agents based on conditions. See Workflows for multi-agent orchestration.