WhatsAble

WhatsApp rules your assistant follows

The WhatsApp rules your AI assistant follows when it works in WhatsAble: the 24-hour window, templates, Not sent results, the AI agent and its follow-ups, and several numbers.

Your assistant reads these rules from the server before it acts, and it explains them when a send cannot go out. They are WhatsApp's rules and WhatsAble's, not the assistant's, so they are the same in every AI app.

The 24-hour window

WhatsApp lets a business send a free-form message (a text, buttons or media) to a person only within 24 hours of that person's last message to the same number. Each new message from them opens the window again.

Outside the window, or to someone who has never written, only an approved template can be sent. get_conversation says whether the window is open and when it closes.

A scheduled text reaches the person only if the window is still open when it is sent, so a template is the safe choice for later.

How templates work

A template is a message Meta reviewed in advance. It is the only kind that reaches a person outside the 24-hour window.

Each template belongs to a WhatsApp Business Account, has a language and a category (marketing, utility or authentication, which Meta may change during review), and numbered variables that a send fills. get_template lists the variables. A template with named variables is listed but cannot be sent yet.

create_template submits a new one, which starts as pending. Meta approves or rejects it later, and only an approved template can be sent. Meta can also pause or disable a template it approved before.

"Not sent"

When WhatsApp refuses a message, the answer starts with "Not sent", gives the reason and how to fix it, and says whether a retry later is worth it. A request WhatsAble refuses before sending, such as a text to someone whose 24-hour window has closed, comes back as an error instead: nothing went out either way.

An answer that starts with "Not sent, or not confirmed" means the outcome is unknown and the message may still arrive: do not send it again until the recipient confirms.

A success means WhatsApp accepted the message, not that it was delivered. get_message shows whether it was delivered, read or failed.

AI and follow-ups

An AI agent answers a conversation, and can follow up on its own when the customer goes quiet. A bot answers only while its own status is active; a draft answers no one. Each conversation also has an AI status: active, off, paused_by_human or handed_off.

paused_by_human means a person replied, in the WhatsAble inbox, an inbox embedded in another app or the WhatsApp app, so the bot stops answering that chat. Depending on the bot's settings it answers again after a set time, when the customer writes after the window closed, or not until someone switches it back on. handed_off means the bot passed the chat to a person.

Why did the bot do that? read_conversation with types ai_decision lists each of its decisions in a conversation, the reason code and the bot's reasoning: its own account, not a verified fact. Without types it shows the whole history in order, with the messages, the team's notes, the labels and each change of AI status. The bot's entries need the ai:read scope and the label entries contacts:read; without them they are left out.

set_conversation_ai with off stops the bot's replies and its follow-ups in that one conversation, and only a person switching it back on undoes it. active turns the AI back on, also after a person took over or the bot handed off.

There is no switch for follow-ups alone in one conversation: off stops both. set_contact_follow_ups with off stops the bot's follow-ups to one contact on every number while the bot keeps answering them; it is the inbox's Follow up switch, and on allows them again, from a connection that can use every number the contact talks to. Follow-ups as a whole are a bot setting, changed with update_ai_bot. assign_ai_bot_to_number with no bot leaves a number with no default bot, so its conversations without a bot of their own get no AI.

Several numbers

A connection can use one or several of the business's WhatsApp numbers; list_numbers shows them, and only an active number sends.

With several, a send names its number in from, or replies in a conversation, which fixes the number. create_template names the number whose WhatsApp Business Account gets the template, and create_broadcast always names the number it sends from. If the person has not said which number, ask.

One person writing to two numbers has two conversations.

Access and scopes

A connection holds the access it was given when it was connected, and a tool it has no scope for is hidden: the assistant does not see it.

Full access holds every scope, including those added later. Send and read holds every scope except templates:write, labels:write, broadcasts:write, ai:configure and webhooks:manage: it reads, sends, updates contacts and switches the AI on or off, but cannot create templates, labels or broadcasts, or change AI agents. Read only holds numbers:read, templates:read, messages:read, contacts:read, broadcasts:read and ai:read: it sends and changes nothing.

To change the access, revoke the connection in WhatsAble under Settings > API keys > Connected AI apps, then connect again and choose the access you need. A connection made with an API key holds that key's scopes.

On this page