Skip to content

Bot Factory ​

A bot answers your customers on WhatsApp automatically. It replies to their messages, shows them buttons and menus, collects details, and passes the chat to a person when needed. You build each bot by dragging blocks onto a canvas and joining them with lines, so you can see the whole conversation as a map.

Before you start ​

  • You need a connected business number.
  • Bots are available on selected plans. If you don't see Bot Factory in your sidebar, check your plan or contact support.
  • You need permission to see bots, and separate permission to create or edit them. See Roles & permissions.

How a bot works ​

Every bot is a chain of steps (we call them nodes):

  1. A trigger decides when the bot starts. For example: "when a customer sends hello", or "when a customer sends an order from my catalog".
  2. Message nodes send something to the customer: text, buttons, a list, a picture, a form, and so on.
  3. Action nodes do something behind the scenes: tag the customer, create a lead, pass the chat to an agent, hand the conversation to an AI Employee, call your own system, and more.

When a customer taps a button or picks a row in a list, the bot follows the line that leaves that button or row. This is how you build menus with several paths.

TIP

Bots can only send free messages while the customer's 24-hour window is open. Because a bot starts when the customer writes to you, the window is normally already open.

Bot sessions ​

The top of the Bots page shows how many Bot Sessions your business has left. One session is used each time a bot starts a conversation with a customer. When you reach zero, your bots stop replying until your sessions renew with your plan. To get more sessions sooner, contact support. See Plans.

The Bots page ​

In the sidebar, under Automation, click Bot Factory. You see:

  • Bot Sessions, Total Bots and Active Bots at the top.
  • A table of your bots with Bot Name, Business Number, Triggers, Frequency, Status and Created.
  • Filters for status, trigger type and frequency, and a search box that finds bots by name or trigger keyword.

The Bots page with the bot table and the status switches

Each row has Edit and View Analytics, plus a More menu with Quick Edit, Duplicate Bot and Delete Bot.

Create a bot ​

  1. On the Bots page, click Create Bot.
  2. Choose how to start:
    • New Bot to build on an empty canvas, or
    • pick a ready-made bot from the library, then click Use This Template. You can change everything after it loads.
  3. Drag a Text Trigger or Order Trigger onto the canvas. Every bot must start with a trigger, and a bot can have only one.
  4. Drag message and action nodes onto the canvas and fill them in.
  5. Join the nodes: drag from the small dot on the right of one node to the left side of the next one.
  6. Click Save. In the window that opens, fill in:
    • Bot Name
    • Business Number — pick one number, or leave it on All Business Numbers to use the bot on every number.
    • Trigger Frequency (see below)
    • Ad Triggers (optional, see below)
  7. Click Save Bot.

TIP

You can also add a node by dragging a line out of a node and dropping it on empty canvas. A Select Node Type window opens and shows only the nodes that fit there.

If you reload the page by mistake, Midlr restores your unsaved edits and shows Unsaved changes restored. Click Save to keep them.

Canvas tools ​

ToolWhat it does
Clone SelectedCopies the selected nodes (shortcut: Ctrl+D, or Cmd+D on Mac).
Delete SelectedDeletes the selected nodes. The trigger can't be deleted this way.
Tidy UpRearranges the nodes into a clean layout.
LibraryLoads a ready-made bot (only while creating a new bot). It replaces what is on the canvas.
Save as TemplateSaves this bot to your library so you can reuse it.
VariablesDrag Client Name or Client Number into a message field. The bot fills in the customer's real name or number when it sends.

Triggers: when does the bot start? ​

Text Trigger ​

Starts the bot when a customer sends a message. Under Triggering messages, choose:

  • Any Message — the bot starts on any message the customer sends.
  • Custom Messages — the bot starts only when the message matches one of your trigger messages. You can add up to 10, each up to 200 characters.

For custom messages, open Advanced Options:

  • Case Insensitive — "Hello" and "hello" count as the same.
  • Partial Match — the bot starts if the message contains the keyword, not only when it is exactly the keyword.

If a customer's message matches a bot with keywords and also an Any Message bot, the bot with keywords wins. The Any Message bot only runs when nothing more specific matched.

Order Trigger ​

Starts the bot when a customer sends you an order from your WhatsApp catalog (the cart). Use it to thank the customer, ask for delivery details, or send a form. See Orders.

Ad Triggers ​

When you save a bot, you can paste the IDs of your Meta (Facebook or Instagram) ads under Ad Triggers. The bot then starts when a customer messages you after clicking one of those ads, even if their message doesn't match a keyword. You find an ad's ID in Meta Ads Manager.

Voice notes ​

A plain bot does not start from a voice note. A voice note can start a bot only when that bot contains an AI Employee that is set to accept voice notes. The AI Employee then listens to the voice note and answers it.

Trigger Frequency ​

This controls how often the same customer can start the bot.

OptionWhat happens
OnceThe bot runs only the very first time for each customer, then never again.
AlwaysThe bot runs every time the trigger matches.
CustomAfter the bot runs, it won't run again for the same customer until the time you choose has passed (in days, weeks, months or years).

Message nodes ​

These nodes send something to the customer.

