When designing data-channel-less WhatsApp Flows (where navigation between screens is handled directly via on-click-action in the UI), you may encounter this error:
INVALID_ROUTING_MODEL
Following screens are not connected with the rest of the screens via navigate screen action: (screenIDs). All screens should be connected.
This error points to a broken navigation graph, meaning one or more screens are logically unreachable from the main flow through navigate actions.
Root Cause
In a data-less flow (no routing_model block), WhatsApp internally builds a screen routing graph by analyzing:
"on-click-action": {
"name": "navigate",
"next": {
"name": "SCREEN_ID",
"type": "screen"
}
}
If a screen exists in the screens array, but there’s no valid navigate path leading to it, it’s considered disconnected — and WhatsApp throws this error.
Problem Example
{
"screens": [
{
"id": "FIRST_SCREEN",
"layout": {
"children": [
{
"type": "Footer",
"on-click-action": {
"name": "navigate",
"next": {
"name": "SECOND_SCREEN",
"type": "screen"
}
}
}
]
}
},
{
"id": "SECOND_SCREEN",
...
},
{
"id": "THIRD_SCREEN",
...
}
]
}
Issue:
FIRST_SCREEN navigates to SECOND_SCREEN.
THIRD_SCREEN exists, but no screen navigates to it.
No navigate action leads to THIRD_SCREEN.
So WhatsApp throws:
INVALID_ROUTING_MODEL
Following screens are not connected with the rest of the screens via navigate screen action: THIRD_SCREEN
Fixed Example
Add a navigation path to the missing screen:
{
"screens": [
{
"id": "FIRST_SCREEN",
"layout": {
"children": [
{
"type": "Footer",
"on-click-action": {
"name": "navigate",
"next": {
"name": "SECOND_SCREEN",
"type": "screen"
}
}
}
]
}
},
{
"id": "SECOND_SCREEN",
"layout": {
"children": [
{
"type": "Button",
"on-click-action": {
"name": "navigate",
"next": {
"name": "THIRD_SCREEN",
"type": "screen"
}
}
}
]
}
},
{
"id": "THIRD_SCREEN",
...
}
]
}
Now:
FIRST_SCREEN → SECOND_SCREEN → THIRD_SCREEN forms a fully connected path.
No disconnected screens.
Flow deploys without error.
In flows without a routing_model, WhatsApp builds the screen graph by parsing all on-click-action: navigate blocks. Every screen must be reachable via this graph — otherwise it is marked as disconnected.
For more troubleshooting insights related to WhatsApp Business API, check out heltar.com/blogs.