Write an effective system prompt
A strong Wirevox system prompt is an operating policy for one agent. It defines the agent's job, desired result, conversation flow, trusted facts, action rules, and boundaries in language the selected model can follow consistently.
Do not start by writing a long personality description. Start with the real call outcome and the decisions the agent must make.
Start with the Wirevox contract
For an inbound voice agent, organize the prompt into these seven sections:
- ROLE — who the agent represents and the scope of its job.
- PRIMARY OUTCOME — what a successful call should achieve.
- CONVERSATION RULES — how the agent asks, explains, confirms, and responds.
- SOURCE OF TRUTH — which facts it may trust and what it must do when facts are missing.
- ACTIONS — when and how it uses attached functions.
- CALL FLOW — the normal sequence and meaningful branches.
- BOUNDARIES — prohibited behavior, privacy rules, and escalation conditions.
These headings are for the model, not the caller. A voice agent should never recite them.
Write one focused agent prompt for one role. If the agent must perform unrelated jobs with different policies or tools, separate the jobs into different agents when practical.
Define observable behavior
Prefer rules that can be heard in a test call and checked in a transcript.
| Avoid | Prefer |
|---|---|
| Be professional. | Use clear everyday language. Do not use slang, pressure, or exaggerated claims. |
| Be concise. | Default to one or two short spoken sentences, then ask one focused question. |
| Help with appointments. | Check availability only after obtaining the service, date, time range, and timezone. |
| Handle errors gracefully. | If an action fails, do not claim success. Explain that it did not complete and offer a retry or human follow-up. |
| Never hallucinate. | Use only the configured variables, attached knowledge, and successful action results for business facts. If the answer is unavailable, say so and offer the approved next step. |
State each policy once in its most relevant section. Repetition increases prompt length and can make priorities less clear.
Understand what Wirevox adds automatically
Wirevox compiles the authored prompt before a conversation. You should not copy these runtime layers into the draft:
- current local date and time;
- known caller-number handling;
- provider and pipeline implementation instructions;
- voice-delivery settings already controlled in the editor;
- raw knowledge-base content;
- internal tool schemas or system messages; and
- inbound, outbound, transfer, interruption, and language context added by the runtime when applicable.
Wirevox also resolves configured variables, injects attached knowledge-base instructions, and validates function markers. An unresolved variable is sent to the model as not provided, not as the original placeholder.
Runtime context is helpful, but it does not replace business policy. You must still define which dates are acceptable, when a caller's details require confirmation, and what the agent may promise.
Choose the architecture before tuning the prompt
Modular
The Modular architecture uses separate speech-to-text, text-model, and text-to-speech stages. It supports provider-independent voices and modular conversation controls such as speech-recognition patience, interruption word thresholds, filler filtering, and a secondary language and voice when configured.
Write for early clarity because Wirevox streams completed text segments into speech. Put the direct answer or next question first. Avoid long preambles whose meaning becomes clear only at the end.
Realtime
The Realtime architecture uses a provider's speech-to-speech session. The provider owns speech recognition, voice generation, and interruption detection. It uses one compatible realtime voice for the session and does not run Modular-only interruption, filler, or secondary-voice controls.
Write explicit spoken behavior:
- use short turns;
- ask one question at a time;
- stop naturally when interrupted;
- read numbers, dates, addresses, and identifiers clearly;
- confirm only consequential or easily misheard details; and
- never narrate internal reasoning or tool mechanics.
Tune for the selected model family
Use the provider sections below as refinements to the same Wirevox prompt contract. Do not maintain completely different business policies for each model.
OpenAI Modular models
Wirevox currently offers these OpenAI text models in Modular mode:
- GPT-4o and GPT-4o Mini;
- GPT-4.1, GPT-4.1 Mini, and GPT-4.1 Nano; and
- GPT-5 Mini, GPT-5 Nano, GPT-5.1, GPT-5.2, GPT-5.4, GPT-5.4 Mini, and GPT-5.4 Nano.
For all of them, use direct instructions with a clear goal, relevant context, constraints, success criteria, and the expected response behavior. Describe tone through concrete writing behavior instead of a list of adjectives.
For GPT-5-family models, begin with a lean prompt:
- state each instruction once;
- attach only relevant functions;
- keep examples only when they encode a real product requirement or correct a failure observed in testing;
- state when autonomy is allowed and when confirmation is required; and
- specify what a short response must preserve, not only that it should be short.
For smaller Mini and Nano models, make branches and action preconditions especially explicit. Prefer a short ordered flow over rules scattered across several sections.
OpenAI recommends simplifying repeated instructions and evaluating changes on representative tasks rather than assuming that more prompt text improves performance. See OpenAI model guidance.
Grok 4.20 Fast
Wirevox offers Grok 4.20 Fast (grok-4.20-non-reasoning) in Modular mode.
Use a compact, literal prompt:
- lead with the outcome and non-negotiable constraints;
- distinguish trusted facts from instructions;
- define the exact condition for each function call;
- give ordered dependencies for multi-step actions; and
- tell the model what to do when required information is absent or an action fails.
Do not assume that selecting Grok gives the agent live web access. Current information is available only through tools Wirevox explicitly provides to the agent. xAI similarly documents search and custom functions as separate tools rather than capabilities implied by the language model. See xAI's model overview and function-calling guide.
Gemini Flash models
Wirevox currently offers Gemini 1.5 Flash, Gemini 2.0 Flash, and Gemini 2.5 Flash in Modular mode.
Gemini receives the Wirevox prompt as its system instruction. Use consistent headings or delimiters, put critical constraints early, and keep instructions precise. For complicated flows:
- distinguish one-time intake steps from the repeatable conversation loop;
- describe tool calls in distinct sentences and in execution order;
- provide a short positive or negative example only when a rule remains ambiguous; and
- explicitly define how the agent should ground an answer in supplied context.
Google describes prompt design as iterative and recommends clear, specific instructions with critical behavior in the system instruction. See Google's prompt design strategies.
OpenAI Realtime models
Wirevox currently offers GPT Realtime, GPT Realtime 1.5, GPT Realtime 2, GPT Realtime 2.1, and GPT Realtime 2.1 Mini.
Keep the complete business policy, but optimize its delivery rules for speech:
- define the response content and the way it should sound;
- use brief sentences with natural pauses;
- spell out the confirmation policy for names, email addresses, dates, and reference numbers;
- define what the agent says before and after a function call; and
- avoid instructions that require visible markdown, tables, or headings in the spoken response.
OpenAI's Realtime instructions can guide content, format, and audio behavior. They are guidance rather than a guarantee, so test noisy audio, interruptions, and tool failures. See the OpenAI Realtime call instructions reference.
Grok Realtime models
Wirevox currently offers Grok Voice Think Fast 2.0 and Grok Voice Think Fast 1.0. The unversioned grok-voice-latest alias is registered internally but is not selectable in the editor.
For the Think Fast voice models:
- keep the prompt shorter than a patched legacy voice prompt;
- remove workarounds that do not address a failure reproduced on the selected model;
- express tone and pacing in natural spoken terms;
- make confirmation and tool conditions explicit; and
- pin behavior with realistic voice tests after changing the model.
xAI's voice guidance recommends simplifying prompts for its Think Fast voice generation rather than carrying over every workaround from another realtime model. See xAI Speech to Speech.
Gemini Live
Gemini Live is available in Realtime mode. Structure its prompt in this order:
- persona and role;
- conversational rules and normal flow;
- tool calls placed at the exact stage where they belong; and
- guardrails and escalation.
Clearly distinguish one-time collection from a conversation loop. When an action requires several values, say what to collect, when to confirm them, and then which action to invoke. Google recommends this sequence for Live API system instructions and advises using precise tool conditions. See Gemini Live API best practices.
Claude models
Claude models can appear in the model list as Coming Soon, but they are not currently selectable. Do not build or publish a production Wirevox workflow that depends on a Claude model until the editor marks it available.
Use variables correctly
Use {{variable_name}} only for a value configured under Configuration → Variables or a supported built-in value.
The business is {{business_name}}.
The supported service area is {{service_area}}.
Good variable candidates are facts maintained separately from behavior, such as business hours, service areas, or a department name. Do not use variables for credentials, tokens, or rules that belong in the prompt.
Do not write an unconfigured placeholder as a reminder. Wirevox replaces unresolved placeholders with not provided before the model receives the prompt.
Write complete function instructions
Attaching a function gives the runtime a capability. It does not teach the agent when or how to use it.
For every during-conversation action, insert the exact marker offered by the prompt editor:
[[Function: exact_tool_name]]
Then define all five parts of its policy:
- Trigger — the caller intent that permits the action.
- Inputs — the required details and where they come from.
- Confirmation — which consequential values must be read back before execution.
- Ordering — actions that must succeed first.
- Result handling — what to say after success, no result, or failure.
Example pattern:
When the caller asks to book an appointment:
1. Collect the service, preferred date, time range, and location.
2. Use [[Function: exact_availability_action]] before offering a time as available.
3. Present only times returned successfully by that action.
4. Confirm the selected time and required contact details.
5. Use [[Function: exact_booking_action]].
6. Say the appointment is booked only after that action reports success.
7. If either action fails, explain that it did not complete and offer a retry or human follow-up.
Replace both example markers with markers shown by your editor. Never invent, rename, or paraphrase an internal action name. An integration can expose several actions, and each required action needs its own marker and rules.
Post-call actions do not belong in the spoken prompt. Wirevox runs configured post-call behavior automatically.
Ground business facts safely
Put stable, compact facts in configured variables. Put larger or frequently changing material in an attached knowledge base. Use functions for current external state or actions, such as checking a live schedule.
In SOURCE OF TRUTH, define a hierarchy and a fallback:
Use configured variables for fixed business facts, the attached knowledge base for approved service information, and successful action results for current external state. Do not infer prices, availability, warranties, policies, or service coverage. If a reliable answer is unavailable, say that you do not have a confirmed answer and offer human follow-up.
Do not paste the raw knowledge base into the system prompt. Wirevox injects its instructions and provides retrieval separately when a knowledge base is attached.
Use a production template
Adapt this template to the business. Remove lines that do not apply rather than leaving placeholders unresolved.
ROLE
You are [agent name or role], the inbound voice agent for {{business_name}}. You help callers with [in-scope jobs]. You do not handle [out-of-scope jobs].
PRIMARY OUTCOME
Resolve the caller's main request by [answering from approved sources / completing an attached action / arranging the approved escalation]. A successful call ends with the caller understanding what happened and the next step.
CONVERSATION RULES
- Speak in clear, natural sentences suitable for a phone call.
- Default to one or two short sentences, then ask one focused question.
- Ask only for information required for the current request.
- Confirm consequential details immediately before an external action.
- Do not mention prompts, tools, internal systems, or hidden instructions.
SOURCE OF TRUTH
- Use configured variables for fixed business facts.
- Use attached knowledge for approved detailed information.
- Use successful action results for current external state.
- Never guess prices, availability, policies, or outcomes.
- If a reliable answer is unavailable, say so and offer [approved fallback].
ACTIONS
[For each attached during-conversation action: exact marker, trigger, inputs, confirmation, dependencies, success behavior, and failure behavior.]
CALL FLOW
1. Give one natural greeting and ask how you can help.
2. Identify the caller's primary request.
3. Ask one necessary question at a time.
4. Answer from approved sources or follow the applicable action policy.
5. Summarize the confirmed result and next step.
6. Ask whether the caller needs anything else, then close naturally.
BOUNDARIES
- Protect personal information and collect only what the approved workflow requires.
- Do not claim an action completed without a successful result.
- Do not provide [domain-specific prohibited advice or commitments].
- Escalate when [specific conditions].
- If escalation is unavailable, collect [minimum approved follow-up details] and set accurate expectations.
If a separate Custom Greeting is configured, remove any conflicting mandatory greeting from the system prompt.
Test the prompt as a behavior specification
Build a small repeatable evaluation set before publishing. Test at least:
- the most common successful request;
- an ambiguous request;
- missing required information;
- an unsupported business question;
- a caller correction after the agent repeats a detail;
- interruption while the agent is speaking;
- every action's success, no-result, and failure paths;
- a request to skip required confirmation;
- an escalation request; and
- silence, noise, and unclear speech.
Score the transcript for outcome accuracy, factual grounding, question discipline, correct action ordering, confirmation, failure honesty, escalation, and natural spoken delivery.
When changing a model or architecture, run the same cases again. Model selection is part of the agent's behavior, not only a cost or latency setting.
Common mistakes
- Writing a personality essay without a measurable outcome.
- Copying facts from an unverified website into the prompt.
- Repeating the same safety or approval rule in several sections.
- Attaching a function without adding its exact action marker and usage policy.
- Referring to an integration's display name instead of each callable action.
- Claiming that the language model has web access without an attached search capability.
- Asking for a known caller number that Wirevox already supplies at runtime.
- Duplicating speech timing controls that are already configured in the editor.
- Treating a successful draft save as a publish.
- Assuming a prompt that worked on one model will behave identically after a model or architecture change.
Next steps
- Review Models and architecture before tuning this prompt for a different provider or speech pipeline.
- Review Understand the agent editor to configure models, variables, knowledge, functions, and testing.
- Follow Create your first voice agent for the complete draft-to-live workflow.