Block Lab — build your own blocks
When no built-in block fits — a quiz, an EMI check, a visitor pass — build your own in the Block Lab. A custom block is a chain of simple steps that runs top to bottom; once saved it appears in your palette and works everywhere: simulator, live WhatsApp, the website widget and exported code.
The six step kinds
| Step | What it does |
|---|---|
| Send message | Sends text (with {vars}) and moves to the next step. |
| Ask & save answer | Asks a question, waits for the reply, saves it into a variable. Optional validation: text, number, email or phone — invalid replies are re-asked with a helpful message. Optional acknowledgement text. |
| Set variable | Sets a variable to a fixed or interpolated value, silently. |
| Call an API (HTTP) | Same engine as the HTTP Request block: method, URL, headers, body, optional JSON dot-path, saves the response into a variable. On failure it sends your error message and continues. |
| AI chat | Hands the conversation to an LLM (your own key) until the customer types 0, then continues with the remaining steps. See AI features. |
| Choices (branches) | Shows 1–8 numbered options. Must be the last step that branches: the chosen option number becomes the block's output port, so a block ending in choices has one port per option. |
Rules and limits
- Up to 30 steps per custom block; a choice step offers 1–8 options.
- Steps pause automatically where input is needed (ask, AI, choice) and resume exactly there on the customer's next message.
- Custom blocks are saved to your account and reusable across all your bots.
- The AI Builder can also invent custom blocks for you when a feature you describe has no built-in equivalent.
Example: a 2-question quiz
- Send message — "Quick quiz! Get both right for a coupon 🎉"
- Ask — "Q1: Which planet is closest to the sun?" → save to
q1 - Ask — "Q2: 7 × 8?" (validate: number) → save to
q2 - Choices — "Want your result?" · options: Yes / No — wire port 1 (Yes) to a Condition block chain that checks
{q1}/{q2}and sends a Coupon Code.