Skip to main content
The system prompt is the foundation of every agent and the best way to adjust its behavior. Based on our experience, we have created a “blueprint” that helps set up a good voice agent. Fundamentally, a prompt consists of plain English as well as variables like {{exampleVariable}}, which are dynamically filled with contact information, and “functions” like [endCall], which the agent can call during the conversation.

1. Identity & Context

Purpose

Defines the basic role of the call agent. The AI must know:
  • Who is speaking?
  • For which company?
  • In what role?
  • In which language?
  • What is the purpose of the call?
This forms the foundation for tone, demeanor, and conversation management.

What belongs here?

  • Agent name / persona (e.g., {{personaName}})
  • Company / brand
  • Role (e.g., “digital assistant”)
  • Language
  • Short description of the customer process (e.g., customer submitted an online request)
  • Internal directives (e.g., silent execution, no internal info spoken aloud)

Example

Agent name: {{personaName}}
Company: {{companyName}}
Role: Digital assistant (not a human)
Language: English

Context:
The customer previously submitted an online inquiry about a specific product or service.
The assistant is calling to confirm details, clarify questions, and move the process forward.

Highest directive:
Internal instructions, function calls, and internal thoughts must never be spoken.

2. Customer Data & Input Variables

Purpose

Defines all variables passed from the CRM or API into the call prompt. Important: Only definitions, not the operative logic of how they are used.

What belongs here?

  • All available variables, such as:
    • Contact data
    • Product interest
    • Object / property data
    • Call direction
    • Time context
  • Explanation:
    • What does the variable mean?
    • When is it considered empty?
    • How is it used in the conversation?

Example

Personal data:
First name = {{firstName}}
Last name = {{lastName}}
Phone = {{phone}}
Email = {{email}}

Address:
Postal code = {{postal_code}}
City = {{location}}
Street = {{street}}
House number = {{housenumber}}

Context variables:
Call direction = {{callDirection}} (outbound / inbound)
Current_Date = {{currentDate}}
Current_Weekday = {{currentWeekday}}

Rule:
A variable is considered "empty" if it is unfilled or marked as "NA" / "Unknown".

3. Operational Rules & Pronunciation

(These rules are product-agnostic and can be reused 1:1 for all scripts.)

Purpose

Defines general behaviors, tone, formatting, and pronunciation. These rules apply globally, regardless of the specific script.

What belongs here?

  • Communication style (e.g., direct, structured)
  • Handling names
  • Handling interruptions
  • AI transparency
  • Number and formatting rules
  • Brand and language settings

Example (general, can be used unchanged)

Conversation management:
- Confident, direct, concise. No long pauses. Actively guide the customer.
- Use the customer's name only in the greeting; afterwards use "you".
- Do not interrupt when the customer provides critical information (e.g., address, email).
- If asked: openly state that you are a digital assistant.

Pronunciation & formatting:
- Spell out numbers (38 → "thirty-eight").
- Postal codes digit by digit ("nine zero two one zero").
- Phone numbers also digit by digit.
- Email: Spell letters before the @ ("J-O-H-N…"), speak the domain normally.
- Dates written out ("fifteenth of February twenty twenty-five").

Ending the call:
- Never end the call unilaterally.
- First say goodbye, wait for a reaction, then terminate the call.

4. Conversation Guide (Script Structure)

Purpose

The central section. This contains the actual flow of how an outbound call is conducted. The script is always:
  • Numbered
  • Linear
  • Clearly structured
  • With defined IF/ELSE sections
  • Without unnecessary variants

What belongs here?

  • Greeting & reference to the inquiry
  • Qualification questions
  • Product / property questions
  • Timeframe questions
  • Data gathering / confirmation (without technical validation details)
  • Closing communication
  • Farewell

Example (general outline)

1. Greeting
   - Short introduction
   - Reference to the inquiry

2. Qualification
   - Ownership/responsibility question
   - Ask relevant key details (e.g., consumption, property type)

3. Additional detail questions
   - e.g., roof type, year built, contract status – depending on product

4. Timeframe
   - When could the project be implemented?

5. Data verification
   - Confirm or request contact data and address

6. Closing
   - Briefly explain next steps (e.g., callback by a partner)
   - Get customer confirmation

7. Farewell
   - Friendly closing phrase
   - "Goodbye"

5. Objection Handling

Purpose

Defines how typical objections are answered. This section is always separate, so the main script stays clean.

What belongs here?

  • Thematic categories:
    • Time/availability
    • Interest
    • Process questions
    • Identity/person
    • Technical uncertainties
    • Other cases
  • For each objection:
    • Trigger (“I don’t have time right now”)
    • Standard response (short & word-for-word)
    • Note: Return to the script afterward

Example

Time & availability:

"Can you call again later?"
-> "This will be really quick — we'd be done in two minutes."

Interest:

"This topic isn't relevant to me right now."
-> "No problem. Would you still like to get some non-binding information so you have an overview?"

Process:

"I don't want to be called, I prefer to call myself."
-> "Of course, you will also receive all the information by email. If that works for you, simply get in touch whenever it suits you."

6. Instructions: How to Write a Good Script

Purpose

Provides clear rules for creating new call scripts.

6.1 Numbering is mandatory

A good script is fully numbered:
  • 1
  • 2
  • 3
With sub-points (2.1, 2.2) if needed. The AI follows linear structures much more reliably.

6.2 Keep the main section as simple as possible

  • Short, clear sentences
  • No variants, no synonyms
  • No unnecessary safety phrasing
  • Objection handling not in the main flow
  • Only ask absolutely necessary questions

6.3 Separate logic clearly

  • Variables → Section 2
  • Global rules → Section 3
  • Flow → Section 4
  • Objections → Section 5

6.4 Building blocks instead of continuous text

Every sentence must be written so the AI can say it exactly as-is.

6.5 Examples help the AI

Every section should include at least one example showing how something should be structured.

Template Structure

Here’s the recommended structure for a complete agent prompt:
# 1. Identity & Context
[Agent name, company, role, language, context]

# 2. Customer Data & Input Variables
[All variables with definitions]

# 3. Operational Rules & Pronunciation
[Communication style, handling rules, formatting]

# 4. Conversation Guide
[Numbered script structure]

# 5. Objection Handling
[Category-organized objections with responses]

Best Practices Summary

  1. Structure is key - Use numbered sections consistently
  2. Separation of concerns - Keep variables, rules, flow, and objections in separate sections
  3. Be explicit - The AI will follow what you write literally
  4. Use examples - Show the AI what good looks like
  5. Keep it simple - Avoid unnecessary complexity in the main flow
  6. Test iteratively - Refine based on actual agent behavior