Flow Examples
Complete chatbot flow examples for common use cases — welcome, FAQ, lead capture, support escalation, and order tracking.
Ready-to-adapt chatbot flows for the most common use cases. Each example uses only the real node types, so you can recreate it directly in the editor.
Welcome & onboarding
Goal: Greet new customers, learn their name, and route them to the right place.
Trigger: First Message (fires once per new contact)
Variables: customer_name
Ask Question — name
| Config | Value |
|---|---|
| Question | "Welcome to [Your Brand]! What's your name?" |
| Save response to variable | customer_name |
Set Attribute — save the name
Persist the name to the contact so it's available in future conversations, segments, and campaigns.
| Config | Value |
|---|---|
| Attribute | Display Name → {{customer_name}} |
Ask Buttons — main menu
| Config | Value |
|---|---|
| Body text | "Nice to meet you, {{customer_name}}! How can we help?" |
| Button 1 | "Our Products" |
| Button 2 | "I Need Help" |
| Button 3 | "About Us" |
Connect each button to its path: Our Products → Send CTA URL (catalog link); I Need Help → Assign to Skillset ("Support"); About Us → Send Message (company info).
FAQ handler
Goal: Answer common questions without an agent.
Trigger: Message Contains — faq, question, help
Variables: topic
Ask List — pick a topic
| Config | Value |
|---|---|
| Body text | "What would you like to know about?" |
| Section "Common" | Pricing, Shipping, Returns |
| Section "Account" | Login Issues, Update Profile |
| Save selection to variable | topic |
Condition — route to the answer
Add a Condition per topic, comparing topic with Equal to:
| When | Then |
|---|---|
topic = Pricing | Send Message with pricing details |
topic = Shipping | Send Message with delivery times |
topic = Returns | Send CTA URL to the returns form |
| Unmatched | Send Message ("Let me get a human") → Assign to Skillset |
Ask Buttons — follow up
| Config | Value |
|---|---|
| Body text | "Was this helpful?" |
| Button 1 | "Yes, thanks!" → Send Message ("Glad I could help!") |
| Button 2 | "Talk to a human" → Assign to Agents |
Keep it fresh
Watch which questions fall through to the unmatched path — those are the topics to add answers for next.
Lead capture
Goal: Collect contact details and push them to your CRM.
Trigger: Message Contains — interested, pricing, demo
Variables: name, email, interest, crm_response
Send Message — set expectations
"Thanks for your interest! A few quick questions to connect you with the right person."
Ask Question — name, then email
| Config | Value |
|---|---|
| Question | "What's your name?" → save to name |
| Question | "And your email?" → save to email, Validation: Email |
Ask Buttons — interest
| Config | Value |
|---|---|
| Body text | "What are you most interested in?" |
| Buttons | "Product Demo", "Pricing", "Partnership" → save to interest |
HTTP Request — send to CRM
| Config | Value |
|---|---|
| Method | POST |
| URL | https://your-crm.com/api/leads |
| Headers | Authorization → your token |
| Save response to | crm_response |
Confirm and tag
Send Message: "Thanks, {{name}}! We'll reach out at {{email}} within 24 hours."
Then Add/Remove Tags → add lead, and Set Attribute → save the email to the contact.
Plan for a CRM outage
Even if the HTTP Request fails, still confirm to the customer and add the lead tag so your team can follow up manually.
Support escalation
Goal: Capture the issue, open a ticket, and route to the right team with full context.
Trigger: Message Contains — support, problem, issue
Variables: category, issue_description, ticket_number
Ask Buttons — category
| Config | Value |
|---|---|
| Body text | "What kind of issue are you having?" |
| Buttons | "Billing", "Technical", "Something Else" → save to category |
Ask Question — description
"Please describe the issue briefly." → save to issue_description
Create Ticket
| Config | Value |
|---|---|
| Subject | "{{category}} issue" |
| Description | {{issue_description}} |
| Priority | Medium |
| Tags | {{category}} |
| Save ticket number to variable | ticket_number |
Assign to Skillset + confirm
Use a Condition on category to Assign to Skillset (Billing vs Technical), then Send Message: "We've opened ticket {{ticket_number}} and a specialist will be with you shortly."
Order tracking
Goal: Let customers check an order by number.
Trigger: Message Contains — order, track, status
Variables: order_number, order_response
Ask Question — order number
| Config | Value |
|---|---|
| Question | "Enter your order number (e.g. ORD12345)." |
| Save response to variable | order_number |
| Validation | Regex — ^ORD[0-9]+$ |
| Invalid message | "That doesn't look right. Try the format ORD12345." |
HTTP Request — look it up
| Config | Value |
|---|---|
| Method | GET |
| URL | https://your-api.com/orders/{{order_number}} |
| Save response to | order_response |
Condition — report status
Branch on order_response and Send Message accordingly — shipped (with tracking), processing, or delivered — with an unmatched path that reports the raw status.
Ask Buttons — anything else?
| Config | Value |
|---|---|
| Buttons | "Track another" → loop back to step 1; "No, thanks!" → Send Message ("Have a great day!"); "Talk to support" → Assign to Agents |
Tips for all flows
How is this guide?


