TL;DR

You’re getting this error because your Flow JSON has more than 100 screens. Meta caps it at exactly 100. To fix it, split your Flow into smaller chunks—ideally into 2 or more Flows with fewer than 100 screens each. Then link them using Navigation Buttons or the flow_ref action.

The Error

MAX_SCREENS_NUMBER  

Maximum number of screens allowed per Flow is 100 but found (actualCount).  

A Flow cannot have more than 100 screens.

It usually shows up when you're building a long decision tree, FAQ bot, or product catalog inside a Flow like:

{
  "version": "2.1",
  "screens": [
    {
      "id": "SCREEN_ONE",
      ...
    },
    ...
    {
      "id": "SCREEN_HUNDRED_ONE",
      ...
    }
  ]
}

Why This Happens

Meta imposes a hard limit: a single Flow cannot have more than 100 screens. It’s a platform restriction meant to keep performance tight and flows manageable.

Solution

  1. Split your Flow:

    • If your original JSON has 120 screens, break it into two Flows—one with 80 and the next with 40.

    • Maintain screen ids uniquely across the two.

  2. Use Navigation:

    • Use flow_ref to jump from the last screen of Flow A to Flow B.

    • This keeps user experience seamless and the logic modular.

  3. Avoid Repetition:

    • Modularizing lets you reuse flows. For example, a “Help” or “Feedback” flow can be called from multiple main flows.

Pro Tip: Build Smart

Instead of stuffing all logic into one Flow, plan it like a clean app:

  • Keep each Flow purpose-driven.

  • Link them logically.

This improves load speed, reduces errors, and makes your bot easier to update.

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