Skip to main content

The system prompt is everything

Your agent’s system_prompt is the complete definition of how the call will go. The AI receives nothing else — no product docs, no account history, no implicit context. Everything the AI knows and everything it says comes from this prompt. A well-written prompt produces calls that are on-brand, on-topic, and reliably structured. A vague prompt produces inconsistent calls that drift off topic.

Rule 1 — Always define the opening line

The most common mistake is writing a prompt that explains the agent’s role but doesn’t tell it what to say when the call connects. When a call is picked up, the AI needs to speak first. If you don’t tell it exactly what to say, it will improvise — and that improvisation is often awkward.
Be explicit. Include the exact phrasing. Use {{recipient_first_name}} to personalise the greeting.

Rule 2 — Define scope boundaries

Tell the agent what it should and should not handle. Without this, the AI will attempt to answer anything a caller asks — often poorly.
Explicit “do not” instructions are more reliable than vague “focus on” instructions.

Rule 3 — Use {{context}} for per-call nuance

The context field lets you pass runtime information into the call without hardcoding it into the agent.
System prompt
Notification request
This keeps your agent generic while allowing each call to be personalized.

Rule 4 — End the call explicitly

Tell the agent when and how to end the call. Without this, calls can drag on or end abruptly.

Rule 5 — One question at a time

If your agent collects information, instruct it to ask one question at a time. Asking multiple questions in one turn overwhelms callers and leads to partial answers.

Using output_schema as a guide

If your agent has an output_schema, reference the fields in the prompt so the AI knows what to collect:
Describing the expected output in the prompt leads to more reliable extraction.

Full prompt example

Here’s a complete, production-quality prompt for an appointment confirmation agent:

Prompt checklist

Does the prompt include the exact words the AI should say when the call connects? Is {{recipient_first_name}} used for personalization?
Does the prompt explicitly say what the agent should and should not handle?
What should the agent do if the caller doesn’t answer, hangs up, or asks something off-topic? These paths should be defined.
Does the prompt tell the agent exactly when and how to end the call?
Every {{token}} in the prompt (except built-ins) must be passed in variables at notification time. Check that all tokens are covered.
If you have an output_schema, does the prompt tell the agent what information to collect?