Commerce · Planning example

An order list should be as easy as a text message.

Phone-in orders are slow and easy to misread. This demo shows how a plain-English order flows through to a confirmed basket, with branches for substitutions, minimum-not-met and abandoned.

AdvancedQuoteFlow

What triggers this workflow

Customer starts a new order chat

WhatsApp, SMS or web chat opens a new conversation with the order bot.

Source: WhatsApp / SMS / web chat

Workflow steps

  1. n8n + LLM step
    Intake
    Customer drops a plain-English list; the bot parses line by line.
  2. n8n
    Confirm
    Bot replies with basket, slot and subtotal; customer replies YES / EDIT / CANCEL.
  3. n8n
    Substitution
    If an item is out of stock, ask before swapping or skipping.
  4. n8n
    Minimum
    If subtotal is below the delivery minimum, offer click-and-collect or top-up.
  5. Twenty CRM + Chatwoot
    Handoff
    Picking instructions route to the fulfilment team with the final basket.

Tools used

WhatsApp / SMS
Conversation channel
n8n
Parsing, branching and routing
Twenty CRM
Basket record and customer history
Chatwoot
Picker instructions and human handoff
LLM endpoint
Plain-English parsing (configurable)

Human handoff

A picker always confirms the basket

The bot never starts fulfilment until the customer replies YES. Substitutions are explicit questions, never silent swaps.

  • Customer asks for an item the bot doesn't recognise
  • Customer requests a non-stocked special
  • Order is for a business account with agreed terms

Try it in your browser

Edit the sample inputs, choose a branch, and see what the workflow produces. The sandbox runs offline — no accounts touched, no messages sent.

Try it in your browser

Edit the inputs, pick a branch, and see what the workflow produces. Runs entirely in your browser — no messages are sent, no accounts are touched.

Sample inputs
Branch choice
Output — branch: Confirm

1. Conversational order intake

Chat
Hi Hannah, Cobblestone Grocer here. Drop your list in plain English and I'll confirm the basket and slot. — Tom, Cobblestone

2. Branch handling

Chat
Got it: milk, sourdough, free-range eggs. Delivery slot Today 4–6pm. Subtotal ~$28.40. Reply YES to lock in, EDIT to change, CANCEL to drop. — Cobblestone Grocer
Task — Picker
Picker to assemble order
Due: Before slot window

Sample data only. Numbers, names and messages are placeholders for illustration. Wire the live workflow separately using the setup notes below.

Setup for production

Wiring it for production

Live deployment needs the conversation channel, stock lookup and picker integration.

  1. Connect the conversation channel — WhatsApp Business or SMS — with an approved sender.
  2. Configure the stock lookup (spreadsheet, OMS or inventory API).
  3. Wire the picker integration so the basket lands in the fulfilment queue with substitution flags.
  4. Add a re-engagement branch (configurable window) for abandoned baskets.

Production prerequisites

  • Approved WhatsApp Business or SMS sender in the business's region
  • Real-time or near-real-time stock lookup
  • Picker on shift during delivery windows

Nothing here runs by default. Configuration has to be in place before any live send, booking or contact write.

Questions

What if the bot mis-parses the list?

The confirm branch always shows the parsed basket before fulfilment. Customers can EDIT and resubmit; nothing starts until YES.

Can it handle dietary requirements?

Yes — a separate input on the chat captures dietary requirements at intake, and the substitution branch respects them by default.

Where this fits

Conversational Order Taking across the platform

Want this conversational order taking workflow running on your stack?

Pick the demo you're curious about or describe your own. We'll come back with what a real deployment looks like for your business — the workflow, the prerequisites, the people involved.

✓ No commitment
✓ Reply within one business day

We’ll use these details to prepare and respond to your request. We don’t send marketing messages unless you ask for them.