elevenlabs · Schema
ElevenLabs Conversational AI Agent
Represents a conversational AI agent in the ElevenLabs platform, including its configuration for voice, language model, tools, and knowledge base.
Properties
| Name | Type | Description |
|---|---|---|
| agent_id | string | Unique identifier for the conversational AI agent. |
| name | string | Display name of the agent. |
| conversation_config | object | |
| metadata | object | Custom metadata key-value pairs associated with the agent. |
| tools | array | List of tools the agent can invoke during conversations. |
| knowledge_base | array | Knowledge base documents available to the agent for answering questions. |
| created_at | string | Timestamp when the agent was created. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://elevenlabs.io/schemas/elevenlabs/agent.json",
"title": "ElevenLabs Conversational AI Agent",
"description": "Represents a conversational AI agent in the ElevenLabs platform, including its configuration for voice, language model, tools, and knowledge base.",
"type": "object",
"required": ["agent_id"],
"properties": {
"agent_id": {
"type": "string",
"description": "Unique identifier for the conversational AI agent."
},
"name": {
"type": "string",
"description": "Display name of the agent.",
"minLength": 1,
"maxLength": 200
},
"conversation_config": {
"$ref": "#/$defs/ConversationConfig"
},
"metadata": {
"type": "object",
"description": "Custom metadata key-value pairs associated with the agent.",
"additionalProperties": {
"type": "string"
}
},
"tools": {
"type": "array",
"description": "List of tools the agent can invoke during conversations.",
"items": {
"$ref": "#/$defs/AgentTool"
}
},
"knowledge_base": {
"type": "array",
"description": "Knowledge base documents available to the agent for answering questions.",
"items": {
"$ref": "#/$defs/KnowledgeBaseDocument"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the agent was created."
}
},
"$defs": {
"ConversationConfig": {
"type": "object",
"description": "Full configuration defining the agent's conversational behavior.",
"properties": {
"agent": {
"type": "object",
"description": "Agent behavior and personality configuration.",
"properties": {
"prompt": {
"type": "object",
"description": "System prompt configuration.",
"properties": {
"prompt": {
"type": "string",
"description": "The system instructions that define agent behavior, personality, and conversation goals."
}
}
},
"first_message": {
"type": "string",
"description": "The initial greeting or message the agent sends when a conversation starts."
},
"language": {
"type": "string",
"description": "The primary language for the agent in ISO 639-1 format."
}
}
},
"tts": {
"type": "object",
"description": "Text-to-speech configuration for the agent's voice output.",
"properties": {
"voice_id": {
"type": "string",
"description": "The voice identifier used for the agent's speech."
},
"model_id": {
"type": "string",
"description": "The TTS model used for speech synthesis."
},
"voice_settings": {
"type": "object",
"description": "Voice settings overrides for the agent.",
"properties": {
"stability": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"similarity_boost": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
},
"stt": {
"type": "object",
"description": "Speech-to-text configuration for processing user audio input.",
"properties": {
"model_id": {
"type": "string",
"description": "The STT model used for transcription."
}
}
},
"llm": {
"type": "object",
"description": "Language model configuration for generating conversation responses.",
"properties": {
"model_id": {
"type": "string",
"description": "The language model identifier."
},
"temperature": {
"type": "number",
"description": "Controls randomness in the model's responses. Lower values produce more deterministic output.",
"minimum": 0,
"maximum": 2,
"default": 0.7
},
"max_tokens": {
"type": "integer",
"description": "Maximum number of tokens in the model's response.",
"minimum": 1
}
}
},
"turn_detection": {
"type": "object",
"description": "Configuration for detecting when the user has finished speaking.",
"properties": {
"mode": {
"type": "string",
"description": "The turn detection mode.",
"enum": ["server_vad", "manual"]
},
"silence_duration_ms": {
"type": "integer",
"description": "Duration of silence in milliseconds before the system determines the user has finished speaking.",
"minimum": 100
}
}
}
}
},
"AgentTool": {
"type": "object",
"description": "A tool that the agent can invoke during conversations to access external services or data.",
"required": ["tool_id", "name", "type"],
"properties": {
"tool_id": {
"type": "string",
"description": "Unique identifier for the tool."
},
"name": {
"type": "string",
"description": "Display name of the tool."
},
"type": {
"type": "string",
"description": "The type of tool integration.",
"enum": ["webhook", "mcp", "client"]
},
"description": {
"type": "string",
"description": "Description of what the tool does, used by the LLM to determine when to invoke it."
},
"webhook_url": {
"type": "string",
"format": "uri",
"description": "The endpoint URL for webhook-type tools."
},
"parameters": {
"type": "object",
"description": "JSON Schema defining the parameters the tool accepts."
}
}
},
"KnowledgeBaseDocument": {
"type": "object",
"description": "A document in the agent's knowledge base used to provide context for answering questions.",
"properties": {
"document_id": {
"type": "string",
"description": "Unique identifier for the knowledge base document."
},
"name": {
"type": "string",
"description": "Display name of the document."
},
"type": {
"type": "string",
"description": "The source type of the document.",
"enum": ["file", "url", "text"]
},
"source_url": {
"type": "string",
"format": "uri",
"description": "URL source for the document, if type is url."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp when the document was added to the knowledge base."
}
}
}
}
}