⚡Quick answer -
This section walks through the complete AI agent voice setup from scratch.
Use this FAQ whenever you need the exact, step-by-step procedure (with all warnings, tables, and field limits) for creating, configuring, and publishing an AI agent voice in MyOperator. Every sentence below is copied verbatim from Section 05 of the Training Guide.
Before you even open MyOperator, make sure you have these three things ready. Going through the setup without them will mean an incomplete bot that cannot be published.
What You Need | Why You Need It |
A clear bot identity | The bot must introduce itself on every call |
A Knowledge Base file (PDF or text) | Answers business-specific questions callers ask |
Your department extension numbers | Needed for escalation and call transfer |
Warning: The bot type is permanently locked at creation. If you accidentally create a Chatbot when you needed an AI agent voice, delete it and create it again. There is no way to switch types.
The configuration page is split into two sides. The left panel handles identity and behaviour. The right panel handles knowledge, functions, escalation, and advanced settings.
• Field: Bot Name and Identity (max 50 characters)
• Ex - “Priya types: 'Kavya from SwiftKart'.”
You can choose from a predefined list or type a custom role. (e.g., “Priya selects 'Customer Support Agent'.”)
Priya selects: Friendly, Helpful, Professional.
Ex — Priya previews a few voices and selects 'Shruti - Female'.
Priya selects 'Hinglish' — the natural language most of SwiftKart's customers speak.
Ex - Priya uploads two files: a Return Policy PDF and an Order FAQ document. Once uploaded, each file shows a 'Training' status badge, which updates to indicate it has been processed.
• Use clear, well-structured PDFs or text documents — the bot reads them as-is
• Break large documents into focused files (e.g., one file for FAQs, one for pricing)
• Update files whenever your policy or product changes — old content in the KB produces wrong answers
• Do not upload files with passwords or heavy image-based content — text must be machine-readable
Function | What It Does |
transfer_to_extension(extension_number) [Built-in] | Transfers the active call to a specified department extension. Reference this in the system prompt to define when and where calls are handed off. |
end_call() [Built-in] | Ends the call immediately when triggered. Use the system prompt to gracefully close conversations. |
Custom Functions | Create your own functions by defining an API endpoint (GET/POST), headers, query params, and body. Use {{session_variables}} to pass caller data to the API. |
This is the most important step. The system prompt is the bot's brain — the complete set of instructions that govern how it greets callers, handles queries, uses functions, and escalates.
Character limits: Minimum 100 characters (below this, publishing is blocked). Maximum 25,000 characters.
Session Variable | What It Contains |
{{Caller Phone Number}} | The caller's 10-digit mobile number (no ISD code) |
{{Company Display Number}} | The company's display number that received the call |
{{DID}} | The specific DID … |
{{Call Time (UTC)}} | Call timestamp in UTC format |
{{Call Time (IST)}} | Call timestamp in Indian Standard Time |
{{Morning/Afternoon/Evening (IST)}} | Greeting-friendly time of day (Morning / Afternoon / Evening) |
You are Kavya from SwiftKart, a friendly and helpful customer support agent. Always greet the caller: 'Good {{Morning/Afternoon/Evening (IST)}}! You have reached SwiftKart customersupport. I am Kavya. How can I help you today?'
You help callers with: order status queries, return and refund policy questions, and delivery complaint escalation.If the caller asks about order status, ask for their order ID and use the available function to check status.If the caller asks about return or refund policies, answer from the knowledge base.If the caller has a delivery complaint or damaged product, say: 'I understand this is frustrating.Let me connect you with our logistics team right away.' Then call transfer_to_extension(101).If you cannot resolve the issue, say: 'Let me connect you with a support specialist.' Then call transfer_to_extension(102).If the caller wants to end the conversation, say: 'Thank you for calling SwiftKart. Have a great day!' Then call end_call().Always be warm, speak in Hinglish, and keep responses short -- one question or one answer at a time.The Frustration Handover feature automatically transfers a call to a human agent when the system detects that the caller is repeatedly frustrated.
Ex - “Priya enables Frustration Handover and selects the 'Customer Support' department (Ext: 102).”
Fallback Scenario | Pre-populated Default Prompt |
Agent Busy Prompt (no agent picks up on transfer) | “Executives are busy at the moment; we will connect with you soon” |
No Extension Found Prompt (invalid extension in routing) | “Sorry, the requested department is unavailable at the moment. Let me help you with your queries.” |
*Note -
Setting | What It Controls | Default / Range |
Silence Wait Duration (seconds) | How long the bot waits after a caller stops speaking before responding again | Default: 10 sec |
Maximum Silence Retries | How many consecutive silences before the bot ends the call | Default: 2 |
Interruption Handling | Whether the caller can interrupt the bot while it is speaking mid-sentence | Default: OFF |
Action | What Happens |
Save as Draft | Saves the current configuration as a draft version. The bot is NOT live. |
Publish Bot | Makes the bot live immediately. All required fields must be complete. |
Required fields for publishing:
Ex - Priya saves as a draft first, previews all settings, then clicks Publish Bot. The bot goes live.
After a bot is published, it enters read-only view mode. You cannot accidentally change a live bot.
If you navigate away from the configuration page with unsaved changes, a modal appears: ' Unsaved Changes -- You have unpublished configurations. Would you like to save them as a draft?'
Options: Discard or Save as Draft.
The draft/publish versioning workflow is one of the most important safety features in the product. It ensures an accidental mid-edit save never disrupts a live, customer-facing bot.
Deletion warning: A customer who deletes a bot that is attached to a call flow will break that flow. Phase 1 does not check for call flow dependencies before deletion.