Skip to content

Validation Rules & Readiness Score

The Menu Designer automatically validates your flow and calculates a Readiness Score before you publish. This page documents every validation check and how the score is calculated.


Readiness Score

The Readiness Score is a percentage (0–100%) shown at the top of the designer. It tells you how complete and well-configured your flow is.

Score Calculation

Check Points Required? Description
Entry point defined 20 ✅ Yes At least one Entry Point node exists
Entry point connected 15 ✅ Yes The Entry Point has at least one outgoing edge
Welcome message configured 10 No At least one Message node with text content
All menu options have routes 25 ✅ Yes Every option in every Menu node is connected
No unreachable nodes 15 No All nodes can be reached from the Entry Point
Fallback / handoff configured 10 No At least one Human Handoff or AI Chat node exists
AI Chat connected 5 No At least one AI Chat node in the flow
Total 100

Required checks

Checks marked "Required" must pass for the flow to be publishable. Optional checks improve the score but don't block publishing.

Score Ranges

Score Meaning
0–39% 🔴 Not ready — critical elements missing
40–59% 🟡 Partially ready — needs work
60–79% 🟢 Publishable — but could be improved
80–100% ✅ Excellent — well-configured flow

Validation Checks

The designer runs these checks and reports errors (must fix) and warnings (should fix):

Errors (Block Publishing)

# Check Error Message Fix
1 Empty flow "Flow is empty. Add an Entry Point node to start." Add at least one node
2 No entry point "No entry point defined. Add an Entry Point node from the palette." Add an Entry Point
3 Multiple entry points "Multiple entry points found (N). Only one is allowed." Delete extra Entry Points
4 Entry point not connected "Entry point has no outgoing connection. Connect it to a Welcome Message." Connect the Entry Point to a node
5 Menu with no options "Menu 'X' has no options." Add at least one option to the Menu
6 Unrouted menu option "Menu 'X': option 'Y' has no route." Connect every option to a target node
7 Disconnected node "'X' is completely disconnected — connect it to the flow." Connect the node (both incoming and outgoing)
8 AI Chat without fallback "AI Chat 'X' has no fallback message configured." Add a fallback message
9 Media without source "Document/Image 'X' has no media source — set an alias or URL." Upload a file or enter a URL

Warnings (Don't Block Publishing)

# Check Warning Message Fix
10 Unreachable node "'X' is unreachable from the entry point." Connect a path from the Entry Point to this node, or delete it
11 Missing condition route "Condition 'X' has no 'Yes'/'No' route." Connect both branches
12 Empty content "'X' has no content." Add a title and/or message body
13 Loop detected "The flow contains a loop. Make sure cycles are intentional." Verify the loop is deliberate
14 Dead end "'X' is a dead end — the conversation stops here." Connect to a next node (or loop to a Menu)

Validation Flow Diagram

flowchart TD
    A["Start Validation"] --> B{"Flow empty?"}
    B -->|Yes| C["❌ Error: Empty flow"]
    B -->|No| D{"Entry point exists?"}
    D -->|No| E["❌ Error: No entry point"]
    D -->|Yes| F{"Only one entry?"}
    F -->|No| G["❌ Error: Multiple entries"]
    F -->|Yes| H{"Entry connected?"}
    H -->|No| I["❌ Error: Entry not connected"]
    H -->|Yes| J["Check reachability"]
    J --> K["Check menu options"]
    K --> L["Check conditions"]
    L --> M["Check content"]
    M --> N["Check cycles"]
    N --> O["Check dead ends"]
    O --> P["Check media sources"]
    P --> Q["Check AI Chat"]
    Q --> R["Report Issues"]

Understanding Validation Results

Where to See Results

Validation results appear in several places:

  1. Readiness Score — the percentage at the top of the designer
  2. Validation Panel — click the readiness score to see all issues
  3. Node highlighting — nodes with issues are highlighted on the canvas
  4. Pre-publish check — the designer shows all issues before you confirm publishing

Fixing Issues

Click any issue in the validation panel to navigate to the affected node on the canvas. The Inspector opens automatically so you can fix the problem.