Skip to main content
An agent is the AI participant on the other end of a phone call. You configure it once, publish it, and assign it to a phone number — then it can place outbound calls or answer inbound ones autonomously.

Anatomy of an agent

Every agent has these layers:
LayerWhat it controls
VoiceTTS provider, voice ID, language, speed, emotion
LLMModel that drives the conversation (GPT-4o, GPT-4.1, Llama-3.3-70B, etc.)
STTSpeech-to-text model (Deepgram Nova, Gladia Solaria, AnyReach default)
InstructionsSystem prompt — purpose, personality, conversation flow, guardrails
Knowledge basesVector indexes the agent retrieves from to answer factual questions
ToolsActions the agent can take during a call (transfer, send DTMF, run a workflow, query a KB)
Phone numbersNumbers assigned to this agent for inbound routing

The seven configuration sections

The agent edit page is structured as a wizard with seven sections you fill in order:
  1. Purpose & Personality — industry, purpose, personality, language, voice
  2. Agent Instructions — opening line, conversation flow, closing
  3. Rules & Boundaries — guardrails, what the agent must never do
  4. Knowledge — knowledge bases attached
  5. Abilities — tools (workflows, transfers, KB lookups, etc.)
  6. Advanced Instructions — fine-grained prompt overrides
  7. Deployment — phone numbers, publishing, SIP
You don’t have to fill every section. Defaults are sensible for most fields.

Versioning

Agents are versioned. Edits modify a draft version. Calls always use the latest published version. Click Publish when you’re satisfied with your changes — the new version takes effect on the next call. You can roll back to a prior version from the version history panel.

Lifecycle

draft → tested in simulator → published → assigned to number → live
A published agent without a phone number assignment exists but won’t receive calls. A draft can be tested in the simulator, but won’t take real calls.