Getting Started with Landbot
Introduction to Landbot 🌍
Creating & Setting Up Your Account 👥
How to create your Landbot account, set it up and invite teammates
Common reasons for not receiving account activation email
Trial period
Account Settings
Build Your First Bot 🛠️
Builder Interface Tour
How to build an agent in Landbot
Managing Data in Your Agent: A Guide to Using Fields
Languages and Translations in Landbot
Organize your flow with Bricks
Using Flow Logic in Landbot
How to Test Your Bot - Complete Guide 🧪
How to debug your agent's flow without code
Starting Point
Build it for me!
Launch and Share Your Bot 🚀
Build a bot
Bot's Settings
Bot General Settings
Web bots: Second Visit Settings
Custom System Messages
Hidden Fields (Get params / UTMs from url and use it as variables)
Landbot native SEO & Tracking tools
Typing Emulation (Message Delay)
Messages, Questions and Logic & Technical blocks
Messages
Question blocks
Buttons block
Ask for a Name block
Ask for an Email block
Ask a question block
Ask for a Phone block
Ask for a date block
Forms block
Multiple-Choice Questions with the Buttons Block
Question: Address block
Question: Autocomplete block
Question: File block
Ask for a number block
Question: Picture Choice block
Rating block
Question: URL block
Question: Yes/No block
Opinion scale block
Logic & Technical blocks
Code Blocks
Dynamic Data
How to Use the Dynamic Data Block in Landbot
Get the array's index of the user selection and extract information from array
Formulas
How to Perform Basic Calculations
Get started with the Formulas block
Formulas - Regex
Formulas - Date
Formulas - String
Formulas - Logical
Formulas - Math
Formulas - Object
Formulas - Comparison
Formulas - Array
Persistent Menu
Trigger Automation
Webhook
Landbot System Fields: Pre-created fields
Set a Field block
Any of the above Output
Global Keywords 🌍
Keyword Jump
Lead Scoring block
Jump To block
How to split bot traffic with the A/B Test block
Conditions block: check Fields and split the conversation
Conditions block: check dates, visitors and team members online
Close Chat block
How to ask a question based on a variable not being set (empty URL params)
Business Hours block
Custom Goals
Inactivity Trigger block
Share & Embed
Redirect Users
How to redirect visitors to a URL (web only)
How to add a Click-to-Call/Email/WhatsApp button
Redirect User Based on Language Input (DeepL)
Generate a URL that has variables from user answers
Popup on Exit Intent
Share
Customized Embed Actions
How to redirect user to another url in your site with Livechat open to continue conversation
How to Detect Visitors Browser
Customize and embed your WhatsApp Widget
Modifying Embed Size
Detect if bot was opened
Customized Behavior in Mobile Browsers
Load script and display bot on click button
Launch Bot On Exit Intent
Display Bot During Business Hours Only (Livechat & Popup)
Open / Close a Web bot (embedded)
Launching a bot depending on browser language
How to pass WordPress logged in user data to Landbot
Set the flow depending on the url path (for embedded landbots)
How to launch a Landbot by clicking a button
Open LiveChat bot as soon as page loads
Detect if a visitor is on Mobile/Tablet or Desktop
Embed
How to embed your agent into your website
Embed Landbot in an iframe
Landbot in Wix
Landbot in your web with Google Tag Manager
Landbot in Webflow
Embed in Sharetribe
Landbot in Shopify
Embedding Landbot in Carrd
Landbot in Wordpress
Landbot in Squarespace
Proactive message: get visitors' attention before they open the chat
Design section (web bots)
Verification & Security
Validate phone number with SMS verification (with Vonage Verify)
Cookie consent banner (full page / full page embed)
Add Captcha Verification (Non-Embedded Bots)
Bricks
How to disable a bot
Account Settings and Billing
Billing
Privacy and Security
Teammates
Startup Discounts
NGOs and Educational Organizations Discount
AI in Landbot
Landbot AI Agent
AI Agent - Interactive components
AI Agent block
AI Agent Setup - Best Practices
Tips to migrate from old AI Assistants to AI Agents
How to Create Custom Instructions for a Landbot AI Agent
AI Agent In Action - Live Implementation Example
Capture, generate and use data with AI Agents
Structuring your AI Agent Knowledge Base
Custom AI Integrations
Create a JSON format response from OpenAI in WhatsApp
Responses API
Connect OpenAI Assistant with Landbot
AI in WhatsApp
How to build a FAQ chatbot with GPT-3
GPT-4 in Landbot
OpenAI
Prompt Engineering for GPT-3
Build a Customer Service Bot with ChatGPT and Extract Information
Google Gemini in Landbot
Build a Chatbot with DeepSeek
AI Task block Overview
Landbot MCP and Plugin
What is the Landbot MCP?
How to get started with the Landbot MCP
How to build, test and publish an agent with the Landbot MCP
How to fix common problems with the Landbot MCP
How to style your Landbot web chat with the Landbot MCP
Integrations with Landbot
Native Integrations
Airtable
Airtable integration block
Get data filtered from Airtable with a Brick- Shop example
20 different ways to GET and filter data from Airtable
How to add/update different field types in Airtable (POST, PATCH & PUT)
How to Create, Update, Retrieve and Delete records in Airtable (POST, PATCH, GET & DELETE)
Get more than 100 items from Airtable
Insert Multiple Records to Airtable with a Loop
How to Get an Airtable Token
Advanced filters formulas Airtable block
Airtable usecase: Create an event registration bot with limited availability
Update Multiple Records in Airtable Using a Loop
Reservation bot with Airtable
Calendly
Dialogflow
Dialogflow & Landbot course
Dialogflow & Landbot intro: What is NLP, Dialogflow and what can you do with it?
Dialogflow & Landbot lesson 1: Create your first agent and intent in Dialogflow
Dialogflow & Landbot lesson 2: Get the JSON Key
Dialogflow & Landbot lesson 3: Setting up of Dialogflow in Landbot
Dialogflow & Landbot lesson 4: Training phrases and responses for a FAQ
Dialogflow & Landbot lesson 5: Entities and Landbot variables
Dialogflow & Landbot lesson 6: Redirect user depending on Dialogflow response parameters (intent, entities and more)
Integrations > Dialogflow Block
How to extract parameters from Dialogflow response with Formulas
Dialogflow Integration Dashboard
Dialogflow in Unsupported Languages (& Multilingual)
Dialogflow - How to get JSON Key
Google Sheets
Google Sheets Integration: Insert, Update and Retrieve data
How to use Google Sheets to create a simple verification system for returning visitors
Google Sheets integration (new version)
How to give unique Coupon Codes (with Google Spreadsheets)
How to use Google Spreadsheet as a Content Management System for your bot
HubSpot
MailChimp
Salesforce
Segment
SendGrid
Send an Email
Sendgrid Integration Dashboard
How to create a custom SendGrid email - (Custom "from" email)
Slack
Stripe
Zapier
How to Configure the Landbot and Zapier Integration Using the Zapier Block
Zapier Integration Dashboard
How to insert a row to Google Spreadsheet by Zapier
How to generate a document with PDFMonkey by Zapier
Send WhatsApp Templates from Zapier
How to Send Emails from Your Landbot Using Gmail via Zapier
Get Opt-ins (Contacts) from Facebook Leads using Zapier
How to extract data from an external source with Zapier and use it in Landbot
Zapier trigger
How to complete a digital signature flow by Zapier
Make a survey with Landbot and display the results in a Notion table using Zapier
Custom Integrations
ActiveCampaign
Google Calendar
Google Fonts
Google Maps
Embed Google Maps
Google Maps API Key for Address block
Extract Data With Google Maps Geocoding API
Calculate Distances With Google Maps API
Google Meet
IFTTT
Integrately
Intercom
Make
Connecting MySQL with Make.com (formerly Integromat)
Send WhatsApp Message Template from Make
Make Integration With Trigger Automation Block
How to send an email through Sendinblue by Make.com (formerly Integromat)
Get Opt-ins (Contacts) from Facebook Leads using Make
How to extract data from an external source with Make.com and use it in Landbot
OCR
Pabbly
Paragon
Pipedream
PDF Monkey
Store Locator Widgets
Xano
Zendesk
Send an Email with Brevo
Shopify in Landbot: Get Order Information
Send Leads to Zoho CRM
Landbot + n8n Integration: How to Connect Using the n8n Block
How to Integrate Landbot with n8n using Webhooks
WhatsApp Channel
Getting started!
WhatsApp Testing
Build a WhatsApp Bot - Best Practices and User guide
Build a WhatsApp Bot - Best Practices for Developers
Types of Content and Media you can use in WhatsApp 🖼
1. WhatsApp Article Directory
WhatsApp Integration & Pricing FAQ
Adding & Managing your WhatsApp Channel
Meta Business Verification - Best Practices 🇬🇧
WhatsApp Number Deletion (WA Channel management)
Adding a WhatsApp number to your account
WhatsApp’s Messaging Policy: New Accepted Industry verticals
Meta processes guide: Meta Business Verification, Official Business Account (OBA) requests, Appeals
Existing WhatsApp Number Migration
Key Insights for Migrating to WhatsApp Business API Cloud
How to's, Compatibility & Workarounds
WhatsApp bots - Feature Compatibility Guide
WhatsApp: Show a Different Flow on Return Visits
WhatsApp - Get user out of error message loop
How to do Meta ads conversion tracking in WhatsApp bot using the Conversion API
Getting Subscribers: Opt-in, Contacts
How to get Opt-ins (Contacts) for your WhatsApp 🚀
WhatsApp Quality Rating and Message Delivery
Opt-In/out block for WhatsApp 🚀
Opt-in Check Block
Contact Subscribe Block: Manage Opt-ins and Audiences
New Contacts: Import, Segment, and Organize Easily
WhatsApp Channel Settings
Parent Bot/Linked Bot - Add a main bot to your WhatsApp number
WhatsApp Channel Panel (Settings)
Growth Tools for WhatsApp
Messaging and contacting your users
WhatsApp Campaigns 💌
WhatsApp's Message Templates
Audience block
WhatsApp Marketing Playbook: Best Practices for Leadgen
WhatsApp Error Logs: Troubleshooting guide
Audiences
WhatsApp for Devs
How to calculate the number of days between two selected dates (WhatsApp)
Creating a Loop in WhatsApp
Recognise the users input when sending a Message Template with buttons
Trigger Event if User Abandons Chat
Calculate Distances in WhatsApp
Send Automated Message Templates based on Dates
How to Let Users Opt-Out of Your WhatsApp Messages via API
reply from Slack: How to create an integration to allow agents reply WhatsApp users from Slack (with Node JS)
Set Up a Delay Timer in Bot
Notify Teammates of Chat via WhatsApp
Native blocks for WhatsApp
Other Channels - Messenger and APIChat
Facebook Messenger
The Facebook Messenger Ultimate Guide
Types of content you can use in Messenger bots 🖼
How to Preview a Messenger bot
API Chat (for Developers)
Human Takeover & Inbox
Metrics and Data Management
For Developers & Designers
JavaScript and CSS
CSS and Design Customizations
Design Customizations
Advanced (Custom CSS & Custom JS)
Components CSS Library Index
Background Class CSS
Identify Blocks CSS
Buttons Class CSS
Header Class CSS
Media Class CSS
Message Bubble Class CSS
Miscellaneous Classes CSS
CSS Customization Examples: "Back to School" Theme
Get started guide for CSS Design in Landbot
CSS Customization Examples: Call To Action: WhatsApp
CSS Examples: Lead Gen
CSS Customization Examples: "Translucid"
CSS Customization Examples: "Minimalist" Theme
Dynamic Data CSS
Form Block CSS
CSS for Typewriter Effect
CSS Customization Examples: Carrd Embed Beginner
Dynamically Change a Bot's Background
Proactive Message Customizations with Javascript and CSS
Landbot v3 - Web CSS - RTL
CSS Customization Examples: Video Bubble
Dynamically Change Any Style
CSS Customization Examples: CV Template
Change Landbot custom CSS dynamically from parent page onload
Widget/Bubble Customizations with Javascript and CSS
JavaScript
How to change Avatar dynamically
Javascript in WhatsApp
Landbot JavaScript Integration
Different ways to format numbers with JS
How to display an HTML Table and a List in Landbot v3 web
Trigger a Global Keyword with JS (web v3)
Create Dynamic Shopping Cart with JS and CSS
Add a Chart (with Chart JS library) in your Landbot
Different ways to format numbers with JS (WhatsApp)
Pop up modal to embed third party elements
Landbot API
Send WhatsApp Messages with Landbot API
How to "send" a user to a specific point in the flow with Javascript and with the API
APIs
Get Opt-ins (Contacts) using Landbot API
MessageHooks - Landbot Webhooks
Resume flow based on external process with Landbot API (Request, Set, Go)
Tracking
Google Analytics - Track Events (Not embedded)
Google Analytics - Track Events (Embedded)
Meta Pixel - Track Events (only Embedded)
How Track Google Analytics Events in Landbot with Google Tag Manager (GTM)
Google Adwords - How to track Google Adwords in Landbot
Set a timer to get the time spent during the flow
Workarounds and How To's
Workflows
How to build an event registration Landbot (to be used in one screen by many attendees) (web only)
How to let user select a time of booking (with a minimum 45 minutes notice)
Send Files Hosted in Landbot to Your Google Drive with Make
Two-Step Email Verification
Fixing Web Bot Loading Issues for iOS Devices in Meta Campaigns with Disclaimers
Progress Bar Workaround
Skip Welcome Message
How to Add User Verification to Your Chatbot
How to set up questions with a countdown
HTML Template for Emails
Creating a Simple Cart in WhatsApp
Creating Masks for User Input (2 examples)
More Topics
Table of Contents
- How to add a Conditions block
- How to set up a condition
- Which comparisons can a condition make?
- What happens when a condition is true or false?
- How to check several conditions with AND or OR
- How to check a range of numbers
- How to check whether a Field has a value
- Frequently asked questions
- For WhatsApp
- For Facebook Messenger
- All Categories
- Build a bot
- Messages, Questions and Logic & Technical blocks
- Logic & Technical blocks
- Conditions block: check Fields and split the conversation
Conditions block: check Fields and split the conversation
Updated
by Desirée M
- How to add a Conditions block
- How to set up a condition
- Which comparisons can a condition make?
- What happens when a condition is true or false?
- How to check several conditions with AND or OR
- How to check a range of numbers
- How to check whether a Field has a value
- Frequently asked questions
- For WhatsApp
- For Facebook Messenger
The Conditions block checks the value of a Field and splits the conversation in two: the green output when the condition is true, and the red output when it's false. It's how your agent remembers what a visitor said earlier and answers each visitor in the way that fits.
To compare dates, greet returning visitors or check whether your team is online, the Conditions block uses the Fields Landbot fills in on its own, explained in Conditions block: check dates, visitors and team members online.
Prefer watching? The Academy video tutorial shows the Conditions block step by step.
How to add a Conditions block
To add a Conditions block, drag from the output of any block onto an empty part of the canvas, type Conditions in Search by name and select Conditions. The + button at the top left of the builder opens the same list of blocks.

