Documentation menu

Build an agent

Agents

An agent is a prompt, a voice, and a set of capabilities — tools, a knowledge base, appointment booking, transfer — that every call routed to it shares.

Core fields

namestringrequired

Internal label. Callers never hear it.

systemPromptstringrequired

Who the agent is and how it behaves. Everything else in this page layers on top of it.

openingMessagestringrequired

The first thing said on the call. Runs through merge fields (below) before it's spoken.

languagestring

en, or a language code (es, fr, hi, ...), or multi to reply in whatever language the caller used last.

interruptSensitivity'patient' | 'balanced' | 'snappy'

How readily the caller can talk over the agent mid-sentence.

voiceEngine'classic' | 'deepgram_agent' | 'sarvam'

Which speech/LLM pipeline runs the call — see Voice engines.

Merge fields

The opening message — and the system prompt — can reference the lead being called with {{name}}, {{phone}}, {{email}}, or any custom field a lead carries, e.g. {{plan}} for a field named plan. A tag with no matching value on that lead is stripped rather than spoken literally — a greeting reading thanks for calling, {{company}} is delivered as “thanks for calling,” rather than the raw tag, so it’s worth testing a template against a lead that’s actually missing the field.

Appointment booking

Turning on appointmentBookingEnabled gives the agent four built-in capabilities it can use mid-call without any tool configuration: listing a caller’s existing appointments, checking available slots, booking one, and cancelling one. It reads and writes the same Appointment records the dashboard’s Appointments page shows.

Handing over to a person

Set a transferNumber and the agent can move a live call to it — the caller asking for a human, sounding upset, or the conversation going somewhere outside what the prompt covers. It always says a short handover line first; the call moves only once that line has finished playing, never in silence.

What else an agent can carry

  • Tools — HTTP calls before, during or after a call. See Tools.
  • A knowledge base — reference material it can search mid-call. See Knowledge base.
  • A phone number — outboundPhoneNumber, which also decides which agent an inbound call to that number reaches.
Tip
Every one of these is editable after creation, and a change takes effect on the very next call — nothing about an agent needs republishing or a deploy step.