WhatsApp API Platform
Chatbot

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

ConfigValue
Question"Welcome to [Your Brand]! What's your name?"
Save response to variablecustomer_name

Set Attribute — save the name

Persist the name to the contact so it's available in future conversations, segments, and campaigns.

ConfigValue
AttributeDisplay Name → {{customer_name}}

Ask Buttons — main menu

ConfigValue
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

ConfigValue
Body text"What would you like to know about?"
Section "Common"Pricing, Shipping, Returns
Section "Account"Login Issues, Update Profile
Save selection to variabletopic

Condition — route to the answer

Add a Condition per topic, comparing topic with Equal to:

WhenThen
topic = PricingSend Message with pricing details
topic = ShippingSend Message with delivery times
topic = ReturnsSend CTA URL to the returns form
UnmatchedSend Message ("Let me get a human") → Assign to Skillset

Ask Buttons — follow up

ConfigValue
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

ConfigValue
Question"What's your name?" → save to name
Question"And your email?" → save to email, Validation: Email

Ask Buttons — interest

ConfigValue
Body text"What are you most interested in?"
Buttons"Product Demo", "Pricing", "Partnership" → save to interest

HTTP Request — send to CRM

ConfigValue
MethodPOST
URLhttps://your-crm.com/api/leads
HeadersAuthorization → your token
Save response tocrm_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

ConfigValue
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

ConfigValue
Subject"{{category}} issue"
Description{{issue_description}}
PriorityMedium
Tags{{category}}
Save ticket number to variableticket_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

ConfigValue
Question"Enter your order number (e.g. ORD12345)."
Save response to variableorder_number
ValidationRegex^ORD[0-9]+$
Invalid message"That doesn't look right. Try the format ORD12345."

HTTP Request — look it up

ConfigValue
MethodGET
URLhttps://your-api.com/orders/{{order_number}}
Save response toorder_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?

ConfigValue
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?

On this page