Overview
A well-crafted prompt is the foundation of every successful AI agent. This guide walks you through the essential components of great prompts, from basic structure to advanced techniques that will make your agents feel truly human.AI-Powered Prompt Generation
Outbox AI makes prompt writing easier with built-in AI assistance.When Creating an Agent

Generate Button
Already have an agent? Use the Generate button to let AI adjust your existing prompt based on new instructions. How it works:- Click the Generate button in the prompt editor
- Describe what you want to change or improve
- AI rewrites your prompt with the updates
- Review and save the changes
- “Make the tone more casual and friendly”
- “Add a section about our new pricing tiers”
- “Include instructions for handling refund requests”
Prompt History
Every save creates a prompt history entry so you can track changes and recover earlier versions when needed. What it gives you:- A revision trail of prompt updates over time
- Safer experimentation with new instructions
- Fast rollback when a new version underperforms
- Make one focused change (tone, objection handling, tool rules, etc.)
- Save and test with realistic scenarios
- Compare outcomes
- Restore a previous version from Prompt History if needed
General Prompt Structure
Break your prompt into six key sections for maximum clarity and effectiveness.1. Role & Objective
Define who the agent is and what they should accomplish.Role
Role
- “You are the inbound receptionist for Elite Fitness, Perth, Australia.”
- “You are a customer service agent for Bright Solar Solutions.”
- “You are the sales assistant for CrossFit Downtown, helping prospects book their first class.”
Objective
Objective
- “Your goal is to book a free consultation appointment.”
- “Your objective is to qualify the lead and determine if they’re a good fit.”
- “Your purpose is to upsell existing members to the premium tier.”
2. Sales Script (Flow Blocks)
Break your script into logical chunks rather than writing one long paragraph. This makes the agent’s decision-making faster and more accurate.Key Checkpoints
Structure your conversation flow with clear milestones:- Greeting – How should the agent open the conversation?
- Discovery questions – What information do you need to gather?
- Pitch – How do you present the offer or solution?
- Close/next step – How do you move toward the objective?
Conditional Branches
Handle different scenarios with clear if/else logic: Example:Extras
Include special data the agent needs so it never has to ask you:- Today’s class schedule
- Current promotions and expiry dates
- Staff availability
- Temporary closures or changes
3. FAQs
Present common questions and model answers. Use simple Q ➜ A pairs—tables aren’t necessary. Format:4. Common Objections & Rebuttals
List the top push-backs your staff hear and give the agent a winning response. Format:5. Tonality & Personality
Define how the agent should sound. This is what makes the difference between a robotic interaction and a natural conversation. Key Elements:Example: Professional & Formal
Example: Professional & Formal
- Use complete sentences
- Avoid slang or colloquialisms
- Maintain respectful distance
Example: Casual & Friendly
Example: Casual & Friendly
Example: Energetic & Sales-Focused
Example: Energetic & Sales-Focused
Example: Empathetic & Supportive
Example: Empathetic & Supportive
- Acknowledge emotions
- Show patience and understanding
- Problem-solving focus
6. Response Style Guidelines
Control how the agent structures its responses and manages the conversation flow. Guidelines:Dynamic Variables
Dynamic variables let your agent personalize every conversation without hard-coding details. They behave like mail-merge tags: write the variable once, and Outbox AI swaps in the live value when the conversation starts. Dynamic variables work in both chat and voice agents, allowing you to reference contact information, company details, and custom data throughout your prompts.Variable Structure
Dynamic variables use a structured format organized by category: Contact Variables:- Access information about the current contact
- Format:
{{contact.field_name}} - Includes custom fields assigned to contacts
- Access company-specific information
- Format:
{{company.field_name}} - Includes custom values set at the company level
Contact Variables
Use contact variables to personalize conversations with information about the current contact: Standard Contact Fields:membership_type, you would reference it as:
Company Variables
Use company variables to reference company-specific information that can be updated once and used across all agents: Standard Company Fields:company_address, you would reference it as:
Example Usage
Voice Agent First Message:Syntax Rules
- Format:
{{category.field_name}}(e.g.,{{contact.first_name}}or{{company.name}}) - Categories: Use
contact.for contact fields,company.for company fields - Custom Fields: Access custom contact fields with
{{contact.custom_field_name}} - Custom Values: Access custom company values with
{{company.custom_value_name}} - Case: Keep field names lowercase with underscores
- Instant preview: Once you type the tag and click Save, it appears in the Agent Context panel
Adding Variables Mid-Build
Insert the Tag
{{contact.field_name}} or {{company.field_name}} anywhere in your prompt or first messageSave & Reload
Test with Sample Values
Populate in Workflow
Outbound vs Inbound
Outbound Calls/Chats:Dynamic variables work immediately. Supply contact values when you configure the outbound action in your workflow. Company variables are automatically available. Inbound Calls/Chats:
Contact variables won’t populate automatically. Instead:
- Trigger a Find or Create Contact tool at the start of the conversation
- Pass returned details into the prompt
- Create a new contact on the fly if none exists
Markdown Formatting
Writing a single block of text works—but wrapping your prompt in Markdown makes every section clearer for you and the AI model. Better structure means faster, more accurate answers.
Why Bother with Markdown?
Faster Navigation
Clear Logic
Easy Maintenance
Better Performance
Markdown in 60 Seconds
Here are the key elements you’ll use most:Your Workflow
Draft Your Prompt
Preview with Built-in Viewer
Refine the Structure
Save and Test
Example Structure (Snippet)
Here’s what a well-structured prompt looks like:Voice-Specific Caveat (11 Labs and Similar)
Otherwise the speech engine may:- Drop the formatted words altogether, or
- Read out the asterisks (“asterisk Outbox AI asterisk”)
Sublime Text for Bulk Edits
Manually swapping out dozens of variables in a template is painful. Sublime Text (free to download, cross-platform) lets you blitz through those changes in seconds.Download Sublime Text
Install & Open
- Download Sublime Text from the official website
- Launch the application
- Paste or open your prompt template (e.g., your CrossFit gym outbound-call script)
Multi-Replace in a Single Hit
Open Find Bar
⌘F (Mac) or Ctrl+F (Windows/Linux)Enable Regex Mode
.* button to enable regular-expression modeEnter Search Pattern
{{gym_name}}, search for:Replace All
Copy Back

