Skip to main content
An agent encapsulates everything needed to run an AI assistant: a system prompt, an LLM, optional tools, an optional knowledge store, and an optional voice pipeline. You deploy agents across chat sessions, phone calls, and outbound call campaigns.

Create an agent

Define a new agent with a persona, LLM, and optional tools.

List agents

Paginate and search all agents in your organization.

Attach tools

Give your agent access to external APIs and server-side functions.

Enable voice

Add a TTS/STT pipeline for inbound and outbound phone calls.

Key concepts

  • modelId — selects the LLM powering the agent. Call GET /v1/chat/models to list available models.
  • role — the core persona instruction. Combined with systemPrompt to form the full system message.
  • voiceEnabled — set to true and specify voicePipelineMode to enable voice calls.
  • tools — an array of { toolId } objects. The LLM calls these autonomously based on the conversation.
  • subAgents — build multi-agent pipelines where the primary agent hands off to a specialized sub-agent.
  • knowledgeStoreId — attach a RAG knowledge store so the agent answers from your own content.

Agent lifecycle

Draft ──► Active ──► Inactive
                 ├── assigned to phone number
                 ├── used in chat sessions
                 └── deployed in call campaigns
Set isActive: false to pause an agent without deleting it. Archived agents retain all session history.

Versioning

The v2 endpoint (/v2/chat/agents) adds enriched sub-agent support and additional filter parameters. The v1 endpoint (/v1/chat/agents) remains available for listing but new agents should be created via v2.