> ## Documentation Index
> Fetch the complete documentation index at: https://docs.alcmeon.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Chatbots in Simio: inbound WhatsApp conversation flows

> Configure Simio chatbots (Bot scenarios) that respond automatically to inbound WhatsApp messages: trigger types, priority, conflict rules, and status.

A chatbot ("Bot scenario") is a flow that starts automatically the moment a contact sends an inbound WhatsApp message matching a trigger you configure, rather than something the business sends out. It is always-on rather than scheduled. Chatbots use the same visual flow builder as [automations](/simio/platform/automations) and [campaigns](/simio/platform/campaigns); refer to the automations page for shared canvas mechanics and the [Scenario builder](/simio/platform/scenario-builder) reference for the fields exposed by each node type.

## The Chatbots list

The Chatbots screen lives under **Chatbots** in the left sidebar and shows every bot scenario for the workspace.

**Left filter rail** groups scenarios by status:

* **Bot Scenarios**
  * All bot scenarios (with total count)
  * Drafts (with count)
  * Active (with count)
  * Turned off (with count)
* **AI Bots**
  * AI Agents ✨ (upcoming, not yet interactive)

**Toolbar** above the table:

* `N bot scenarios` count on the left
* `Search bot scenarios...` input
* **New chatbot** primary button on the right

**Columns**:

| Column | Content |
| - | - |
| Channel | WhatsApp icon plus the connected account label, for example `Alcmeon preprod 33759623720`. Has a funnel filter in the header. |
| Name | The scenario name typed at creation. |
| Trigger Type | Human label of the trigger: `Any message`, `No phone number`, `Incoming message`, or `WhatsApp order`. |
| Status | Colored pill: green `ACTIVE`, gray `DRAFT`, or yellow `TURNED OFF`. |
| Updated | Last edit timestamp in French locale format, for example `01 sept. 26 12:27:45`. |
| Actions | Per-row icon buttons: open scenario (flow icon), settings (gear), results (line chart), delete (trash). |

Pagination at the bottom (`1 / 1` with prev/next arrows).

## Creating a new chatbot

Clicking **New chatbot** opens a **New chatbot** modal with:

**General**

* **Channel** dropdown, defaulting to a connected account, for example `Alcmeon preprod (33759623...)`.
* **Scenario name** (required text input).

**Trigger for this chatbot** four-card picker (exactly one selected, blue outline on the selected card):

| Card | Description shown under the title |
| - | - |
| Incoming message | Triggered when a contact sends a specific message (unexpected message, click-to-WhatsApp...) |
| Any message | Triggered for any message from a contact. Limited to 1 per account. |
| WhatsApp order | Triggered when a contact places an order through WhatsApp catalog |
| No phone number | Triggered when a BSUID-only contact sends a message (no phone number in the webhook) |
| Invalid button (coming soon) | Triggered when a user clicks on a button which is no longer active |

**Configuration** panel below the picker changes with the selected trigger:

* **Incoming message**: adds a required **Message that will trigger this chatbot (the one you are using in your ad or your wa.me link)** textarea, labeled `Message body`.
* **Any message**: no extra fields.
* **WhatsApp order**: shows `WhatsApp order chatbots are automatically triggered when customers place orders through your WhatsApp catalog. You should have enabled WhatsApp catalog in your WhatsApp Business account.`
* **No phone number**: shows `This chatbot is triggered when a contact identified only by a BSUID (no phone number) sends an inbound message. Use this flow to ask them to share their phone number.`

**Footer**: **Create chatbot** primary button (disabled until required fields are filled) and **Cancel**. A × close button is also available in the top-left of the panel. Creating the chatbot lands you on the Scenario tab with the trigger step already placed on the canvas (and, for "No phone number", the Request phone number step wired in automatically).

## Entry trigger types

Set once at creation, on cards labeled exactly as follows in the product:

