AI & Automation

Build chatbots with Flow Studio

9 min readUpdated October 2026Pro · Custom
Flow Studio is a drag-and-drop canvas for building chat bots. You connect blocks — a trigger, messages, questions, AI steps and actions — into a flow that replies to customers on its own. Flows run on WhatsApp, RCS, Instagram and Messenger (SMS blocks are in the editor, but SMS is under development), and you can test any flow on your own phone before it goes live.
What Flow Studio does

A flow starts when something happens — a customer sends a keyword, a new conversation begins, or a lead sits in a funnel stage. From there it sends messages, waits for answers, branches on what the customer picks, and takes actions like tagging the contact, creating a lead or handing the chat to your team.

Use Flow Studio for conversations. Use Automations for timed follow-up sequences. Here is how to choose:

Flow StudioAutomations
Best forChat bots, lead qualification, menus, booking questions, AI-assisted supportDrip sequences and follow-ups spread over hours or days
What starts itA keyword, a new conversation, or a daily check on a funnel stageA CRM or store event, such as Lead Created, Contact Created, Order Created, Payment Received, Cart Abandoned or a custom date field
ShapeA branching canvas — each button or answer can lead somewhere differentA step-by-step list of waits and messages
Reacts to repliesYes — buttons, list menus, "Wait for reply" and AI blocks branch on the answerMostly time-based
They work well together. A flow can qualify a lead with a few questions and use Create lead, and a Lead Created automation can then send the follow-up sequence over the next few days.
Before you begin
01
Check your plan
Flow Studio is part of the Automations feature, included in the Pro plan. If your plan doesn't include it, the page shows a locked screen instead of the canvas. See Billing & plans to upgrade.
02
Connect your channels
Flows reply on WhatsApp by default. To send on RCS, Instagram or Messenger, that channel must be connected to your workspace first. See Connect your channels.
03
Open Flow Studio
In the sidebar, open Automate and click Flow Studio. You'll see all your flows as cards, each with its status, version number, channels and last-updated date.
The AI Agent reply block answers using the AI Agent you set up in Automate → AI Agent. Set up your AI Agent first if you plan to use it. See Set up your AI Agent.
Create a flow

At the top of the flow list there are three ways to start:

ButtonWhat it does
New flowCreates an empty flow called "Untitled flow" with one Keyword trigger block (keyword: hi) already on the canvas.
AI BuilderDescribe your bot in plain English and click Generate flow. The AI builds the whole flow for you. Review every block before you publish.
TemplatesStart from a ready-made flow and customise it.

The template gallery includes:

TemplateWhat it does
Lead Qualifier (Real Estate)Qualifies buyers by budget and timeline, and sends hot leads to an agent
Clinic Appointment BookingLets customers pick a slot from a list menu, confirms it and alerts the owner
Restaurant Order TakerSends the menu, captures the order with AI and alerts the owner
Cart Recovery (D2C)A win-back sequence with an A/B-tested offer
AI Support Agent + HandoffAI answers questions and sends complaints or urgent chats to a person
Omnichannel Blast (Smart Send)Tries WhatsApp first, then RCS, then SMS (SMS is under development)
Give the AI Builder the full picture in one go: what the customer types, what you send back, which options to offer and what happens for each one. For example: "When someone says price, send the catalogue, then offer two options. If they're interested, hand over to an agent; otherwise follow up after 1 day."
Using the canvas
app.tanvik.io/flow-studio
The Flow Studio canvas and block list

When you open a flow, the editor has three parts: the block palette on the left, the canvas in the middle and the settings panel on the right. The toolbar at the top holds the flow name, its status, and the Analytics, version, Test on my WhatsApp and Publish buttons.

To do thisDo this
Add a blockDrag it from the palette onto the canvas, or click it in the palette (handy on mobile)
Connect two blocksClick an output dot on the right side of a block, then click the input dot on the left of the block it should lead to
Remove a connectionClick the connecting line
Edit a blockClick it. Its settings open in the right panel, with a live message preview for message blocks
Move a blockDrag it by its coloured header
Delete a blockClick the × on its header, or select it and press Delete or Backspace
Move aroundDrag an empty part of the canvas to pan. Scroll to zoom in and out
Rename the flowClick the name in the toolbar and type
Your work saves automatically about a second after each change. Saving does not change what customers see — a live flow only updates when you Republish.

Blocks with choices have one output per choice. A Buttons block has one output per button plus Any other reply. A Condition block has Yes and No. Each output connects to one next block — connecting it again replaces the old connection.

Block reference

Blocks are grouped in the palette as Triggers, Messages, Logic, AI and Actions.

