Skip to content

Customer conversations

Turn an enquiry into a quote without retyping it

The enquiry already contains the order: the product, the quantity, where it has to go. Somebody then reads it and types the same facts into a second system. The machine's job here is reading, not deciding — it extracts the fields, and the price comes from your price list. A quote whose figure was written by a language model is not a quote.

Triggers
Two
Runs
On every enquiry
Stack
5 tools
Durable execution
Not required

The flow

The top track turns a message into a draft. The bottom track prices it against a list that was refreshed on its own schedule, then checks whether anything is still missing.

Platform

An enquiry arrives

WhatsApp Cloud API

Orchestration

Extract the fields

OpenAI · Anthropic

Data

Write the draft order

Sheets · Airtable

Orchestration

Nightly catalogue refresh

n8n 排程

Orchestration

Price the draft

n8n · Make

Orchestration

Everything needed present?

n8n IF

Platform

Send the quote to confirm

WhatsApp Cloud API

Notify

Ask a person to fill the gap

Slack · WhatsApp

Step by step

  1. 01

    An enquiry arrives

    WhatsApp Cloud API

    The webhook fires on the customer's message, and the 24-hour service window opens with it. Everything the flow sends back today is free text because of that; anything sent tomorrow is not.

  2. 02

    Extract the fields

    OpenAI · Anthropic

    Pull product, quantity, delivery point and any deadline out of the wording. Extraction only — the model never prices, never totals, and never sends. It hands back fields and a note of what it could not find.

  3. 03

    Write the draft order

    Sheets · Airtable

    One row per enquiry, with the original message kept beside the extracted fields. When a quote is later disputed, that pairing is the whole audit trail.

  4. 04

    Nightly catalogue refresh

    n8n 排程

    Prices and stock are pulled on their own schedule. A quote has to carry the price of the day it is sent, not whatever the workflow happened to cache last month.

  5. 05

    Price the draft

    n8n · Make

    Look each line up in the refreshed list and total it in the workflow. This is arithmetic and it belongs in code — the one step in this flow that must never be delegated to a model.

  6. 06

    Everything needed present?

    n8n IF

    Check the fields a quote cannot go out without: item, quantity, destination, and a price for every line. A blank in any of them is a stop, not a default.

  7. 07

    Send the quote to confirm

    WhatsApp Cloud API

    Send the priced quote with reply buttons — confirm, change something, talk to a person. The customer taps rather than restating an order they already described once.

  8. 08

    Ask a person to fill the gap

    Slack · WhatsApp

    Route the draft to whoever handles that product, naming the missing field. An incomplete quote sent anyway is worse than a slow one.

What the platform will not allow

Two ceilings shape this: how much a confirmation message can hold, and how long you have before a reply stops being free.

  • Interactive reply buttons support "up to 3 buttons", each label capped at 20 characters, with a body of at most 1,024 characters. A quote confirmation therefore offers three choices and a short body — it is not a place to reproduce a full specification.

    WhatsApp Cloud API — Interactive reply buttons messages
  • "When a WhatsApp user messages you or calls you, a 24-hour timer called a customer service window starts", and while it is open you may send any service message. A quote priced and returned the same day needs no approval at all.

    WhatsApp Cloud API — Send messages
  • "When the window closes, you can only send pre-approved template messages." A quote that takes a day to price cannot come back as free text — the slow path needs its own template, drafted before the enquiry arrives.

    WhatsApp Cloud API — Send messages
  • "Templates must have a status of APPROVED before they can be sent in template messages", and each must be categorised as authentication, marketing or utility. The template for a late quote is a lead time you plan for, not something you write on the day.

    WhatsApp Business Management API — Message templates

When this is not worth building

Three cases where the upkeep costs more than the retyping.

  • Your prices are a judgement rather than a lookup — negotiated per account, or freight quoted per shipment. The flow will still produce a number, and a number in the shape of a quote is read as one.

  • There is no price list a machine can read. If pricing lives in a folder of PDFs or in one person's head, extraction succeeds and pricing fails, which is the half that mattered.

  • You handle a few large enquiries rather than many small ones. When a single order is worth a great deal, the cost is not the retyping — it is getting a line wrong, and a draft nobody rechecks makes that likelier, not rarer.

Related reading

Talk to us

Which of these should you actually build?

We run these flows for Hong Kong operators every week. Tell us the process that is costing you, and we will say whether automating it is worth the upkeep.

Start a conversation