How do I set up an AI Voicebot end-to-end?

How do I set up an AI Voicebot end-to-end?

⚡Quick answer -

This section walks through the complete Voicebot setup from scratch.

When should I use this guide?

Use this FAQ whenever you need the exact, step-by-step procedure (with all warnings, tables, and field limits) for creating, configuring, and publishing a Voicebot in MyOperator. Every sentence below is copied verbatim from Section 05 of the Training Guide.




1. Step 0 — Before you start: prerequisites checklist

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


Unnamed





2. Step 1 — Create the bot

  • Go to Bot Module > Click 'Create new bot '.
  • From the bot listing page, click the '+ Create new bot' card. A creation modal appears. The modal asks for two things: a Bot Name and a Bot Type. This is the most important decision in the entire setup.
    • Bot Name: 'SwiftKart_SupportBot_Evening'.
    • Bot Type: Select 'Voice bot'. Important: this cannot be changed after creation. If you select Chatbot by mistake, you must delete the bot and start over.

Warning: The bot type is permanently locked at creation. If you accidentally create a Chatbot when you needed a Voicebot, delete it and create it again. There is no way to switch types.

Unnamed




3. Step 2 — Configure who the bot is

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.

Unnamed


Bot Name and Identity

• Field: Bot Name and Identity (max 50 characters)

• Ex - “Priya types: 'Kavya from SwiftKart'.”

    • What callers hear: 'Hello, I am Kavya from SwiftKart. How can I help you today?'

Primary Role

You can choose from a predefined list or type a custom role. (e.g., “Priya selects 'Customer Support Agent'.”)

Tone

Priya selects: Friendly, Helpful, Professional.

How It Sounds (Voice Profile)

Ex — Priya previews a few voices and selects 'Shruti - Female'.

What Language Does It Speak (Language Mode)

Priya selects 'Hinglish' — the natural language most of SwiftKart's customers speak.




4. Step 3 — Upload your Knowledge Base

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.

Unnamed


Knowledge Base Best Practices:

• 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




5. Step 4 — Configure functions

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.


Unnamed

Unnamed





6. Step 5 — Write the system prompt

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 variables you can use

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)



Ex - Priya's System Prompt (SwiftKart)

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.



7. Step 6 — Configure Frustration Handover

The Frustration Handover feature automatically transfers a call to a human agent when the system detects that the caller is repeatedly frustrated.

  1. Toggle: Enable frustration-based escalation (ON/OFF — default is OFF)
  2. When toggle is ON: Select the Escalation Department from the dropdown (e.g., Customer Support Ext: 102)
  3. If the toggle is ON but no department is selected, the bot cannot be published

Ex - “Priya enables Frustration Handover and selects the 'Customer Support' department (Ext: 102).”

Unnamed



8. Step 7 — Set fallback prompts

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 -

  • Both fields support up to 5,000 characters.
  • Both are required before publishing.



9. Step 8 — Configure advanced settings

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

Guidance:

  • For support bots with older callers: increase Silence Wait Duration to 12-15 seconds…
  • For high-volume inbound bots: keep Silence Retries at 2…For natural conversational flows: enable Interruption Handling…



10. Step 9 — Save as draft or publish

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:

  • Bot Name and Identity (max 50 chars)
  • Primary Role (max 50 chars)
  • Tone (at least 1 selection)
  • How It Sounds (voice profile)
  • What Language Does It Speak (language mode)
  • How It Behaves / System Prompt (min 100 characters)
  • If Frustration Handover is ON: Escalation Department must be selected, and Agent Busy Prompt must be filled

Ex - Priya saves as a draft first, previews all settings, then clicks Publish Bot. The bot goes live.




11. Step 10 — Edit an existing bot

After a bot is published, it enters read-only view mode. You cannot accidentally change a live bot.

Workflow:

  1. Open the bot from the Bot Listing Page — it opens in view mode
  2. Click Edit Configuration — a new draft is created automatically
  3. Make your changes in the draft
  4. Save Draft … or Publish Bot (new version goes live)

Unsaved Changes Protection -

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.




12. Draft/publish safety & deletion caveats

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.