RAiN — Rivium AI Network
Back to Help

WhatsApp — send message

Reply to a customer who messaged in the last 24 hours.

What it does

Replies to somebody who messaged the business in the last 24 hours. Meta's rule, not ours: outside that window a free-form message is refused and you need a template. To answer customers automatically when they write, see Answer customers on WhatsApp.

What you need

Access token from WhatsApp (Meta). Meta → your app → Use cases → Customize → Connect on WhatsApp → Basic setup. The token generated there can stop working within about an hour; make a System User token in Business settings for anything meant to keep running.

It also needs Phone number ID — Meta → your app → Use cases → Customize → Connect on WhatsApp → Basic setup, under Step 1. Not the phone number itself. Both halves are entered together.

Connecting it

Credentials belong to one project, not to your workspace and not to you. A system built for one client never runs on another client's account, and a package handed to a business runs on theirs.

  1. Open the project and stay on the Visual Editor tab.
  2. Open the Tools & Integrations rail on the right.
  3. Find this tool, open it, and paste the credential.

To change it later, open the same panel — you can leave the key blank to keep the stored one and change only the other field.

Using it in a step

An Action step runs one tool with the arguments you type, exactly as written, with no model involved — so it costs nothing per run and behaves the same every time. Add one from the canvas toolbar, choose WhatsApp — send message, and fill in:

Field Required What goes in it
to yes The customer's number in international format, no plus sign.
message yes Free text. Only allowed within 24 hours of their last message.

Values can carry results forward: {{previous}} is the step before, and {{row:column}} is a column from the row this run is about when the trigger fans out.

Press Try it to run the step on its own before committing to a whole sequence.

This one really sends. Trying it delivers a real message — use your own address or number, never a customer's.

Using it with an agent

Tick WhatsApp — send message on any agent that should be able to call it, and the agent decides when to. Use an agent when the judgement matters and an Action step when the certainty does.

A worked example

A restaurant answers order enquiries. A customer asks whether the jollof is available; an agent checks the day's menu in the knowledge base and replies in the same thread.

When it goes wrong

Refused with a 24-hour error. The customer's last message is older than a day. Use WhatsApp — send template instead, which is what templates are for.

Nothing sends. The Phone number ID is half the credential and is easy to confuse with the phone number itself. It comes from Meta → your app → Use cases → Customize → Connect on WhatsApp → Basic setup.

It worked, then stopped with (#131005) Access denied. The access token is expiring, and the next refusal will say the token was rejected. It reads like a permissions problem and isn't one. Replace it with a System User token.

The run says "Accepted by WhatsApp" but nothing arrived. Accepted means Meta took the message, not that it was delivered. Meta can drop it afterwards, most often because the customer's 24-hour window had closed.

See also