Flows Overview
Flows are visual automation workflows -- think of them as "if this, then that" for WhatsApp. Instead of manually sending messages, checking dates, or replying to customers one by one, you build a flow once and let it run on autopilot.
A flow is a series of connected nodes. It starts with a trigger, then processes data, makes decisions, and takes actions. You build flows by dragging nodes onto a canvas and connecting them together.

How Flows Work
Here is a simple example:
- Trigger: A new WhatsApp message comes in
- AI: Generate a smart reply using the conversation history
- Action: Send the reply back to the customer
That's a three-node flow. You can make them as simple or complex as you need -- add filters to target specific contacts, use AI to classify messages, branch based on conditions, update your contact table, and more.
Node Categories
Flows use 23 node types across 6 categories:
Triggers -- What starts the flow
- Schedule -- Run on a cron schedule (daily, weekly, monthly) or when a contact's date field matches today
- Manual -- Run on demand when you click "Run Now"
- Incoming Message -- Run automatically when a WhatsApp message is received
Actions -- What the flow does
- Send Message -- Send a WhatsApp message (text, image, video, audio, or document)
- Wait -- Pause execution for a set number of seconds
- API Call -- Make an HTTP request to any external API
- Send Email -- Send an email via SMTP
- Send Template -- Send a pre-approved WhatsApp template message (Cloud API accounts only)
AI -- Smart decisions powered by your AI provider
- AI Response -- Generate a text reply using AI (with custom system and user prompts)
- AI Classify -- Categorize a message into one of your defined categories (e.g., sales, support, billing)
- AI Yes/No -- Ask AI a true/false question to make a decision
- AI Extract -- Pull specific data out of a message (e.g., extract a name, date, or order number)
Data -- Work with your contact table
- Loop Rows -- Iterate over contacts in your table
- Filter -- Only continue for contacts that match your conditions
- Update Row -- Update fields on the current contact
- Look Up Row -- Find a contact by phone number or other field
- Add Row -- Create a new contact in the table
- Set Variable -- Store a value for use later in the flow
- Get Chat History -- Fetch recent messages with a contact
- Log -- Write a message to the execution log for debugging
Logic -- Control the flow
- If/Else -- Branch based on a field condition (equals, contains, greater than, etc.)
- Branch -- Route to different paths based on a field's value (like a switch statement)
Utility
- Note -- A sticky note for your own reference (does not affect execution)
Flows, Accounts, and Tables
Each flow is connected to one WhatsApp account and optionally to a contact table.
- The WhatsApp account determines which phone number sends and receives messages.
- The contact table provides the data your flow works with -- names, phone numbers, dates, custom fields, and anything else you track.
Not every flow needs a table. For example, an auto-reply chatbot that responds to incoming messages doesn't need one. But a birthday greeting flow that loops through contacts and checks date fields does.
Activating a Flow
Flows can be active or inactive.
- Active flows run automatically based on their trigger. A scheduled flow runs on its schedule. An incoming message flow fires whenever a message arrives.
- Inactive flows sit idle. You can still run them manually with "Run Now," but they won't trigger on their own.
You must select a WhatsApp account before you can activate a flow. The editor will warn you if anything is missing.