Example: Updating Multiple Variables
If you have a template with{{gym_name}}, {{gym_address}}, and {{gym_phone}} that you need to update for a new client:
- Find:
\{\{gym_name\}\}→ Replace: “Elite Fitness” - Find:
\{\{gym_address\}\}→ Replace: “123 Fitness St, Perth” - Find:
\{\{gym_phone\}\}→ Replace: “(08) 1234 5678”
Best Practices
Start with the AI Generator
Start with the AI Generator
Test Early, Test Often
Test Early, Test Often
Use Real Customer Language
Use Real Customer Language
Keep Sections Modular
Keep Sections Modular
Document Your Changes
Document Your Changes
markdown ## Changelog **2025-01-15:** Added Solar Savings tool **2025-01-10:** Updated pricing to reflect new membership tiers **2024-12-20:** Softened tone in objection handling Helps you track what works and what doesn’t.Common Mistakes to Avoid
❌ Too Vague
❌ Too Vague
❌ Too Rigid
❌ Too Rigid
❌ Forgetting Edge Cases
❌ Forgetting Edge Cases
❌ Overly Complex Formatting
❌ Overly Complex Formatting
❌ Ignoring Feedback
❌ Ignoring Feedback
Troubleshooting
Agent Sounds Robotic
Agent Sounds Robotic
- Add more conversational filler words (“um,” “ah,” “let me check”)
- Use contractions (“I’m,” “we’re,” “that’s”)
- Include friendly phrases (“no worries,” “sounds good,” “awesome!”)
- Test with a more casual tone setting
Agent Ignoring Instructions
Agent Ignoring Instructions
Agent Rambling
Agent Rambling
Variables Not Populating
Variables Not Populating
{{ contact.first_name }} instead of actual
values. Solutions:- Check syntax: must use structured format
{{contact.field_name}}or{{company.field_name}} - Ensure you’re using the correct category (
contact.orcompany.) - For custom fields/values, verify they exist in Company Settings
- For inbound calls/chats, add a Find or Create Contact tool first
- For outbound calls/chats, verify contact values are passed in the workflow
- Company variables should work automatically - if not, check Company Settings
- Save and reload to see new variables in Agent Context
Markdown Not Rendering
Markdown Not Rendering
- Remove formatting (bold/italic) from inside quoted dialogue
- Ensure blank lines between sections
- Test in Markdown Live Preview first
- Keep formatting simple (headings, bullets, quotes only)

