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
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.
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.
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.