Use cases by industry
Two ready-to-build workflow recipes for each industry Cloodot serves — with the exact nodes to wire up.
Every recipe below is a real pattern you can build from the nodes you already have. Each shows the flow as a node diagram, then what to configure. Read them as starting points — swap in your own labels, personas, templates, and stages.
A note on WhatsApp follow-ups
When a recipe sends a message after a delay or starts a WhatsApp conversation, use Send WhatsApp Template with an approved template — WhatsApp only allows free-form Send Message replies inside the 24-hour window. Recipes on other channels (Instagram, web chat, email) can use Send Message freely.
These run alongside your AI agent
Several recipes assign a persona, send a message, or route a conversation. Remember your AI agent may already be replying by default — workflows work with it, not instead of it. Assign to AI picks a specific persona, Assign to User takes a conversation away from AI, and a workflow message coexists with the agent's reply. See Workflows and the built-in AI agent.
E-commerce & retail
Recover abandoned carts
Nudge shoppers who left something behind, with a one-tap link back to checkout.
Trigger: Incoming Webhook (your store posts an "abandoned cart" event)
→ Delay: 90 minutes
→ Send WhatsApp Template ("Still thinking it over? Here's your cart 🛒")
· recipient phone: {{trigger.payload.customer.phone}}
· body variable: {{trigger.payload.cart.url}}
→ EndSet up: capture a sample event with Listen for a request so {{trigger.payload.*}} fields autocomplete; pick the WhatsApp channel and an approved cart-recovery template.
VIP fast-lane for returning customers
Route known high-value customers straight to a senior teammate; everyone else starts with AI.
Trigger: New Conversation
→ Find Contact (by {{trigger.contactPhone}})
→ Decision: Variable {{find_contact.customFields.tier}} equals "VIP"
├─ True → Add Label (VIP) → Assign to User (senior agent) → Star Conversation
└─ False → Assign to AI (support persona)Set up: store a tier custom field on your contacts; create a VIP label; pick your senior agent and support persona.
Automotive
Qualify and route enquiries 24/7
Separate real buyers from browsers on every channel, day or night.
Trigger: New Conversation
→ AI Extraction (pull intent + sentiment)
→ Decision: Variable {{ai_extraction.sentiment}} equals "negative"
├─ True → Add Label (Escalation) → Assign to User (manager) → Star Conversation
└─ False → Decision: Message Text contains "price" (OR "test drive", "book")
├─ True → Add Label (Hot lead) → Assign to User (sales)
└─ False → Assign to AI (lead-qualifier persona)Set up: create Escalation and Hot lead labels; assign your sales and manager users; build a qualifier persona. Works the same across WhatsApp, Instagram, and Facebook.
Confirm a booked test drive and notify sales
Turn a submitted booking form into a confirmation and a hand-off.
Trigger: WhatsApp Flow Submitted (test-drive booking flow)
→ Send Message ("You're booked for {{trigger.flowValues.slot}} — see you at {{trigger.flowValues.showroom}}!")
→ Add Label (Test drive booked)
→ Assign to User (showroom sales exec)
→ EndSet up: build the booking WhatsApp Flow; the field names become {{trigger.flowValues.*}}. Create the label and pick the exec.
Real estate
Qualify Instagram enquiries, escalate only the serious ones
Let AI read budget and timeline, then put brokers in front of the ready buyers.
Trigger: New Conversation
→ Assign to AI (qualifier persona — asks budget, area, timeline)
→ AI Extraction (capture budget & timeline into custom fields)
→ Decision: Variable {{ai_extraction.budget}} is greater than 15000000
├─ True → Add Label (Hot lead) → Change Contact Stage (Qualified) → Assign to User (broker)
└─ False → Add Label (Nurture)Set up: create Hot lead and Nurture labels, a Qualified pipeline stage, and a qualifier persona. Adjust the budget threshold to your market.
Confirm a site visit and remind the day before
Cut no-shows with an automatic confirmation and reminder.
Trigger: WhatsApp Flow Submitted (site-visit booking flow)
→ Send Message ("Your visit to {{trigger.flowValues.project}} is confirmed for {{trigger.flowValues.date}}.")
→ Delay: 1 day
→ Decision: Conversation Status is Open
└─ True → Send WhatsApp Template ("Reminder: your site visit is tomorrow. Reply to reschedule.")Set up: build the booking flow; approve a reminder template. Tune the delay so the reminder lands the day before the visit.
Multi-location
Route new leads to the nearest branch
Send each enquiry to the branch that should own it — no central black hole.
Trigger: Incoming Webhook (website lead form with name, phone, and a "branch" field)
→ Create Contact (from the payload; if a match exists → update)
→ Send WhatsApp Template ("Thanks {{trigger.payload.name}} — your {{trigger.payload.branch}} branch will be in touch.")
· recipient phone: {{trigger.payload.phone}} // creates the conversation the next steps act on
→ Decision: Variable {{trigger.payload.branch}} equals "Edappally"
├─ True → Add Label (Edappally) → Assign to User (Edappally lead)
└─ False → Add Label (Kakkanad) → Assign to User (Kakkanad lead)Set up: pick a WhatsApp channel and an approved acknowledgement template — the template send is what creates the conversation, so the later Add Label and Assign to User steps have something to act on (a webhook trigger has no conversation on its own). Add one branch label and owner per branch; chain more Decision nodes for additional branches. Use Listen for a request to prefill the payload fields.
Branch-level first-response SLA
Acknowledge instantly, then make sure someone picks it up.
Trigger: New Conversation
→ Send Message ("Thanks for reaching {Branch} — we're on it. Hours: 9am–9pm.")
→ Delay: 15 minutes
→ Decision: Conversation Status is Open
└─ True → Assign to AI (branch persona) // no human has grabbed it yetSet up: personalize the acknowledgement per branch (duplicate the workflow, or branch on channel/label); pick the branch's fallback AI persona.
Education
Welcome admissions enquiries with the right info
Answer the first question before a counsellor is even free.
Trigger: New Conversation
→ Decision: Message Text contains "fee" (OR "scholarship", "admission")
├─ True → Send Message ("Here's our fee structure & scholarship guide: <link>") → Assign to AI (admissions persona)
└─ False → Send Message ("Welcome! How can we help with admissions today?") → Assign to AI (admissions persona)
→ Add Label (Admissions enquiry)Set up: host your fee/prospectus link; create an Admissions enquiry label and an admissions persona.
Counselling slot: confirm, checklist, and remind
Book, brief, and remind — automatically.
Trigger: WhatsApp Flow Submitted (counselling booking flow)
→ Send Message ("Your counselling session is booked for {{trigger.flowValues.slot}}. Please bring: ID, marksheets, passport photos.")
→ Change Contact Stage (Counselling booked)
→ Delay: 1 day
→ Send WhatsApp Template ("See you tomorrow for your counselling session at {{...}}.")Set up: build the counselling flow; add a Counselling booked stage; approve the reminder template.
Hospitality
Route in-stay requests to the right department
One WhatsApp thread, every request to the team that handles it.
Trigger: New Conversation
→ AI Extraction (classify the request)
→ Decision: Message Text contains "towel" (OR "housekeeping", "clean")
├─ True → Add Label (Housekeeping) → Assign to User (housekeeping desk)
└─ False → Decision: Message Text contains "food" (OR "dinner", "menu")
├─ True → Add Label (F&B) → Assign to User (F&B desk)
└─ False → Assign to AI (concierge persona)Set up: create department labels and assign a desk owner to each; build a multilingual concierge persona for everything else.
Chase a review after check-out
One well-timed nudge, in the guest's language, with a direct review link.
Trigger: Incoming Webhook (your PMS posts a "checked out" event)
→ Delay: 1 day
→ Send WhatsApp Template ("Hope you enjoyed your stay! A quick review would mean a lot: <Google link>")
· recipient phone: {{trigger.payload.guest.phone}}
→ EndSet up: wire your PMS webhook (or trigger from Conversation Resolved instead); approve a review-request template with your Google review link.
Agencies
Tag and route each client's conversations
In a client's white-label workspace, put every inbound conversation in front of the right owner — with the client's own persona on the first response.
Trigger: New Conversation
→ Add Label (Client: Acme)
→ Assign to AI (Acme's persona) // this client's voice, not the default
→ AI Extraction (capture intent)
→ Decision: Variable {{ai_extraction.intent}} equals "billing"
└─ True → Assign to User (Acme's account manager) // topics the client handles in-houseSet up: one Client: … label, one persona, and one account manager per client; duplicate the workflow into each client's workspace. Because Assign to AI pins the client's persona (overriding the default), each client keeps its own voice — see Workflows and the built-in AI agent.
Alert the team the moment any workflow fails
Build one error handler and point every other workflow at it.
Trigger: Workflow Error
→ Simple API Request (POST to your Slack / ops webhook)
· body: {"text": "⚠️ {{trigger.failedWorkflowName}} failed: {{trigger.error}} (run #{{trigger.failedRunNumber}})"}
→ EndSet up: publish this workflow so it's Active, then select it under Error workflow in every other workflow's execution settings. Keep the Slack token in a header (headers are stripped on export), not the URL.