When building WhatsApp Flows using a routing_model, you might run into this error:

INVALID_ROUTING_MODEL

Following screens are not connected with the rest of the screens: (screenIDs). All screens should be connected.

This happens when a valid screen exists in both screens and routing_model, but is isolated — meaning it can’t be reached from the main flow.

What This Error Actually Means

WhatsApp validates the entire routing model as a connected graph.

If a screen:

  • Exists in screens.

  • Is listed in routing_model.

  • But is not reachable from any other screen.

Then it is treated as disconnected — causing this error.

This is different from missing or invalid screen references. The screen itself is valid — it's just logically unreachable.

What a Connected Flow Looks Like

A connected flow has a single unified path where:

  • Every screen can be reached from an entry point (typically the first screen).

  • All routing paths connect directly or indirectly.

For example:

"routing_model": {
  "FIRST_SCREEN": [
    { "target": "SECOND_SCREEN" }
  ],
  "SECOND_SCREEN": [
    { "target": "THIRD_SCREEN" }
  ],
  "THIRD_SCREEN": []
}

All screens are linked → No error.

Invalid Example (Disconnected Routing)

{
  "routing_model": {
    "FIRST_SCREEN": [
      { "target": "SECOND_SCREEN" }
    ],
    "THIRD_SCREEN": []
  },
  "screens": [
    { "id": "FIRST_SCREEN", ... },
    { "id": "SECOND_SCREEN", ... },
    { "id": "THIRD_SCREEN", ... }
  ]
}

Problem:

  • THIRD_SCREEN is never linked from any screen.

  • It's in routing_model and screens, but is orphaned.

WhatsApp throws:

INVALID_ROUTING_MODEL  

Following screens are not connected with the rest of the screens: THIRD_SCREEN.

Fixed Example

{
  "routing_model": {
    "FIRST_SCREEN": [
      { "target": "SECOND_SCREEN" }
    ],
    "SECOND_SCREEN": [
      { "target": "THIRD_SCREEN" }
    ],
    "THIRD_SCREEN": []
  },
  "screens": [
    { "id": "FIRST_SCREEN", ... },
    { "id": "SECOND_SCREEN", ... },
    { "id": "THIRD_SCREEN", ... }
  ]
}

Now all screens are connected in a single flow → Error resolved

How to Fix It (Step-by-Step)

1. Read the Error Message: Following screens are not connected with the rest of the screens: SCREEN_X

2. Check the routing_model Graph:

  • Is SCREEN_X linked from any other screen?

  • If not, it's disconnected.

3. Fix It by:

  • Linking to the screen from a previous step.

  • Or removing the screen if it’s not supposed to be in the flow.

Graph Validation Tips

  • Start from entry screen (e.g. FIRST_SCREEN).

  • Trace all reachable screens using target.

  • Any screen not part of this trace is considered disconnected.

  • A flow is valid only if it forms a single connected graph.

For more troubleshooting insights related to WhatsApp Business API, check out heltar.com/blogs.