Skip to content

📋 Menu Node

Purpose

The Menu node presents a list of options that the customer can choose from. It's the primary navigation tool in your assistant — each option connects to a different path in the flow, letting you create branching conversations.


Business Scenario

Use the Menu node when you need to:

  • Offer choices — "Would you like to know about our services, pricing, or support?"
  • Create navigation — a main menu that branches into sub-topics
  • Route customers — direct them to the right department or information based on their selection
  • Build product catalogues — list products/services for customers to explore

Configuration

Field Description
Title Internal name for the node (only visible in the designer)
Prompt Text The message shown above the menu options (e.g., "Please choose an option:")
Menu Type How the options are displayed on WhatsApp (see table below)
Options The list of choices. Each option needs a label and a connection to a target node.
Type Max Options Max Label Length Best For
Quick Reply Buttons 3 20 characters Simple yes/no or 2–3 choices
List Message 10 24 characters Standard menus with up to 10 items
Numbered Menu 10 60 characters Longer option labels that need more text

Choosing a Menu Type

  • Quick Reply Buttons appear as tappable buttons directly in the chat — great for simple choices like "Yes / No" or "Continue / Cancel".
  • List Message shows a button the customer taps to see a dropdown list — ideal for 4–10 options.
  • Numbered Menu sends options as a numbered text list (1, 2, 3...) — the customer replies with the number. Use when labels need more than 24 characters.

Properties

Property Type Required Default Description
title Text No "" Internal node name
body Text Yes "" Prompt message shown above the options
menuType Select Yes list Display format: buttons, list, or numbered
options List Yes [] Array of options, each with an id and label

Option Properties

Each option in the list has:

Property Type Description
id Auto-generated Unique identifier used for edge routing
label Text The text shown to the customer

Inputs

Handle Type Description
Top (↑) Target Receives a connection from any preceding node

Outputs

Handle Type Description
Per-option (→) Menu Option Each option gets its own output handle on the right side. Connect each one to the node that should follow when the customer picks that option.

No bottom handle

Unlike most nodes, the Menu node does not have a "continue" output at the bottom. All routing goes through the individual option handles.


Connection Rules

  • ✅ Can receive connections from any node type
  • ✅ Each option must be connected to a target node (validation error if not)
  • ❌ A Menu with zero options produces a validation error
  • ✅ Different options can connect to the same target node
  • ✅ Options can loop back to the same Menu (for sub-menu patterns)

Example Flow Diagram

flowchart TD
    A["💬 Welcome"] --> B["📋 Main Menu<br/><em>How can I help?</em>"]
    B -->|"1. Products"| C["📋 Products Sub-Menu"]
    B -->|"2. Support"| D["🤖 AI Chat"]
    B -->|"3. Agent"| E["👤 Human Handoff"]

    C -->|"Widget A"| F["💬 Widget A Details"]
    C -->|"Widget B"| G["💬 Widget B Details"]
    C -->|"Back"| B

    F --> B
    G --> B

    style B fill:#ede9fe,stroke:#8b5cf6,stroke-width:2px
    style C fill:#ede9fe,stroke:#8b5cf6,stroke-width:2px
    style D fill:#d1fae5,stroke:#34d399,stroke-width:2px
    style E fill:#ffe4e6,stroke:#f43f5e,stroke-width:2px

Managing Options

Adding Options

Click "Add Option" in the Inspector. A new blank option appears at the bottom of the list.

Reordering Options

Use the ↑ / ↓ arrows next to each option to move it up or down in the list.

Removing Options

Click the ✕ button next to an option. This also removes any edge connected to that option.

Label Limits

The Inspector shows a character counter for each label (e.g., 12/24). Labels that exceed the limit are highlighted in red.


Best Practices

  • ✅ Keep option labels short and clear — customers should instantly understand each choice.
  • ✅ Always include an "Other" or "Talk to Agent" option for customers whose needs aren't covered.
  • ✅ Add a "Back" option in sub-menus so customers can navigate to the parent menu.
  • ✅ Limit to 3–5 options for the best experience, even if the menu type allows more.
  • ✅ Use the prompt text to set context (e.g., "Choose a department:" rather than just "Options:").
  • ✅ Use Quick Reply Buttons for binary choices (Yes/No, Continue/Cancel).

Common Mistakes

Mistake What Happens Fix
Menu with no options Validation error: "Menu has no options" Add at least one option
Unconnected option Validation error: "Option 'X' has no route" Connect every option to a target node
Label exceeds character limit WhatsApp may truncate or reject the message Shorten labels to stay within limits
Too many options for the menu type Options beyond the limit are ignored Switch to List Message or Numbered Menu
No "back" or "escape" option Customers get stuck in a sub-flow Add a "Back to Menu" or "Talk to Agent" option