WhatsApp Flows Architecture & Overview
WhatsApp Flows allows businesses to build rich, interactive, native app-like user experiences directly inside WhatsApp conversations. Instead of sending long sequences of text messages or fragile chatbot button menus, Flows provide native form controls, multi-screen navigation, date pickers, image sliders, and secure data submission.
1. What Are WhatsApp Flows?
Traditional WhatsApp messaging relies on plain text, quick reply buttons (limited to 3 choices), and list pickers (limited to 10 rows). WhatsApp Flows introduces a complete UI runtime rendered natively on Android and iOS client devices.
Key Capabilities
- Native UI Controls: Text inputs, multiline text areas, search-enabled dropdown sheets, radio groups, checkboxes, and interactive calendars.
- Multi-Screen State Machine: Seamlessly navigate across up to 50 screens within a single conversational interaction.
- Dynamic Data Exchange: Query external APIs and databases in real time to populate dynamic dropdowns, fetch available appointment slots, or calculate live loan quotes.
- End-to-End Encryption: Every payload transmitted between WhatsApp servers, client devices, and your endpoint is encrypted with military-grade RSA-2048 and AES-GCM cryptography.
2. Static Flows vs. Dynamic (Endpoint) Flows
WhatsApp Flows can operate in two distinct modes depending on your business requirements:
| Architecture Mode | Data Source | Routing Logic | Typical Use Cases |
|---|---|---|---|
| Static Flow (Without Endpoint) | Embedded directly in Flow JSON | Hardcoded via button navigation | Lead generation, contact info capture, Net Promoter Score (NPS) surveys, feedback forms. |
| Dynamic Flow (With Endpoint) | Fetched live via HTTPS webhook | Dynamically determined by backend response | Live appointment slot booking, dynamic price calculators, KYC identity verification, order tracking. |
3. The Flow Lifecycle & Health Monitoring
Meta WhatsApp Flows operate under a strict, event-driven state machine governed by the Flows Graph API and Meta's automated quality system.
Flow Lifecycle State Machine
┌────────────────────────┐
│ DRAFT │
└───────────┬────────────┘
│ │
(Delete) │ │ (Publish API)
▼ ▼
┌─────────────┐ ┌────────────────────────┐
│ DELETED │ │ PUBLISHED │◄───────────────────┐
└─────────────┘ └───────────┬────────────┘ │
│ │
(Deprecate API)│ (High Latency / Error Rate) │ (Resolved /
▼ │ Recovered)
┌────────────────────────┐ │
│ THROTTLED ├────────────────────┤
└───────────┬────────────┘ │
│ │
│ (Persistent Failures >10%) │
▼ │
┌────────────────────────┐ │
│ BLOCKED ├────────────────────┘
└───────────┬────────────┘
│
(Deprecate API)│
▼
┌────────────────────────┐
│ DEPRECATED │
└────────────────────────┘Flow States Breakdown
| State | Modifiable? | Sendable? | User Experience | Description |
|---|---|---|---|---|
| DRAFT | Yes | Test numbers only | Displays top "Testing / Draft" banner | Initial state upon creation. Flow JSON, screens, and assets can be edited freely. Can be permanently deleted. |
| PUBLISHED | No (Immutable) | All WhatsApp users | Clean native experience | Production state. Flow JSON cannot be modified. To update, clone into a new Draft and publish. |
| THROTTLED | No | Limited | Degraded / rate-limited | Automatically applied by Meta if endpoint response time or error rate degrades. Rate of sending is capped. |
| BLOCKED | No | No | Cannot be opened | Automatically triggered if endpoint error rate exceeds 10% over 1 hour or fails ping health checks. |
| DEPRECATED | No | No | In-flight sessions can finish | Terminal state. Cannot be sent in new messages or re-published. Existing open sessions can finish. |
| DELETED | No | No | N/A | Terminal state. Only Draft Flows can be deleted via DELETE /{flow_id}. |
Flow Health & Quality Monitoring
For dynamic Flows utilizing an HTTPS endpoint, Meta actively monitors three critical quality metrics:
- Endpoint Error Rate: Percentage of HTTP 4xx/5xx responses or unhandled exceptions.
- Endpoint Latency: Processing time from request receipt to response generation (Meta timeout is 10 seconds; recommended < 1.5s).
- Client Error Rate: Exceptions raised inside the WhatsApp mobile client (e.g., malformed screen JSON or invalid data types returned from endpoint).
Alert Webhooks
When error rates or latency cross danger thresholds, Meta dispatches real-time alert webhooks to your subscribed webhook URL:
endpoint_error_rate(Warns before throttling)endpoint_latency(Warns of degraded user experience)client_error_rate(Highlights UI schema mismatch)
[!WARNING]
Zero Unhandled Errors Policy: If your endpoint returns an error rate > 10% within a rolling 1-hour window, Meta will immediately transition your Flow to BLOCKED. Subscribed webhooks will deliver early warning alerts prior to blocking.
4. SMSPort WhatsApp Flows Ops Console
SMSPort provides an enterprise management console for WhatsApp Flows under /whatsapp-flows:
- Inventory & Sync: Automatic synchronization with Meta's Graph API across all connected WhatsApp Business Accounts (WABAs).
- 10 Production Presets: Battle-tested templates for appointment scheduling, loan pre-approvals, insurance quotes, and lead capture.
- Live Phone Simulator: Real-time WhatsApp device preview with interactive components, template variable resolution, and bottom sheet pickers.
- Real-Time Meta Validator: Automatic pre-flight syntax and structural validation ensuring 100% compliance with Meta specifications before saving or publishing.