Skip to main content
A prompt for a phone call is not a prompt for a chat window. The caller can’t scroll back, skim a list or click a link. They hear one sentence at a time, they interrupt, and speech recognition sometimes gets their words wrong. This guide shows how to write the system prompt and the fixed messages for that.

Before you begin

You need an Autopilot agent. See Build an Autopilot agent.

Know who says what

Only the system prompt goes to the model. The other messages are fixed text that Fonoster speaks for the agent at set moments: This changes how you write the prompt:
  • Don’t greet in the prompt. The first message already did, and the model sees it in the history.
  • Don’t say goodbye before hanging up. When the model calls hangup, the goodbye message plays. If the model also says goodbye, the caller hears it twice. Tell the model to hang up, not to say goodbye.
  • Don’t announce a transfer. The transfer message covers it.

Structure the prompt

Use short sections with headings. The model follows them more reliably than one long paragraph, and you can find what to change later. This shape works for most agents:
Keep it as short as it can be. Every line competes for the model’s attention, and a long prompt slows the first reply.

Write for the ear

1

Keep replies short

Ask for one or two sentences per reply, and one question at a time. A caller can’t hold a three-part question in their head.
2

Put the important part first

Callers interrupt. When they do, the agent stops, and the model only remembers the part the caller heard. Lead with the answer, then the detail.Instead of “Thanks for waiting, I looked into it, and it seems your order shipped Tuesday,” the agent should say “Your order shipped Tuesday.”
3

Write the way people speak

The voice reads every character. Tell the model not to use formatting that only makes sense on a screen:
4

Plan for mishearings

Speech recognition can get names, numbers and accents wrong. Tell the model to confirm what matters and ask again when something doesn’t make sense:
If callers often say a name or brand that’s misheard, add it to the agent’s hints. See Build an Autopilot agent.
5

Stick to one language

Write the prompt in the language your callers speak, or say which language to answer in. The agent’s voice and transcriber must match that language.

Tell the model when to use tools

The model picks a tool from its name, its description and your prompt. Be explicit about when to use each one, and what to do when it fails.
Write each tool’s description as an instruction: what it does and when to use it. Give it a requestStartMessage, such as “One moment while I check that,” so the caller doesn’t hear silence while it runs. Smaller models need more explicit tool instructions than larger ones, so test your tools with the model you deploy. See Give your agent tools.

Keep it honest

An agent that makes something up on a call is worse than one that says it doesn’t know.
If your agent has a knowledge base, tell it to answer from the information it’s given and to say so when that information doesn’t cover the question.

Tune the model settings

  • Temperature. Keep it low, around the default 0.4, so the agent answers the same question the same way.
  • Max tokens. It caps the length of one reply. The default 400 is plenty for short spoken answers. Don’t set it so low that replies stop mid-sentence.

A complete example

This prompt puts the advice together for a receptionist that looks up orders and transfers to a person:

Test every change

A change that fixes one call can break another. Write test cases for the calls that matter, and run them after every prompt change. See Test your agent. The prompt and the fixed messages are listed in Autopilot configuration.

Next steps

Test your agent

Check your prompt with scripted conversations.

Turn-taking and barge-in

How the agent knows when the caller has finished.