Frequently Asked Questions
General
What are WhatsApp Flows?
WhatsApp Flows are interactive forms and experiences that customers complete directly inside WhatsApp. They work like mini apps — with input fields, dropdowns, date pickers, checkboxes, and buttons — all within the chat window. See Overview for a full introduction.
What categories are available?
Eight categories: Lead Generation, Appointment Booking, Survey, Sign Up, Sign In, Contact Us, Customer Support, and Other. Choose the category that best describes your flow's purpose.
What is the flow lifecycle?
Every flow goes through three stages: Draft → Published → Deprecated. You can only edit flows in Draft status. See Overview — Flow lifecycle for details.
Can I edit a published flow?
No. Published flows are locked and cannot be edited or deleted. To make changes, clone the published flow, edit the draft copy, publish the new version, and deprecate the old one. See Flow List — Recommended update workflow.
Building flows
How many screens can a flow have?
There is no hard limit on the number of screens, but keep flows concise. Shorter flows (3–5 screens) typically have higher completion rates than long ones.
How do I add components to a screen?
Click the + Add Component button on the canvas to open the component menu. Components are organized into five categories: Text, Media, Navigation, Text Answer, and Selection. Click any component to add it. See Flow Builder — Adding components.
Can I reorder components?
Yes. Drag components using the handle icon (⋮⋮) on the left side to reorder them. The Footer component is always pinned to the bottom and cannot be moved.
Can I delete a screen?
Yes, click the delete icon next to a screen in the left panel. You cannot delete the last remaining screen — a flow must have at least one screen.
What are terminal screens?
A terminal screen is the last screen in a flow path. Its footer action is set to Complete instead of Navigate, which means tapping the button submits the flow. Terminal screens are auto-detected based on the footer configuration.
How do I use footer actions?
Every screen has a Footer component with an action button. The available actions are Navigate (go to next screen), Complete (submit the flow), Data Exchange (send data to your server), and Update Data (update the current screen). See Flow Builder — Footer actions.
Data and references
What are global references?
Global references let you access values from anywhere in the flow. For example, ${form.email} gets the email the customer entered on the current screen, and ${screen.WELCOME.form.name} gets the name from the WELCOME screen. See Dynamic Data — Global references.
How do I use ${form.field} references?
Type the reference syntax directly into any property field that accepts dynamic values, or use the Reference Picker dialog by clicking the reference icon next to the field. The ${form.field} format accesses the customer's input on the current screen.
How do I configure data sources for dropdowns and lists?
Select the component, then choose a data source in the configuration panel: Static (manual options), Initial Payload (from the opening payload), or Screen Data (dynamic from your server). See Dynamic Data — Data sources.
What is the initial payload?
The initial payload is data that is sent when the flow first opens. It can include customer details, product lists, or any context that your flow needs from the start. Configure it in the Initial Payload dialog.
What's the difference between static and dynamic data?
Static data is manually entered in the flow builder and stays the same for every customer. Dynamic data comes from the initial payload or your server (via data exchange) and can be different for each customer or change over time.
Data exchange
What is data exchange?
Data exchange lets your flow communicate with your server in real time. When a customer taps a data exchange button, the form data is sent to your server, and the response populates the next screen. See Data Exchange for details.
Do I need data exchange?
Only if your flow needs to:
- Fetch dynamic data at runtime (e.g., available time slots)
- Validate input against your database (e.g., unique email check)
- Process data and return results (e.g., price calculations)
Simple forms that collect static data don't need data exchange.
How does encryption work?
All data exchange communication is encrypted using RSA-2048 + AES-128-GCM. EzPulze manages the encryption keys automatically. See Data Exchange — Encryption.
What are validation rules?
Validation rules check the customer's input before processing it — things like required fields, email format, phone format, minimum length, regex patterns, and database uniqueness checks. There are 12+ built-in validators. See Data Exchange — Validation rules.
How do I test data exchange?
Use the Send Test feature to send the flow to your own WhatsApp. You can provide screen data JSON in the test dialog to simulate server responses without needing a running server. See Data Exchange — Send test flow.
Preview and testing
How do I preview my flow?
The flow builder has a live preview on the right panel that shows how the current screen looks on a customer's phone. See Flow Builder — Preview.
What's the difference between normal and interactive preview?
Normal mode shows a static preview of the selected screen. Interactive mode lets you fill in fields, tap buttons, and navigate between screens — simulating the full customer experience.
How do I send a test flow?
Click Send Test from the flow builder or flow list. Enter a recipient phone number, configure optional settings (flow token, first screen, screen data), and click Send. See Data Exchange — Send test flow.
Can I test draft flows?
Yes! You can send test flows for Draft flows without publishing. This is the recommended way to test before going live.
Publishing
Is publishing permanent?
Yes. Once a flow is published, it cannot be edited, unpublished, or deleted. Make sure to test thoroughly before publishing.
How do I update a published flow?
Clone the published flow → edit the draft copy → publish the new version → deprecate the old version. See Flow List — Recommended update workflow.
How do I deprecate a flow?
Click Deprecate from the flow's actions menu and confirm. Deprecated flows stop receiving new responses but preserve all historical data.
Can I re-publish a deprecated flow?
No. Deprecation is irreversible. If you need the flow again, clone it to create a new Draft version and publish that.
Responses
Where do responses appear?
Click View Responses from the flow's actions menu. All submissions are listed with the contact name, phone number, and submission date. See Responses & Analytics — Flow responses.
How are responses collected?
Responses are collected automatically via webhooks when customers submit a flow. No additional configuration is needed.
Can I export responses?
Yes. Click Export to CSV on the responses page to download all submissions as a spreadsheet with phone numbers, dates, and all form field values.
What format are responses in?
Each response contains the full JSON of the customer's form data — every field from every screen. When viewing in the app, it's shown in a structured format. When exported, each field becomes a CSV column.
Analytics
What metrics are tracked?
Four metrics: Flows Sent (how many times sent), Flows Opened (how many customers opened it), Flows Completed (how many submitted), and Flows Abandoned (how many opened but didn't finish). See Responses & Analytics — Flow analytics.
How is completion rate calculated?
Completion Rate = (Flows Completed / Flows Opened) x 100%. It measures how many customers who opened the flow actually finished and submitted it.
Can I export analytics data?
Yes. Click Export CSV on the analytics page to download daily metrics as a spreadsheet.