A Practical Guide to Building Specialized AI Agents, Conversation Routing, Contextual Memory, and Human Handoff
Before You Begin Make sure the WhatsApp bot is connected and active. Prepare the shared resources the agents may call during conversations: Knowledge Sources, Custom Fields, Labels, the Restaurant Table Reservation flow, an appropriate human support role, and an order/support API only when live order data is available. Do not add actions that are not actually configured. |
Naming Note The suffix “SG” is used only for naming convenience and easy identification during this demonstration. It has no special technical meaning in BotSailor. Sales Agent SG, Order Agent SG, Lead Qualification Agent SG, and Support Agent SG are simply the names used in this guide. |
Guide Scope This guide reflects the BotSailor Multi-Agent AI interface and settings shown in the included screenshots and uses Promotute Restaurant as a practical demonstration. It explains how to configure and coordinate AI Agents in BotSailor; it does not teach how to create or train a new AI model from scratch. |
Reader Journey: Part 01 Build the Foundation → Part 02 Connect, Route, and Control the Agents → Part 03 See the Multi-Agent System in Action
Part 01 of 03: Build the Multi-Agent Foundation
What Is Multi-Agent AI in BotSailor and How Does It Work?
Direct Answer Multi-Agent AI in BotSailor is a routing-based setup that lets one WhatsApp bot use multiple specialist AI Agents. Each agent handles a defined customer intent, such as sales, order support, lead qualification, or customer support. Routing rules decide which specialist responds first, while transfers and human assignment handle changes in intent or escalation. |
Part 01 builds the foundation for the complete setup.
The setup has two main layers. The Agents area is where each specialist is created, given a System Prompt, connected to Knowledge Sources, and provided with actions. The AI Configuration area is where the overall AI system is enabled, active agents are selected, and routing behavior is defined.
How Do You Open Multi-Agent AI in BotSailor?
Open Chatbot Manager, choose the WhatsApp bot from Bots/Accounts, and then open AI. Use Agents to create and prepare specialists. Use AI Configuration after preparation to enable the AI system, select Active Agents, and configure routing.
Navigation: Chatbot Manager → Bots/Accounts → Select Promotute → AI → Agents / AI Configuration
BotSailor provides two main areas under AI:
Agents → use this to create, edit, and prepare individual AI Agents.
Chatbot Manager → Bots/Accounts → Select Promotute → AI → Agents |
AI Configuration → use this after the agents are prepared to enable AI, select Active Agents, configure routing, memory, assignment, business hours, and other multi-agent settings.
Chatbot Manager → Bots/Accounts → Select Promotute → AI → AI Configuration |
What Is the Purpose of Each Specialist Agent?
A specialist, sometimes described as a worker agent, should own one clear responsibility. In this restaurant example, separating sales, orders, lead qualification, and support keeps routing predictable and prevents agents from handling tasks outside their role.
Agent | Primary Responsibility |
|---|
Sales Agent SG | Menu questions, pricing, recommendations, purchase intent, and table reservations. |
Order Agent SG | Existing order lookup, delivery status, and cancellation requests. |
Lead Qualification Agent SG | Group bookings, events, catering, and other high-intent lead qualification. |
Support Agent SG | Refunds, payment issues, complaints, wrong or missing items, and unresolved customer issues. |
Agent's page showing the four Promotute restaurant specialists used in this guide.
Important Creating an agent in the Agents tab does not by itself make that agent available to customers. After the individual agents are prepared, they must be enabled and selected from AI Configuration. |
When Should You Enable AI Configuration?
Keep the AI Agent switch off while specialist agents are incomplete. After their prompts, Knowledge Sources, actions, and tests are ready, open Chatbot Manager > Bots/Accounts > select Promotute > AI > AI Configuration, turn AI Agent on, select the Active Agents, add routing rules, and save the settings.
Prepare Agents First → Review Prompts, Knowledge & Actions → Turn AI Agent ON → Select Active Agents → Add Routing Rules → Save & Test |
AI Configuration before activation. Enable the AI Agent after the specialist agents are prepared and ready for routing.
How Do You Prepare the Four Specialized AI Agents?
Once the Multi-Agent architecture is clear, configure shared resources once, then create each specialist with only the prompt, knowledge, and actions needed for its role. This keeps the system easier to control and prevents unnecessary overlap.
Step 1: What Shared Resources Should You Prepare Once?
Resource | Type | Used For |
|---|
Restaurant Table Reservation | Bot Flow | Sales Agent reservation handoff |
Restaurant Support | Human Role | Human assistance and escalations |
Restaurant Lead | Label | Genuine sales or booking interest |
Qualified Restaurant Lead | Label | Lead qualified with enough information |
Order Support | Label | Routine order-support conversations |
Restaurant Support Case | Label | Refunds, complaints, missing/wrong items, unresolved issues |
Custom Fields to Prepare
- Sales: Food Preference (Text), if you want to remember preferences such as spicy or vegetarian.
- Order: Order Number (Text).
- Lead Qualification: Lead Name (Text), Lead Email (Email/Text), Party Size (Number), Preferred Date (Date/Text).
- Support : Support Order Number (Text), Support Issue (Text), Refund Reason (Text).
Action Selection Rule Inside the System Prompt, type ## and choose the BotSailor action from autocomplete, then select the actual resource. Do not manually type resource IDs. |
System Prompt vs. Knowledge Source Use the System Prompt for behavior, boundaries, and action rules. Put menus, policies, qualification rules, refund rules, and other business facts inside Knowledge Sources. |
Step 2: How Do You Create Each AI Agent?
- Go to Chatbot Manager > Bots/Accounts > select Promotute > AI > Agents.
- Create or edit the AI Agent and enter the Name, Description, and Status.
- Add the focused System Prompt for that agent.
- Create or select the appropriate Knowledge Set.
- Attach only the actions the agent actually needs.
- Save the agent and test its core conversation before configuring the next one.
Name & Description → System Prompt → Knowledge Source → Actions → Save Agent → Test |
How Do You Configure Sales Agent SG?
Setting | Recommended Value |
|---|
Name | Sales Agent SG |
Slug | Auto-generated |
Status | Active |
Description | Helps restaurant customers with menu information, food recommendations, pricing, reservations, and human support requests. |
Knowledge Set | Promotute Restaurant Knowledge |
Configure Sales Agent SG. Numbered markers show the Agents tab, Name, Slug, Status, Description, System Prompt, and Knowledge Sources.
System Prompt
You are the Sales AI Agent for Promotute.
Your goal is to help restaurant customers explore menu items, understand prices, get food recommendations, and make table reservations.
Guidelines:
- Be friendly, concise, and professional.
- Keep replies short and easy to read on WhatsApp.
- Use the Knowledge Source for menu items, prices, availability, opening hours, delivery information, and restaurant policies.
- Never invent menu items, prices, discounts, availability, or business information.
Actions: - Save useful customer preferences using ##save_custom_field## - Add interested customers to the Restaurant Lead label using ##add_label## - When a customer clearly wants to reserve or book a table, trigger Restaurant Table Reservation using ##trigger_bot_flow## - If the customer asks for a person or needs human assistance, assign the conversation using ##assign_human_role##
Do not trigger actions unnecessarily. Simple greetings, thanks, okay, or emojis should receive a normal friendly reply. |
Knowledge Source
- Business Name: Promotute Restaurant
- Opening Hours: 10:00 AM to 11:00 PM
- Chicken Burger - BDT 250
- Beef Burger - BDT 320
- Chicken Pizza - BDT 550
- Fried Chicken - BDT 220
- French Fries - BDT 150
- Soft Drink - BDT 60
- Customers can reserve a table through the WhatsApp reservation system.
- Delivery is available within supported delivery areas.
Action Mapping
Action | Resource / Purpose |
|---|
##save_custom_field## | Food Preference, if configured |
##add_label## | Restaurant Lead |
##trigger_bot_flow## | Restaurant Table Reservation |
##assign_human_role## | Restaurant Support |
Quick Test Customer: “I like spicy food. What do you recommend?” → Sales Agent uses restaurant knowledge. Customer: “I want to reserve a table.” → Sales Agent triggers Restaurant Table Reservation. |
How Do You Configure Order Agent SG?
Setting | Recommended Value |
|---|
Name | Order Agent SG |
Slug | Auto-generated |
Status | Active |
Description | Handles restaurant order status, delivery information, cancellation requests, and routine order-related support. |
Knowledge Set | Promotute Order Knowledge |
Configure Order Agent SG. Numbered markers show the main fields used during setup
System Prompt
You are the Order AI Agent for Promotute
Your goal is to help customers with existing orders, order status, delivery information, and cancellation requests.
Guidelines: - Be friendly, concise, and professional.
- Keep replies short and easy to read on WhatsApp.
- Never invent order status, delivery information, customer details, or cancellation results.
- Use live order information only when a configured API or connected order system is available.
- Use the Knowledge Source for order policies, delivery rules, and cancellation information.
Actions: - Save the customer's order number using##save_custom_field## - Add the Order Support label using ##add_label## - Use ##call_http_api## only when a live order API is configured - If the customer changes to menu, pricing, recommendation, or reservation questions, transfer to Sales Agent SG using ##transfer_agent## - If the customer reports a refund, payment problem, missing/wrong item, complaint, or unresolved support issue, transfer to Support Agent SG using ##transfer_agent## - If the customer requests a person and human handling is needed, assign the conversation using ##assign_human_role##
For cancellation, confirm the order and the customer's intent before any cancellation action. Never claim an order was cancelled unless the connected system confirms it. |
Knowledge Source
- Customers should provide their order number when live order information is required.
- Never invent order status, delivery time, payment status, or cancellation result.
- Use live API data when available.
- Before cancellation, confirm the correct order and clear cancellation intent.
- If automatic cancellation is unavailable, move the customer to the appropriate support path instead of claiming success.
Action Mapping
Action | Resource / Purpose |
|---|
##save_custom_field## | Order Number |
##add_label## | Order Support |
##call_http_api## | Configured Order Status / Order API, only if available |
##transfer_agent## | Sales Agent SG for sales questions; Support Agent SG for support issues |
##assign_human_role## | Restaurant Support when human handling is required |
Live Data Rule If no live order API or connected order system is configured, the Order Agent must not guess order status or cancellation results. Explain that live information cannot be verified and move the customer to the appropriate support path. |
Quick Test Customer: “Where is my order?” → Ask for the order number → save it → use the live API if configured. Customer: “Cancel order ORD-1054.” → confirm the order and cancellation intent before any cancellation action. |
How Do You Configure Lead Qualification Agent SG?
Setting | Recommended Value |
|---|
Name | Lead Qualification Agent SG |
Slug | Auto-generated |
Status | Active |
Description | Collects and qualifies restaurant leads for group bookings, events, catering, and other high-intent inquiries. |
Knowledge Set | Promotute Lead Qualification Knowledge |
Configure Lead Qualification Agent SG. Numbered markers show the main fields used during setup
System Prompt
You are the Lead Qualification AI Agent for Promotute
Your goal is to collect and qualify restaurant leads for group bookings, events, catering, and other serious business inquiries.
Guidelines:
- Be friendly, concise, and professional.
- Ask one question at a time.
- Do not ask for information the customer has already provided.
- Keep replies short and easy to read on WhatsApp.
Lead Information:
- Name
- Email address
- Party size
- Preferred date
- Requirement or booking purpose
- Budget when relevant
Actions: - Save Lead Name using##save_custom_field## - Save Lead Email using ##save_custom_field## - Save Party Size using ##save_custom_field## - Save Preferred Date using ##save_custom_field## - Add Restaurant Lead when the customer shows genuine interest using ##add_label## - Add Qualified Restaurant Lead when enough information has been collected using ##add_label## - When the qualified customer needs menu, pricing, or reservation guidance, transfer to Sales Agent SG using ##transfer_agent## - If a high-value or custom request needs a person, assign the conversation using ##assign_human_role##
Do not qualify a lead based only on a greeting or casual menu question. |
Qualification Rule
Treat the customer as qualified when there is clear booking or purchase intent and enough information to continue the sales process. For this demonstration, use Lead Name, Lead Email, Party Size, and Preferred Date as the core fields. Requirement and budget can be collected when relevant.
Action Mapping
Action | Resource / Purpose |
|---|
##save_custom_field## | Lead Name |
##save_custom_field## | Lead Email |
##save_custom_field## | Party Size |
##save_custom_field## | Preferred Date |
##add_label## | Restaurant Lead |
##add_label## | Qualified Restaurant Lead |
##transfer_agent## | Sales Agent SG after qualification |
##assign_human_role## | Restaurant Support for custom/high-value requests needing a person |
Knowledge Source
- Define what counts as a qualified lead.
- List the information the agent should collect.
- Do not qualify greetings, casual menu questions, or simple price checks with no clear intent.
- Large group bookings, corporate events, catering, or custom-package requests may require human follow-up after basic information is collected.
Quick Test Customer: “I want to arrange a birthday dinner for 20 people.” → collect name, email, party size, and preferred date → add Qualified Restaurant Lead → transfer to Sales Agent SG for the next step. |
How Do You Configure Support Agent SG?
Setting | Recommended Value |
|---|
Name | Support Agent SG |
Slug | Auto-generated |
Status | Active |
Description | Handles refunds, payment complaints, delivery problems, missing or incorrect items, complaints, and unresolved customer issues. |
Knowledge Set | Promotute Support Knowledge |
Configure Support Agent SG. Numbered markers show the main fields used during setup
This specialist helps automate support for routine refunds, payment issues, delivery problems, missing or incorrect items, and complaints while preserving a clear path to human assistance when automation is not appropriate.
System Prompt
You are the Support AI Agent for Promotute
Your goal is to help customers with refunds, payment issues, delivery problems, missing or incorrect items, complaints, and unresolved order-related support problems.
Guidelines:
- Be friendly, calm, concise, and professional.
- Keep replies short and easy to read on WhatsApp.
- Never invent order status, delivery information, refund status, payment information, or resolution results.
- Use live information only when a configured API or connected system is available.
- Use the Knowledge Source for support policies, refund rules, delivery rules, and customer-service information.
Actions: - Save the customer's order number using ##save_custom_field## - Save the support issue using ##save_custom_field## - Save the refund reason when relevant using##save_custom_field## - Add the Restaurant Support Case label using ##add_label## - Use ##call_http_api## only when a live support/order API is configured - If the customer only needs a basic order lookup or cancellation, transfer to Order Agent SG using ##transfer_agent## - If the issue cannot be resolved automatically or the customer asks for a person, assign the conversation to Restaurant Support using ##assign_human_role## - Mark the conversation as solved using ##mark_as_solved## only after the issue is fully resolved
Do not trigger actions unnecessarily. Never block a legitimate customer simply because they are angry or frustrated. |
Action Mapping
Action | Resource / Purpose |
|---|
##save_custom_field## | Support Order Number |
##save_custom_field## | Support Issue |
##save_custom_field## | Refund Reason |
##add_label## | Restaurant Support Case |
##call_http_api## | Configured support/order API, only if available |
##transfer_agent## | Order Agent SG for routine order lookup/cancellation |
##assign_human_role## | Restaurant Support |
##mark_as_solved## | Use only after the issue is fully resolved |
Knowledge Source
- Customers should provide an order number when the issue relates to an existing order.
- For refund requests, collect the order number and refund reason when needed.
- Never claim a refund has completed unless the connected system confirms it.
- For missing, incorrect, damaged, or incomplete orders, collect a short issue description and escalate when needed.
- Payment problems such as duplicate charges or unconfirmed payments should move to human support if live systems cannot resolve them.
Quick Test Customer: “I received the wrong item and want a refund.” → collect the order number and refund reason → add Restaurant Support Case → use live automation if available or assign Restaurant Support. |
How Do You Confirm Each Agent Is Ready?
Agent | Ready When... |
|---|
Sales Agent SG | Answers menu/pricing questions from knowledge and triggers the reservation flow only when the customer clearly wants to book. |
Order Agent SG | Requests an order number when needed, uses live data only when available, and does not invent status or cancellation results. |
Lead Qualification Agent SG | Collects the configured lead fields, applies the correct labels, and transfers qualified leads to Sales. |
Support Agent SG | Collects issue details, handles refund/support rules safely, escalates when needed, and marks solved only after resolution. |
Menu / Reservation → Sales | Order Status / Cancellation → Order | Group Booking / Catering → Lead Qualification | Refund / Complaint → Support |
Continue to Part 02: Connect, Route, and Control the Agents
The four-specialist AI Agents are now prepared and tested individually. The next step is to connect them into one coordinated multi-Agent AI system.
In Part 02, you will enable AI, select the Active Agents, define Agent Routing, configure Context & Memory, human assignment, business hours, restrictions, and other settings that control how the agents work together.
Part 01: Prepare the Agents → Part 02: Connect and Route the Agents