AUTOPILOT. Its configuration has two parts: the
agent itself, sent as intelligence.config, and the application fields around it, such as
speech, recording, amd and the fallback. For a guided walk through these settings, see
Build an Autopilot agent.
Fonoster checks the agent when you save it. Unknown fields are refused, and so are fields from 0.27,
with a message that says where each one moved. See Removed fields.
The agent
The agent has three top-level keys.
In a CLI agent file (
--agent agent.yaml), these keys are at the top of the file. With the SDK,
they go in intelligence.config. The eval file that fonoster applications:eval reads is
different: it nests the agent and its testCases under intelligence.config. See
Test your agent.
Conversation settings
string
required
Instructions the model gets on every turn. The caller never hears it.
string
What the agent says when the call connects. Leave it out to let the caller speak first.
string
required
What the agent says before it hangs up: when the model uses the
hangup tool, when the caller
stays silent too long, or when the call reaches maxSessionDuration. The caller can’t
interrupt it.string
required
What the agent says when the model can’t be reached or a reply fails.
boolean
default:"true"
Whether the agent stops talking when the caller talks over it. See
Turn-taking and barge-in.
integer
default:"1800000"
The longest a call can last, in milliseconds. A positive integer. The default is 30 minutes. When
the call reaches it, the agent says the goodbye message and hangs up.
object
What the agent does when the caller goes quiet. Without it, the agent never prompts a silent
caller.
object
Turns on the built-in
transfer tool. See Give your agent tools.string
Keypad digits the agent sends when the call connects, before the first message. Only
0–9,
* and #.string
default:"normal"
How long the agent waits before it decides the caller has finished:
low, normal or high.
The agent sends its value only when it isn’t normal, so with normal the application’s
speech.patience applies. See Turn-taking and barge-in.string[]
Words that help speech recognition, such as names and brands. Up to 100 entries, none empty.
object
A sound played while the agent prepares a reply. The reply cuts it off.
string
A voice catalog ID that overrides the application’s
speech.voice for this agent.string
A language that overrides the application’s
speech.language for this agent, such as en-US.Language model
string
required
A catalog ID in the form
<provider>/<model>, such as openai/gpt-4o-mini. It must match
^[a-z0-9-]+/.+. Live calls run models with an OpenAI-compatible API. See
Providers and models.number
default:"0.4"
Sampling temperature, from
0 to 2. Lower is more consistent.integer
default:"400"
The longest reply the model can write in one turn. A positive integer.
object[]
default:"[]"
PDF documents the agent searches before each reply. See
Add a knowledge base.
Tools
Each entry inlanguageModel.tools is an HTTP tool. The built-in hangup and transfer tools
aren’t listed here. See Give your agent tools.
string
required
The tool’s name. The dashboard accepts letters, numbers,
_ and -, up to 64 characters, and
reserves hangup and transfer.string
required
What the tool does and when to use it. The model reads it.
object
required
The values the model fills in.
string
What the agent says while the tool runs.
object
required
The request Fonoster makes.
Test cases
testCases holds scenarios for Test your agent. They run outside calls and never
call your tool endpoints.
Removed fields
These 0.27 fields are refused with a message that names the replacement. See Migrate from 0.27.The application
These application fields apply to an Autopilot agent. Set them on the application with the SDK (createApplication, updateApplication) or with CLI flags.
string
required
The agent’s name, from 1 to 255 characters.
string
required
AUTOPILOT. Autopilot agents always use the fonoster protocol and need no url.Speech
string
default:"deepgram/aura-2-thalia-en"
The voice, as a catalog ID. It must be in the catalog and not retired. CLI:
--voice.string
default:"en-US"
The language the caller speaks and the agent answers in, from 2 to 64 characters. The voice must
speak it. CLI:
--language.string
The speech-to-text model, as a catalog ID, such as
deepgram/nova-3. CLI: --stt-model.string
The text-to-speech model, as a catalog ID, such as
elevenlabs/eleven_flash_v2_5. CLI:
--tts-model.string
low, normal or high. Applies when the agent’s own patience is normal. CLI:
--patience.integer
The base stretch of caller silence, in milliseconds, that the turn detector works from. From
100 to 120000. Leave it out to use the platform’s default. CLI: --silence-timeout.Recording
string
off, on or consent. Leave it out to follow the workspace’s policy. See
Record calls and ask for consent. CLI: --recording.Answering-machine detection
object
Off when unset. See Detect answering machines.
Fallback
When Fonoster can’t reach the agent, the call goes to the fallback application. If there is none, or it can’t be reached either, the caller hears the fallback message and the call ends. Without a message, the call ends at once.string
The ref of another application in the same workspace. Up to 64 characters. An application can’t
be its own fallback. CLI:
--fallback-app.string
What the caller hears when no application answers, in the application’s voice. Up to 1000
characters. CLI:
--fallback-message.Full example
This creates an Autopilot agent with every group set, using the SDK:create-agent.js
agent.yaml