How to set up a condition
To set up a condition, open the block and fill in the three boxes under Set the condition(s):
1️⃣ In IF @, click Type or select the field and pick the Field to check, for example flavor.
2️⃣ In the dropdown below it, choose how to compare the Field, for example EQUAL TO.
3️⃣ In Type a value or select a field, type the value to compare with, for example Pistachio. To compare with another Field instead, click Use field.

Once you close the panel, the block on the canvas sums up the condition, for example "IF @flavor EQUALS Pistachio". That way you can follow the flow at a glance, without opening each block.
Which comparisons can a condition make?
A condition can compare a Field in six ways, chosen from the dropdown under the Field:

● EQUAL TO: the Field's value is exactly the value you typed.
● DOES NOT EQUAL TO: the Field's value is anything else.
● CONTAINS: the value you typed is part of the Field's text (pist is part of pistachio), or one of the options saved in a list.
● GREATER THAN and LESS THAN: the Field's number is above or below the value. Both are strict, so 5 isn't less than 5.
● IS SET: the Field has a value, whatever it is. It needs no value box.
On the canvas, the block shortens EQUAL TO and DOES NOT EQUAL TO to EQUALS and NOT EQUALS.
What happens when a condition is true or false?
When a condition is true, the conversation follows the Conditions block's green output; when it's false, it follows the red output. Connect each output to what the agent should say or do in that case.

