People type the registration form however they like — the name line goes missing, dates come in odd formats. Is there a real form inside WhatsApp?
A text form ("Child name: … Date: …") depends on the customer following the pattern and on AI reading it back. One line sent separately and the reservation is born without a name. WhatsApp form uses Meta's official Flows: the customer taps one button and fills in real fields — name, date picker, branch dropdown — without leaving WhatsApp. The answers reach WACO as structured data and become a scheduled reservation, including the day-before reminder you already configured.
Setting it up
- Open the Forms menu in the portal (also reachable from the card under Reservations).
- Lay out the fields: the label customers see, the type (short text, long text, date picker, dropdown), and what it means for WACO — mark which field is the name, the reservation date, the branch, the package, the date of birth, the address. Branches you have registered become dropdown options automatically.
- Write the intro message and the button text.
- Choose trigger keywords, for example
book: customers who type that word receive the form immediately, and the AI Operator stays silent for that message. - Write the reply sent after an answer arrives. You can use
{nama},{tanggal},{jam},{cabang}. - Press Save & publish to Meta. WACO creates the Flow in your WhatsApp Business Account and publishes it. A Meta preview link appears for checking.
Testing it
Message your business number from your personal phone first, then use the Send a test card with that number. The form arrives as a message with a button; fill it in and send. Within seconds the reservation shows in the agenda and the answer appears under "Latest answers".
Multi-step form and summary screen
Fields can be split across three pages using the "Page" column in the table, for example Personal details → Schedule → Notes. Customers see a progress bar and a Next button on each page, like a hospital app. Page titles are optional. Tick summary screen if you want customers to review all their answers before submitting.
Reaching past customers: a template with a form button
Outside the 24-hour window WhatsApp only allows templates. In the template designer (Templates menu), tick Form button: your template gets one button that opens the published form. Once Meta approves it, use that template in bulk sends and reminder rules like any other — past customers tap the button and fill in the form right away. A template may have only one form button and it cannot be combined with other buttons.
Sending from your own system (API)
A published form can be sent from your POS, CRM, or n8n:
POST /api/v1/formulir/kirim with body {"nomor":"628…"}. Answers are
also forwarded to your webhook as message.received with
pesan.tipe = "formulir" and pesan.formulir holding each field
(keys: nama, tanggal, cabang, and so on, following "meaning for WACO"). Details in the
API documentation.
Ready-made templates
No need to start from scratch: above the field table there are template buttons — Reservation, Registration, Order, Complaint, Survey. One click fills in the fields, page titles, intro message, keywords, and reply; adjust as needed, then publish. Manual transfers have their own built-in form, see Payment confirmation.
Sending from the inbox with a command
Staff who are replying can type /formulir in a private note on the
conversation — WACO sends the form to that customer without waiting for a keyword. Other commands:
/menu (interactive menu) and /bayar (payment confirmation). Requires the
Assistant to be installed in the inbox; typos are harmless because private notes never reach the
customer.
History, funnel, and notes for staff
Whenever WACO sends a form or menu to a customer, the conversation gets a private note "🤖 WACO mengirim …" so staff who are replying know and do not ask again.
The Forms page shows the last 30 days as sent → filled in → became reservations, plus
an Answer history link that filters by date and exports to CSV. Every answer is
also written as a private note in the customer's conversation (visible to the
team only) and the conversation gets the formulir label (created automatically), so
staff in the inbox read it without switching menus.
What happens to the answers
- The field marked reservation date sets the date. Without a date the answer is recorded but does not become a reservation.
- The package can be corrected by an admin on the Reservations page, next to the
name and branch — useful when a customer picks the wrong one or types "Method 1". The box suggests
packages already in use. The package is also read from text forms labelled "Paket:" or "Metode …:",
and feeds the agenda badge and the
{paket}reminder variable. - Name, time, branch, package, date of birth, and address go into their reservation columns; other fields go into the reservation notes as "Label: value".
- Name and date of birth flow into the contact book when "save reservations to contacts" is on.
- Reservations from the form are scheduled right away, not drafts — nothing was guessed, so nothing needs a second look.