NodeWhat it sends
TextA plain text message.
ButtonsA message with up to 3 reply buttons. Connect a Button Reply for each button, then build each path after it. Header and footer are optional.
ListA message with a menu button that opens a list. Connect List Section nodes (up to 10), and List Row nodes under each section (up to 10 per section).
CarouselA main message with 2 to 10 swipeable cards. Connect Carousel Card nodes; each card has a picture or video, short text and 1 or 2 Carousel Button nodes. All cards must use the same media type.
Product ListProducts from your catalog, grouped into Product Section nodes with Product nodes under them (up to 30 products in total). Shown only if your number has a catalog connected.
Catalog MessageA message that opens your whole WhatsApp catalog. Shown only if your number has a catalog connected.
LinkA message with a button that opens a web link.
ImageA picture (JPEG or PNG, up to 5 MB) with an optional caption.
VideoA video (MP4, MOV or 3GP, up to 16 MB) with an optional caption.
DocumentA file such as a PDF, Word, Excel or PowerPoint file, with an optional caption.
AudioA voice message. You can pick a file, upload one, or record it.
TemplateOne of your approved templates.
FlowOne of your published Forms. Connect a Flow Reply node to continue the bot after the customer submits the form.
LocationA map pin with a name and address.

You can pick images, videos, documents and audio from your Media library or upload new ones.

Saved Messages in the left panel lets you drop one of your saved messages onto the canvas, buttons included.

Action nodes ​

These nodes work behind the scenes. Most of them pass straight on to the next node.

NodeWhat it does
Transfer ChatAssigns the chat to an agent, or to a group. Only agents marked as assignable appear. This is how a bot hands the customer to a person.
AI EmployeeHands the conversation to one of your AI Employees. The AI chats with the customer until the conversation ends, then the bot continues with the next node (if there is one). Shown only if AI Employees are available to your business.
LeadsCreates a lead for the customer, with the stage, source, priority, tags and agent you choose. Turn on Take over lead to give the lead to the agent who already has the chat.
LabelAdds one or more labels to the customer.
PhonebookAdds the customer to a phonebook.
Update EntitySaves the customer's answer into their contact (gender, city, state, country, preferred language) or their lead (stage, priority, source). Connect it after a Button Reply or List Row.
Time DelayWaits 1 to 10 seconds before the next message, so replies don't arrive all at once.
API RequestSends data to your own system (a web address you provide). Use Test Request to check it works.
API ResponseReads fields from the reply of the API Request before it and saves them as variables you can use in later messages.
n8n WebhookSends the conversation to an n8n workflow and waits up to 60 minutes for its answer.
Whatsapp CallSends a message with a button the customer can tap to call you on WhatsApp.
Call Permission RequestAsks the customer for permission to call them on WhatsApp. It has separate exits for Success, Calling Disabled, Already Granted and Rate Limited.

INFO

Whatsapp Call and Call Permission Request appear only if calling is turned on for your business. They stay locked until your number's messaging limit is 2,000 or more. See Messaging limits & quality and Calls.

Hand a chat over to a person ​

There are three ways a bot conversation reaches a human:

  • In the bot: add a Transfer Chat node, for example after a "Talk to an agent" button. The chat is assigned to the agent or group you chose.
  • From the inbox, per customer: open the chat and use Stop Bot. The bot stops replying to this customer until you click Resume Bot. See Chatting (the inbox).
  • From an AI Employee: the customer can leave the AI conversation, and the bot carries on with whatever you connected after the AI Employee node.

You can also run a bot on purpose from a chat: click Trigger Bot, pick the bot and confirm. This only works while the customer's 24-hour window is open. Triggering a bot also resumes it for that customer if it was stopped.

Turn a bot on or off ​

On the Bots page, use the switch in the Status column. Only active bots reply to customers. Turning a bot off keeps it and all its nodes; you can turn it back on at any time.

To change the name, number, trigger keywords, ad triggers or frequency without opening the canvas, click More > Quick Edit, then Save Changes.

Test a bot ​

Midlr has no separate test mode, so test with a real phone:

  1. Make sure the bot is active.
  2. From a WhatsApp number that is not your business number, send the trigger message to the business number the bot uses.
  3. Tap through each button and list option to check every path.
  4. Open the chat in the inbox to see what the bot sent. Bot messages are marked as sent by the bot.

TIP

If the bot's Trigger Frequency is Once, it won't run a second time for the same test phone. Use Always while you test, then change it with Quick Edit.

Bot analytics ​

Click View Analytics on a bot to see how it performs: Total Sessions, Messages Sent, Unique Users, Flow Completion Rate, the busiest hours, which nodes customers drop off at, the most common paths, and recent sessions. Pick a date range and click Apply Filter, or click Export CSV to download the figures.

Bot analytics page with the session chart and node performance table

Duplicate or delete a bot ​

  • Duplicate Bot makes a copy with a new name. Use it to try changes safely.
  • Delete Bot removes the bot for good. If the bot used pictures or files that nothing else uses, Midlr offers to delete those from your Media library too.

WARNING

Deleting a bot can't be undone. If you only want it to stop replying, turn it off instead.

Common save errors ​

When you click Save, Midlr checks the bot and tells you what to fix:

  • Unconnected Nodes Detected — every node must have a line coming into it. Connect it or delete it.
  • Incomplete Flow — add at least one message or action after the trigger.
  • The First Node Must Be A Trigger Node — start with a Text Trigger or Order Trigger.
  • Fields with a red message need to be filled in or shortened.

Need more help? Open a support ticket from inside Midlr.