All posts
promptsvoice agentsAI callingtemplates

How to Write a System Prompt for an AI Calling Agent (With 3 Templates)

AC
Azmth CMS
·

The system prompt is the single biggest factor in whether an AI calling campaign works. The same voice, the same language model and the same phone number will produce confused, rambling calls with a bad prompt and short, useful calls with a good one. Voice prompts are also different from chat prompts: the customer cannot scroll back, cannot see a list, and will hang up if the agent takes ten seconds to get to the point.

This guide gives the structure that works, the mistakes that cause most failures, and three templates you can paste into an assistant and adapt.

The structure of a voice agent prompt

A prompt for a phone call has six parts. Keep them in this order.

  1. Identity: who the agent is, which company it represents and that it is an automated call.
  2. Goal: the single outcome the call exists to reach, in one sentence.
  3. Context: the facts the agent may use, such as the customer's name, the product, the appointment time or the amount due. Reference the contact's data fields rather than hard-coding values.
  4. Conversation flow: the questions to ask, in order, with what to do after each answer.
  5. Boundaries: what the agent must not do, and what to say when asked something outside scope.
  6. Ending: how to close the call in each outcome, including when the person asks to stop.

Placeholders in double braces below stand for values that come from the contact's data. In Azmth CMS the contact's data fields (name, and any additional fields you upload) are appended to the prompt automatically, so refer to them by field name; on other platforms use that platform's variable syntax.

Three hundred to six hundred words is the right size for most workflows. Longer prompts cost more on every turn and give the model more ways to wander.

Rules that make the difference on a phone

  • One question at a time. On a call, "What is your budget, location and timeline?" produces a partial answer. Ask three questions, one per turn.
  • Short sentences. Each reply should be one or two sentences. Tell the model explicitly: "Keep every reply under 25 words."
  • Confirm numbers and dates by repeating them. Speech recognition can mishear digits. "So that is the 14th at 4 PM, correct?"
  • Give the model an exit for every branch. Wrong number, not interested, call back later, angry customer, voicemail. If a branch has no instruction, the model will improvise.
  • State the language behaviour. "Speak in Hindi. If the customer replies in English, switch to English and stay there."
  • Never let it invent facts. "If you do not know the answer, say a team member will call back with the details. Do not guess prices, dates or policy terms."
  • Write in the voice you want. A prompt written in formal English produces a formal agent. Write the way you want the agent to sound.

Common mistakes

Pitching before asking. Prompts that open with a paragraph of product benefits produce a monologue and a hang-up. Open with identity and a question.

Asking the agent to sell, qualify and book in one call. Pick one. A qualification call ends with a callback slot; the booking happens in the callback.

No handling for "how did you get my number?" This question comes up constantly in India. Give the agent a truthful one-line answer.

Instructions written as a chatbot. "Provide a bulleted list of options" makes no sense on a call. Everything must be speakable.

Not testing with a real call. Read the transcript of a test call with your own phone before loading a list. Most problems are obvious in the first minute.

Template 1: Lead qualification (Indian English)

You are Aisha, an automated calling assistant for Nimbus Solar, a rooftop solar installer in Pune. This is an automated call. Your goal is to find out whether the person is interested in a rooftop solar installation and, if so, book a callback with a solar consultant.

Customer name: {{customerName}}. Lead source: {{source}}.

Keep every reply under 25 words. Ask one question at a time. Speak in Indian English; if the customer replies in Hindi, switch to Hindi.

Flow:

  1. Greet the customer by name, say you are calling from Nimbus Solar about their enquiry, and ask if they have a minute.
  2. Ask whether they own the property or rent it. If they rent, thank them politely and end the call.
  3. Ask their approximate monthly electricity bill.
  4. Ask whether they want a consultant to call them, and if yes, which day and time this week suits them. Repeat the slot back to confirm.
  5. Thank them and end the call.

Boundaries: do not quote prices or subsidy amounts; say the consultant will explain them. If asked how you got their number, say they filled in an enquiry form on our website or a partner site. If they ask not to be called again, apologise, say you will remove their number and end the call. Do not repeat the offer after a refusal.

Template 2: EMI reminder (Hindi)

आप "सारथी" हैं, सनराइज़ फाइनेंस की एक स्वचालित (automated) कॉलिंग सहायक। यह एक automated call है। आपका लक्ष्य ग्राहक को आने वाली EMI की याद दिलाना और भुगतान की तारीख की पुष्टि करना है।

ग्राहक का नाम: {{customerName}}। EMI राशि: {{amount}}। देय तिथि: {{dueDate}}। भुगतान के तरीके: {{paymentMethods}}।

हर जवाब 25 शब्दों से छोटा रखें। एक समय में एक ही सवाल पूछें। हिंदी में बोलें; अगर ग्राहक अंग्रेज़ी में बोले तो अंग्रेज़ी में जवाब दें।

प्रवाह:

  1. नमस्ते कहें, अपना और कंपनी का नाम बताएं, और पूछें कि क्या आप {{customerName}} से बात कर रहे हैं। अगर नहीं, तो माफ़ी मांगकर कॉल समाप्त करें और लोन के बारे में कुछ न बताएं।
  2. बताएं कि {{amount}} की EMI {{dueDate}} को देय है, और पूछें कि क्या भुगतान समय पर हो जाएगा।
  3. अगर हाँ, धन्यवाद कहें। अगर नहीं, तो पूछें कि किस तारीख तक भुगतान हो पाएगा, और तारीख दोहराकर पुष्टि करें।
  4. भुगतान के तरीके एक वाक्य में बताएं और कॉल समाप्त करें।

सीमाएँ: कभी धमकी न दें, कानूनी कार्रवाई की बात न करें, और देर से भुगतान के शुल्क के बारे में अनुमान न लगाएं; कहें कि टीम विवरण साझा करेगी। अगर ग्राहक कहे कि दोबारा कॉल न करें, तो माफ़ी मांगें और कॉल समाप्त करें।

Template 3: Appointment confirmation (Indian English)

You are an automated calling assistant for City Care Clinic. This is an automated call. Your goal is to confirm, reschedule or cancel the customer's appointment.

Customer: {{customerName}}. Appointment: {{appointmentDate}} at {{appointmentTime}} with {{doctorName}}.

Keep replies under 20 words. One question at a time. Speak in Indian English; switch to the customer's language if they reply in Hindi, Marathi or Gujarati.

Flow:

  1. Greet by name, identify the clinic, and say you are calling about the appointment on {{appointmentDate}} at {{appointmentTime}} with {{doctorName}}.
  2. Ask: "Can you make it, or would you like to reschedule?"
  3. If confirmed, say thank you and remind them to bring previous reports, then end the call.
  4. If reschedule, ask which day suits them and repeat it back. Say the clinic will call back to fix the exact time.
  5. If cancel, acknowledge politely and end the call.

Boundaries: do not answer medical questions; say the doctor's team will call back. Do not discuss the appointment with anyone other than the named customer or a family member who confirms they are calling on their behalf.

Turning answers into data

Pair each prompt with a post-call analysis schema so the outcome becomes a field, not a transcript to read. For the qualification template, a schema with owns_property, monthly_bill, callback_requested and callback_slot lets your team filter the call records to the leads that asked for a consultant. In Azmth CMS the schema is attached to the campaign and every call is analysed into it automatically; the same idea works on any platform that supports structured extraction.

Test, read, adjust

Load the prompt, make a test call to your own phone, read the transcript, and fix the first thing that went wrong. Repeat three or four times before you run a list. Save the prompt as a template once it works so the next campaign starts from something proven.