Rules & Limits
Understanding the rules and limits of chatbot flows helps you design effective conversations that work within the system's constraints.
WhatsApp message limits
These limits are set by WhatsApp and apply to all message types:
| Component | Maximum |
|---|---|
| Text message body | 4,096 characters |
| Interactive body | 1,024 characters |
| Interactive header (text) | 60 characters |
| Interactive footer | 60 characters |
| Interactive buttons | 3 buttons per message |
| Button label | 20 characters |
| List menu button text | 20 characters |
| List sections | 10 sections |
| List rows per section | 10 rows |
| List total rows | 30 across all sections |
| List row title | 24 characters |
| List row description | 72 characters |
| SPM products | 1 product |
| MPM products | 30 products across up to 10 sections |
Flow structure rules
| Rule | Details |
|---|---|
| One trigger per flow | Every flow must have exactly one Trigger node |
| Trigger must be first | The Trigger node must be the starting point of the flow |
| No loops | Connections cannot create circular paths (A → B → C → A) |
| Flow names must be unique | No two flows can have the same name (case-insensitive) |
| Unique keywords | Two active flows cannot share the same keyword |
| Unique button IDs | Two active flows cannot use the same button click trigger ID |
Field limits
| Field | Minimum | Maximum |
|---|---|---|
| Flow name | 3 characters | 255 characters |
| Flow description | — | 1,000 characters |
| Version change summary | — | 500 characters |
Node rules
| Rule | Details |
|---|---|
| Trigger node | Cannot be deleted; every flow must have one |
| End node | Every path should end with an End node |
| Connected nodes | All nodes must be reachable from the trigger |
| Template messages | Only approved templates can be used |
| HTTP Call timeout | Configurable per node (set a reasonable timeout to avoid hanging) |
Activation rules
| Rule | Details |
|---|---|
| Version required | Flow must have at least one saved version |
| Published version | Only published versions can be activated |
| Keyword conflict | Cannot activate if keywords conflict with another active flow |
| Button ID conflict | Cannot activate if button ID conflicts with another active flow |
| Active conversations | Cannot delete a flow with active conversations |
Manual trigger limits
| Limit | Value |
|---|---|
| Contacts per trigger | Up to 5 contacts per request |
| Marketing limit | Up to 4 marketing messages per contact before blocking |
Variable rules
| Rule | Details |
|---|---|
| Naming | Letters, numbers, and underscores only |
| Case sensitive | {{Name}} and {{name}} are different |
| Scope | Variables exist only within a single flow execution |
| Empty variables | Appear as empty text in messages if not set |
Permission requirements
| Action | Who can do it |
|---|---|
| View flows | Users with flow view permissions |
| Create/edit flows | Users with flow edit permissions |
| Activate/deactivate | Users with flow management permissions |
| Delete flows | Users with flow delete permissions |
| Trigger manually | Users with flow trigger permissions |
| View logs | Users with flow log permissions |
info
Permission requirements depend on your organization's role configuration. Contact your administrator if you need access to specific features.