User guide
How to use WhatsApp Sales and Payment Automation, screen by screen.
Conversations
WhatsApp → Conversations. One per customer number, with the message history and the state of the 24-hour service window on it.
The window matters: inside it you can type anything, outside it only an approved template will arrive. The conversation says which you are in, so you find out before you write rather than after the message vanishes.
Taking a conversation over
Press Take over. From that moment the rules stop answering it and it is yours.
This is enforced in code and cannot be configured off. An agent typing a reply while a rule answers the same customer is worse than a slow reply — the customer gets two answers, and one of them is wrong.
Hand it back when you are done and automation resumes.
Replying
Type and send. The message is queued, not sent inline, and the scheduled action sends it within a minute.
That indirection buys four things: Meta retries an unacknowledged webhook for 36 hours so sending inline would replay replies; a rate limit can be applied because one place sends; a failure becomes a row with a readable error and a retry button; and the audit history is complete by construction.
When a send is refused
You will see it refused rather than silently lost. The common reasons:
- Outside the 24-hour window — send an approved template instead.
- The customer has opted out — permanent, and no button overrides it.
- The number is not enabled — messages are stored, nothing is sent.
What the automation does for you
Four questions, answered as rules you can rename, reorder or switch off:
| They ask | They get |
|---|---|
| Where is my order? | The latest order status |
| What do I owe? | Outstanding invoices |
| How do I pay? | An Odoo portal payment link |
| Let me talk to someone | A handover, and an activity for a person |
Every automatic reply names the rule that produced it, so when something answers oddly you know which rule to open.
What it deliberately will not do
It will not answer a stranger with somebody's records. A number matching no contact gets a person, not an order list — because deciding whose orders to show would be a guess, and the wrong guess shows one customer another customer's business.
It will not send a statement. A statement request raises a task; a person confirms identity and sends it. A phone-number match is not authentication, and a statement shows the customer's whole position with you.
It will not price a quotation. "20 of the blue ones" creates a draft with no lines and a task for sales. Turning a sentence into priced lines means guessing product, quantity and price on the customer's behalf.
It will never start a conversation. WhatsApp is the customer's channel, and an unsolicited first message from a business is what gets a number blocked.
Opt-out
A customer who opts out is opted out permanently. The check lives in the single function that queues a message, so no rule, button or action can route around it — including an agent typing a reply.
Opting back in has to come from the customer.
After hours
One reply per closed period, not one per message. Three lines at midnight get one apology, not three.
Media
Images and documents are stored verbatim with their type and handed to a person. They are not interpreted, and nothing in this module tries to read them.
Is any of this AI?
No, and none is needed. It is a rule engine and says so: a keyword, a condition, an action, tried in order.
That is an honest description and also the better product. A customer who believes the system understands them writes "can you push my delivery to Thursday afternoon" and gets silence; a customer shown a numbered menu types 2 and gets served.