Welcome to the ultimate guide on building flows with Controlled Flow, the visual builder of Cloud Chat. Here you'll understand what each button does, when to use and how to set it up — with practical examples that help you decide the best path for your case.
🧱 How does a flow work?
A flow is like a guided conversation, with a beginning, middle, and end.
-
It can start with a message (e.g., “Hello! How can I assist you?”)
-
The customer responds (e.g., “I want to check my order status”)
-
Controlled Flow understands and decides what to do with that information
-
And proceeds: fetching data, routing, or ending the conversation
💡 Each step is a block, and you can connect blocks like assembling a puzzle.
🔢 Types of available blocks

💬 Bubbles (Messages)
📌 Text
-
What is it? Block used to send visible messages to the customer (or internal user).
-
What does it do: Sends a message to the customer.
-
When to use: Whenever you want to display information, confirmation, notification, or instruction.
-
How to use: Drag the block into the flow, write your message in the “Text” field, and that's it.
-
Example: “Hello! Please fill out the following form to proceed with your request.”
✏️ Inputs (Data Collection)
📌 Text
-
What is it? Collects data entered by the user: name, code, order number, etc.
-
When to use: To get the order number, CPF, email, or any other data.
-
How to use: Place the block in the flow, write the question, and define the variable that will store the answer (e.g., customer_name).
Example:
-
“What is your order number?”
-
Store as: order_number
Logic
This is where the flow’s “decisions” start — like a “if this, then that”.
🔁 Set Variable
-
What is it? Creates or updates a variable — a “box” where you store a value to reuse later in the flow.
-
Why is it useful?
-
Reusability: Define once and use in multiple places.
-
Organization: Keeps the flow cleaner and more readable.
-
Automation: Can store the result of calculations, integrations, or inputs.
-
Decision making: Can be used in conditions to choose different paths.
-
-
How to use?
-
Drag the “Set Variable” block into the flow.
-
Choose an existing variable or create a new one (e.g., user_type).
-
Assign a value:
-
Manually (e.g., "customer")
-
From another point in the flow (e.g., API response or input)
-
-
-
Examples:
-
flow_status = "waiting_for_validation"
-
discount = 0.15
-
final_message = customer_name + ", your request has been received!"
-
🔍 Condition
-
What is it? Checks a logical condition (e.g., if status == "approved") and guides flow based on the answer. In other words, creates branches: If the value X is Y, follow this path; otherwise, follow another.
-
How to use?
-
Drag the “Condition” block
-
Choose the variable to test
-
Define the value to compare (e.g., status == "approved")
-
Configure what happens for “Yes” and “No”
-
-
Example:
If customer_type == "vip" → show a personalized message
Otherwise → continue with the standard flow
💻 Script
-
What is it?
-
Block for users who can do some programming (JavaScript).
-
Allows running JavaScript code within the flow — useful for calculations, formatting, advanced logic, etc.
-
Can be used to calculate deadlines, format numbers, or other technical tasks.
-
-
How to use?
-
Drag the “Script” block
-
Enter your JS code
-
Define input and output variables
-
-
Example:
Calculate days between two dates, or format a CPF with dots.
Shortcuts and Organization
🔄 Jump
-
What is it?
-
Makes the flow “jump” to another part without passing through intermediate blocks.
-
Useful to reuse parts or shorten paths.
-
-
When to use?
-
To reuse parts of the flow
-
To redirect in a “loop”
-
To skip unnecessary steps based on a condition
-
-
Example:
If user_type == "internal", jump directly to the “End” block
🔁 Typebot
-
What is it?
-
Allows embedding another flow within the current flow.
-
Permits nesting one flow inside another.
-
-
When to use?
-
To reuse a generic flow (e.g., data verification)
-
To modularize the flow and ease maintenance
-
-
Example:
- You can create a small flow for “CPF validation” and use it in various flows.
🔗 5. Integrations (connecting with other systems)
🧠 ClaudIA
-
What is it? Integrates with Cloud Humans' AI for automation and intelligent responses. Connects with ClaudIA to:
-
Transfer conversation to N1 or N2
-
End the conversation
-
Change the topic or context of the interaction
-
-
How to use? Drag the button into the flow, define the desired interaction with ClaudIA (e.g., transfer to N2, transfer back to ClaudIA / N1, set a topic, etc.).
🌐 HTTP Request
-
What is it? Allows Controlled Flow to connect with external APIs (GET, POST, etc.)
-
How to use?
-
Drag into the flow, configure the method (GET, POST, etc.), URL, and required parameters.
-
Set up the method, URL, headers, and request body
-
Use variables to send and receive data
-
-
Example:
Check order status in your ERP
Get the status of an order in another software
📊 Google Sheets
-
What is it? Integrates with Google Sheets to read or write data in spreadsheets.
-
How to use? Drag the button, connect your Google account, choose the spreadsheet, and set the operation (read or write data).
-
Example:
-
Check if the user's CPF is on a list
-
Save the data entered during the interaction
-
🤖 OpenAI / Anthropic
-
What is it?
-
Allows sending prompts to LLM models like GPT or Claude and using the response in the flow.
-
Enables using advanced AI models to generate responses or process data.
-
-
How to use? Drag, connect to the desired AI service, and set prompts and parameters.
-
Example:
Summarize a technical explanation
Generate natural language responses
Validate if the customer wrote option 1, 2, or 3 in cases where they often choose the wrong option
📅 Cal.com
-
What is it?
-
Allows scheduling meetings directly within the flow
-
Integrates with Cal.com to manage and schedule meetings automatically.
-
-
How to use? Drag the button, connect your Cal.com account, and set up scheduling options.
-
Connect your Cal.com account
-
Choose the meeting type and available times
-
-
What is it?
-
Sends automatic emails within the flow, directly from Controlled Flow
-
Sends emails to the customer or team.
-
-
How to use? Drag, set recipient, subject, and email content.
-
Example:
Send a summary of the conversation or a contract link
⚙️ Make / Zapier
-
What is it?
-
Connects Controlled Flow with external platforms using pre-made automations
-
These external automation platforms further expand Controlled Flow's possibilities.
-
-
How to use? Drag into the flow, connect to your chosen platform account, and define the automations and flows.
-
Example:
-
Trigger an automation in your CRM
-
Update a leads database
-
🛠️ How to build your first flow from scratch
Example: “I want to check my order status”
-
Initial message (Text)
“Hello! I can help you check your order status.”
-
Question (Input)
“What is your order number?”
→ Store this as order_number
-
Condition (Condition)
If the number is filled, proceed to the next step.
-
Integration (HTTP Request)
Query your API or spreadsheet with the provided number.
-
Final message (Text)
“The status of your order is: {{order_status}}.”
🧠 Tips for Beginners
-
Use clear names for variables. Example: customer_name, plan_type, email_response
-
Think like a script: what would you say if talking to the customer?
-
Test in the Playground whenever you finish a section.
-
Start simple: you can improve gradually.
-
If in doubt, ask: “What do I want to happen after this?”
Now you know everything about how to make the most of each button and feature of Controlled Flow! 🚀✨