In this example, an ice cream shop agent asks visitors how many scoops, which flavor and which toppings they want. Once the order is in, a Conditions block checks whether @flavor is EQUAL TO Pistachio:
● Green output (true), pistachio: "Pistachio, our bestseller! 💚 Your toppings are on the house today."
● Red output (false), any other flavor: "Great choice! Your Mango ice cream is coming right up 🍦". The message includes @flavor, so each visitor sees the flavor they picked.
How to check several conditions with AND or OR
To check more than one condition in the same block, click the red + under the first condition and set up the next one. Between the two, choose AND or OR:
● AND: the green output runs only when every condition is true.
● OR: the green output runs when at least one condition is true.

In this example, an ice cream shop agent warns visitors when their order contains nuts. Pistachio ice cream is made with nuts, and nuts are also a topping, so a Conditions block checks whether @flavor is EQUAL TO Pistachio OR @toppings CONTAINS Nuts:
● Green output (true), pistachio or nuts in the order: "Heads-up: your order contains nuts 🥜 Tell us if you have an allergy."
● Red output (false), no nuts anywhere: the agent skips the heads-up and goes on with the order.
The toppings question is a Buttons block with multiple choices, so @toppings saves a list, and CONTAINS checks whether Nuts is one of the toppings picked. That's why a visitor who orders mango with sprinkles and nuts gets the heads-up too:

There's no DOES NOT CONTAIN option. To do something when a list doesn't include an option, check it with CONTAINS and build that step on the red output.
How to check a range of numbers
To check whether a number falls between two values, add two conditions on the same Field and join them with AND: one GREATER THAN the lower value and one LESS THAN the higher value.

In this example, an ice cream shop agent stacks orders of 2 to 4 scoops on a cone and serves the rest in a cup, so a Conditions block checks whether @scoops is GREATER THAN 1 AND @scoops is LESS THAN 5:
● Green output (true), 2 to 4 scoops: "Stacked cone coming up! 🍦🍦"
● Red output (false), 1 scoop or 5 and more: "We'll serve it in a cup 🍨"
The scoops come from an Ask for a Number block, so @scoops is a Number Field and the comparison works on numbers.
How to check whether a Field has a value
To check whether a Field has a value, pick the Field and choose IS SET. The condition is true when the Field was saved earlier in the conversation, and false when it's still empty, for example because the question that fills it never came up.

In this example, an ice cream shop agent offers a loyalty stamp, and only visitors who say yes are asked for their email. At the end, a Conditions block checks whether @email IS SET:
● Green output (true), the visitor left an email: "Stamp added! ⭐ We'll send your loyalty card to test@example.com". The message includes @email, so each visitor sees their own address.
● Red output (false), no email: "Enjoy your ice cream! 🍦"
With IS SET, the agent only promises a loyalty card to visitors it can actually send one to.
Frequently asked questions
Why does my condition always take the red output?
A condition takes the red output whenever the Field's value doesn't match what the condition checks. These are the usual causes:
● Upper and lower case: conditions are case-sensitive, so pistachio isn't EQUAL TO Pistachio.
● A number saved as text: GREATER THAN and LESS THAN compare a text Field as text, so a text Field that holds 10 isn't greater than 9. Save numbers with an Ask for a Number block or in a Field with the Number format.
● An empty Field: the question that fills the Field never came up in that conversation. To catch that case, check the Field with IS SET first.
Can I mix AND and OR in the same Conditions block?
No, a Conditions block uses either AND or OR for all its conditions. When you switch the toggle between two conditions, every toggle in the block switches with it. To combine both, chain two Conditions blocks: connect the green output of the first block to a second block that checks the rest.
Can I compare a Field with another Field?
Yes. To compare a Field with another Field, click Use field under Type a value or select a field and pick the second Field instead of typing a value. For example, @scoops GREATER THAN @max_scoops compares the visitor's scoops with a maximum saved earlier in a Set a Field block. When both are Number Fields, the block compares them as numbers, so 10 is greater than 9.
When you reopen the block, the value box shows the second Field as ¿·@max_scoops·? instead of its name. That's how the panel displays a Field picked with Use field, and the condition works as set.
How do I make a condition ignore upper and lower case?
To make a condition ignore upper and lower case, turn the answer into lowercase with a Formulas block before the Conditions block, then compare it with a lowercase value. For example, a Formulas block with Lower(@typed_flavor) saves PISTACHIO, Pistachio and pistachio alike as pistachio in @typed_flavor_lc, and the Conditions block checks whether @typed_flavor_lc is EQUAL TO pistachio.
Answers from buttons don't need this step: a button always saves its text exactly as written, so the case always matches.
For WhatsApp
The Conditions block works the same way on WhatsApp agents.
For Facebook Messenger
The Conditions block works the same way on Facebook Messenger agents.