Block reference
Every built-in block, grouped by what it's for. Ports are the outputs you wire to the next block — most blocks have one; branching blocks have several. Sets lists the variables a block saves.
Conversation basics
| Block | What it does | Ports / sets |
|---|---|---|
| Welcome Message | The entry point — greets the customer on their first message. Every flow needs exactly one. | 1 port |
| Text Message | Sends a message and continues immediately. | 1 port |
| Menu Options | Numbered menu. Customers reply with the number, the option text, or a unique prefix. | 1 port per option · sets {choice}, {menu_choice} |
| Quick Replies | Same behavior as Menu Options with lighter phrasing — good for yes/no and short choices. | 1 port per option · sets {choice} |
| FAQ Auto-Reply | Keyword → answer table. Replies whenever the customer's message contains a keyword; customer types 0 to move on. | 1 port (after "0") |
| Goodbye / Handoff | Ends the conversation and clears the session — the next message starts fresh at Welcome. | ends flow |
Collecting information
| Block | What it does | Ports / sets |
|---|---|---|
| Collect Info | Asks a question and saves the answer into a variable name you choose. | 1 port · sets your field |
| Collect Number | Asks for a number; re-asks until the reply contains digits. | 1 port · sets your field |
| Collect Email | Asks for an email and validates the format. | 1 port · sets {email} |
| Collect Phone | Asks for a phone number (min. 7 digits). | 1 port · sets {phone} |
| Collect Address | Asks for a delivery/postal address. | 1 port · sets {address} |
| Feedback | Free-text feedback prompt. | 1 port · sets {feedback} |
| Lead Qualification | A menu specialized for qualifying leads (budget, timeline, intent…). | 1 port per option · sets {choice} |
E-commerce
| Block | What it does | Ports / sets |
|---|---|---|
| Product Card | Sends one product: name, price, description, link. | 1 port |
| Mini Catalog | Sends a numbered list of products with prices. | 1 port |
| Product Search | Asks what the customer wants, matches keywords against your product list, replies with the hit. | port 0 found · port 1 not found |
| Order Status | Asks for the order ID and acknowledges — pair with HTTP Request for live status. | 1 port · sets {orderId} |
| Tracking Link | Asks for a tracking ID and replies with your base URL + the ID. | 1 port · sets {trackingId} |
| Payment Link | Sends a payment URL (UPI, Razorpay, Stripe — any link). | 1 port |
| Coupon Code | Sends a coupon code with a message. | 1 port |
| Cart Recovery | A nudge message for unfinished checkouts — pair with a coupon. | 1 port |
| Return Policy / Shipping Info | Pre-worded policy answers you customize. | 1 port each |
| Review Request | Asks the customer to leave a review, with your link. | 1 port |
Bookings
| Block | What it does | Ports / sets |
|---|---|---|
| Appointment Booking | Asks for a date/time and saves it. | 1 port · sets {appointmentTime} |
| Booking Confirm | Sends a confirmation message — typically references {appointmentTime} and {name}. | 1 port |
Routing & logic
| Block | What it does | Ports / sets |
|---|---|---|
| Condition | Compares a variable against a value (equals or contains, case-insensitive). If the variable was never set, the bot asks for it first instead of silently branching. | port 0 true · port 1 false |
| Language Router | A menu of languages; route each option to a branch written in that language. | 1 port per language · sets {language} |
| Business Hours | Checks the server clock against your open/close hours (overnight ranges supported) and branches. | port 0 open · port 1 closed |
| Set Variable | Sets a variable to a fixed (or interpolated) value. | 1 port |
| Save Note | Stores an internal note into a variable — useful for tagging steps of the journey. | 1 port |
| Tag Customer | Appends a tag to the customer's {tags} list. Leave the message empty to tag silently. | 1 port |
Support
| Block | What it does | Ports / sets |
|---|---|---|
| Human Handoff | Tells the customer a person will take over and sets {handoff} = "true" so later logic can behave differently. | 1 port |
| CSAT Rating | Asks for a 1–5 rating. You can wire a different branch per score; unwired scores follow the first wired port. | up to 5 ports · sets {rating} |
| Contact Card | Sends phone / email / website details. | 1 port |
| Location / Map | Sends your address with an optional directions link. | 1 port |
| Send Link / Image / Media Link | Sends a URL or an image/media link with a caption. | 1 port each |
Power blocks
| Block | What it does | Ports / sets |
|---|---|---|
| HTTP Request / API | Calls any external API mid-flow (GET/POST/PUT/PATCH/DELETE) with {vars} interpolated into the URL, headers and body. Optionally narrows a JSON response with a dot-path (e.g. data.status) and saves it. 10-second timeout; private/localhost addresses are blocked on the hosted service. | port 0 success · port 1 error · sets {apiResult} (your name) and {apiResult_error} on failure |
| AI Reply | Open-ended AI chat using your own Anthropic, OpenAI-compatible or Gemini key. The customer chats freely until they type 0 (or "exit"/"menu"/"back"), then the flow continues. See AI features. | 1 port (after exit) |
| Custom blocks | Anything you build in the Block Lab — chains of say/ask/set/API/AI/choice steps. | 1 port, or 1 per option if it ends in a choice step |