| Trigger card | Internal type | Fires when |
| - | - | - |
| Incoming message | Keyword match | The inbound message text exactly matches a configured phrase. Described in-product as covering things like an unexpected message or a click-to-WhatsApp link. |
| Any message | Autoreply | Any inbound message from a contact, regardless of content. Limited to one active chatbot of this kind per connected account. |
| WhatsApp order (coming soon) | Order events | A contact places an order through the connected WhatsApp Business catalog. |
| No phone number | BSUID-only contact | An inbound message from a contact who is only identifiable by a WhatsApp-internal identifier, with no phone number available. |
| Invalid button (coming soon) | | Invalid button (coming soon) |

For the "Incoming message" trigger, the exact phrase to match is typed into a required field, described in-product as "the one you are using in your ad or your wa.me link."

A keyword-triggered chatbot whose configured phrase is blank acts as a catch-all fallback: it fires for any inbound message that didn't match a more specific keyword chatbot's exact phrase.

<Warning>
  **Known limitation**: the "WhatsApp order" trigger type can be created and configured today, but order-event routing is not yet wired up on the backend, so chatbots of this type do not currently fire.
</Warning>

## What happens if nothing matches

If an inbound message doesn't match any active chatbot trigger, no bot answers it. If you have connected a helpdesk, the message is forwarded there so your agents can reply. See [Crisp](/simio/integrations/crisp), [Easiware](/simio/integrations/easiware), and [Gorgias](/simio/integrations/gorgias).

## Priority when a message could match more than one thing

If a contact is mid-conversation in a Wait step waiting for their reply, that takes priority over triggering any chatbot at all. Otherwise, if a message both matches a keyword-triggered chatbot and is sent by a phone-less (BSUID-only) contact with an active "No phone number" chatbot, the "No phone number" chatbot's request for a phone number wins that turn; the matched keyword chatbot is not lost, it is simply held and fires automatically once the contact goes on to share their phone number.

## Conflict rule

Only one active chatbot may exist per "trigger slot":

* Two active "Incoming message" chatbots cannot share the exact same phrase.
* Only one active "Any message" chatbot may exist per connected account.
* Only one active "WhatsApp order" chatbot may exist.
* Only one active "No phone number" chatbot may exist.

Activating a chatbot that conflicts with another currently-active one automatically turns the other one off; the editor shows a confirmation naming exactly which chatbot(s) will be turned off before it lets you proceed.

<Note>
  This differs from automations: activating a conflicting automation is blocked with an error, rather than auto-deactivating the other one.
</Note>

## Creating a chatbot

Creation asks for: channel, connected account, name, and the trigger type (plus the trigger phrase for "Incoming message"). Once created, channel, account, and trigger type are locked; only the name and, for keyword chatbots, the trigger phrase remain editable afterward, from the Details tab.

## "No phone number" chatbots

Creating a chatbot with this trigger type automatically wires in a Request phone number step immediately after the trigger. This step has no toolbar button; it only exists via this automatic creation path (and is not retroactively added if you switch an existing chatbot's trigger type to "No phone number" after the fact). See the [Request phone number step details](/simio/platform/automations#the-request-phone-number-step).

## Status lifecycle

| Status | Meaning |
| - | - |
| Draft | Never turned on |
| Active | Currently live and will respond when its trigger matches |
| Turned off | Was live before, currently switched off |

Turning a chatbot on can automatically turn off a conflicting one, per the conflict rule above.

## Editing and saving

Unlike campaigns and automations, editing and saving a chatbot's flow only applies what actually changed: steps you removed from the canvas are deleted, steps that already existed are updated in place, and new ones are added, rather than the whole flow being rebuilt from scratch on every save. The trigger step itself can never be deleted from the canvas; only its phrase and status can change.

## Removing a chatbot

There is no archive or soft-delete concept. To stop a chatbot from responding without losing it, turn it off. To remove it entirely, delete it; this is permanent, removes every step in the flow, and cannot be undone.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.