TriggerStarts the flow when…Settings
Keyword triggerAn incoming message matches your keywordsTrigger keywords (comma separated). Match type: Contains or Exact word
New conversationA brand-new conversation begins on WhatsAppNone
Daily · funnel stageOnce a day, for every lead currently in a funnel stage. The same lead is not triggered twice on the same dayFunnel stage (exact match)
Message blockSendsSettings
Text messageA plain messageMessage text, and Send on channel: WhatsApp (default), RCS, Instagram DM or FB Messenger (SMS is also listed but is under development)
ButtonsA message with quick-reply buttonsMessage text, buttons (max 3), reply timeout (minutes)
List menuA message with a tap-to-open listMessage text, list button label, list options (max 10), reply timeout (minutes)
Image / MediaAn image, video or documentType, a public https URL, optional caption, send on channel
WA TemplateAn approved WhatsApp templateApproved template name and language code (e.g. en)
Smart Send (fallback)One message on the first channel that succeeds: WhatsApp → RCS → SMS (SMS is under development)Message text
SMSA text message. SMS is under development, so do not use this block yetSMS text (160 characters is ideal)
RCS messageAn RCS messageRCS message text
Logic blockWhat it doesOutputs
Wait / DelayPauses the flow for a set number of days, hours and minutesNext
Wait for replyWaits for the customer to answer, up to a timeout in minutes (default 24 hours)Replied · No reply (timeout)
Condition (if/else)Checks a field — Last reply, Contact name, Channel, AI intent, vars.budget, Funnel stage and more — with contains, equals, not equals, greater than, less than or has any valueYes · No
A/B splitSends a percentage of contacts down variant A and the rest down variant BVariant A · Variant B
AI blockWhat it doesOutputs
AI Agent replyYour AI Agent answers, then the flow continuesNext
AI classify intentSorts the customer's message into categories you define, e.g. interested, not interested, questionOne per category
AI extract fieldsPulls details such as name, city or budget out of the customer's reply and saves them as variablesNext
Action blockWhat it does
Add tag / Remove tagAdds or removes a tag on the contact
Set fieldSaves a value into a variable you name
Create leadAdds the contact to Leads at the stage you choose: New, Contacted, Qualified, Proposal, Won, Lost or Closed
Human handoffPauses the bot and assigns the chat to an agent, with an optional message to the customer first. Ends the flow
Alert ownerSends a WhatsApp alert to a number you enter, e.g. "{{name}} needs attention"
Webhook / API callCalls a URL of your choice with POST or GET, so you can notify another system
Jump to flowContinues in another flow you've built. Ends this flow
Personalise with variables

Message text can include variables that Tanvik fills in for each customer:

VariableBecomes
{{name}}The contact's name
{{phone}}The contact's phone number — useful in Alert owner messages
{{vars.slot}}Any value saved earlier in the flow by AI extract fields or Set field. Replace slot with your field name

For example, an AI extract fields block set to extract slot lets a later message say "Your appointment is noted for {{vars.slot}}."

Test, publish & versions
01
Test on your own phone
Click Test on my WhatsApp, enter a number in the format +91XXXXXXXXXX and click Start test. The flow starts on that number straight away, using your current draft. Reply on your phone to walk through each branch.
02
Publish
Click Publish. The flow must have a trigger block, and the trigger must be connected to the next block. The status changes to Active and the version number goes up.
03
Make changes and republish
Edit the live flow as needed, test again, then click Republish. Customers keep getting the last published version until you do.
04
Roll back if needed
Click the version button (e.g. v3) to open Version history. Tanvik keeps your last 10 published versions. Click Restore to load one back onto the canvas, review it, then publish.
StatusMeaning
DraftNever published. Not replying to customers
ActiveLive and replying to customers
PausedStopped with Pause. Click Publish to make it live again
Example: a welcome journey

This flow greets every new customer, asks what they need and sends them to the right place.

01
Create the flow
Click New flow and rename it "Welcome journey". Delete the starter Keyword trigger and drag in a New conversation trigger instead.
02
Say hello and tag the contact
Add a Text message: "Hi {{name}}! Welcome to our store." Connect the trigger to it. Then add an Add tag block with the tag welcome and connect it after the message.
03
Ask what they need
Add a Buttons block: "How can we help?" with the buttons See products, Talk to sales, Support. Connect the tag block to it. The block now shows four outputs: one per button plus Any other reply.
04
Wire up each answer
See products → an Image / Media block with your catalogue link. Talk to sales → Create lead (stage: Qualified) → Human handoff. Support and Any other reply → AI Agent reply.
05
Test, then publish
Use Test on my WhatsApp and tap each button on your phone. When every path works, click Publish.
Manage live flows
ActionHow
See how a flow performsClick Analytics in the toolbar. Each block shows how many contacts entered it. Click a block for Entered, Sent, Clicked and Errors counts
Stop a flowOpen it and click Pause
Delete a flowOn the flow list, click the bin icon on its card and confirm. The flow stops responding to new messages
Share a flow with a teammateCopy the address bar while the flow is open. The link opens straight into that flow
WhatsApp Forms

Next to the Flow Studio tab at the top of the page you will see a WhatsApp Forms tab. WhatsApp Forms are Meta's in-chat forms: customers fill them in on screens inside WhatsApp. They now live in Forms (the WhatsApp forms tab), and the tab here simply opens that page. See Capture leads with Forms.

Billing & replies to ads

Messages a flow sends are billed from your wallet at your message rates. They do not use your 1,000 free monthly messages, which cover the Inbox and the AI Agent. See Free messages and how messages are billed.

You can also use a published flow as the first reply to people who message you from an ad, for one ad or for all of them. See Choose the first reply for chats from ads.

Tips & troubleshooting
Always give people a way to reach a human
Connect Any other reply and timeout outputs to something useful — an AI Agent reply or a Human handoff — so nobody gets stuck in a dead end.
Use specific keywords
"Contains" matching on a short word like "hi" fires on lots of messages. Use distinct keywords such as price or site visit, or switch to Exact word.
Don't publish without testing
Walk every branch with Test on my WhatsApp first. It's the quickest way to catch an unconnected output or a typo.
ProblemFix
"Add a trigger block first"Drag a block from the green Triggers group onto the canvas
"Connect your trigger to the first message"Click the trigger's output dot, then the input dot of your first message block
"Enter number as +91XXXXXXXXXX"Test numbers need a + and country code, with no spaces
My edits aren't reaching customersChanges save to the draft. Click Republish to make them live
A button or menu option does nothingThat output isn't connected. Every button output needs a line to a next block
Image doesn't sendThe media URL must be a public https link that opens without a login
Template block failsUse the exact name of an Approved template and its language code. See Create a WhatsApp template