WhatsAble

Suggested workflows

What to ask your AI assistant once WhatsAble is connected: reply to customers, send templates, take over from the AI agent, label contacts, schedule messages, run broadcasts and edit AI agents.

Each workflow is a job you can hand to your assistant once WhatsAble is connected. Ask in your own words: the example prompts are only a start. The assistant knows these workflows too, so "What can you do with WhatsAble?" lists them.

The steps show what the assistant does and which tools it calls. You see the same tool names in your AI app when it asks you to approve a call.

Name the person and the number when it matters: "Send it to Maria from the support line". When your connection can use more than one number, the assistant asks which one to send from if you don't say.

Each send is a real WhatsApp message. Read what your AI app asks you to approve before a send, a broadcast or a change to an AI agent. A tool call that you approve twice sends twice.

Reply to a customer

Read a conversation and answer it while the 24-hour window is open, or offer a template when it has closed.

Ask, for example:

  • “Who wrote to us today and hasn't had an answer?”
  • “Answer Carlos and tell him his order ships on Monday.”

What the assistant does:

  1. Find the conversation: list_conversations shows the latest chats with their 24-hour window, or find_contacts finds a person by phone and lists their conversations.
  2. Read what was said with list_messages for that conversation.
  3. If the window is open, draft the reply, confirm it with the person, and send it with send_text_message in that conversation.
  4. If the window has closed, a text cannot reach them: say so, and offer an approved template instead. Pick one with list_templates, read its variables with get_template, and send it with send_template_message.

Tools: list_conversations, find_contacts, list_messages, send_text_message, list_templates, get_template, send_template_message

Send a template

Message someone who has not written in the last 24 hours, or ever, with an approved template.

Ask, for example:

  • “Send the order_shipped template to +1 555 010 0100 with order number 1042.”
  • “Let Ana know her appointment is tomorrow at 10.”

What the assistant does:

  1. Find the person with find_contacts, or add them with create_contact if they are new.
  2. Pick an approved template with list_templates, and read the variables it needs with get_template.
  3. Confirm the template and its values with the person, then send it with send_template_message.
  4. Later, check with get_message whether it was delivered or read.

Tools: find_contacts, create_contact, list_templates, get_template, send_template_message, get_message

Check delivery

Find out whether a message was delivered or read, and why one failed.

Ask, for example:

  • “Did my message to Ana arrive?”
  • “Why did the last message to +1 555 010 0100 fail?”

What the assistant does:

  1. Find the message with list_messages, filtered by conversation, contact or status; the failed status shows only the failures.
  2. Read it with get_message: sent means WhatsApp accepted it, then delivered and read follow; failed comes with the reason and whether a retry is worth it.

Tools: list_messages, get_message

Fix failed messages

Explain why messages failed, and resend the ones a retry can fix.

Ask, for example:

  • “Which messages failed this week, and why?”
  • “Resend the messages that failed yesterday.”

What the assistant does:

  1. List the failures with list_messages and the failed status, from the moment the person names.
  2. Read each one with get_message: its error says why it failed and whether a retry later is worth it. Group the failures by reason.
  3. Explain each group and its fix, such as a closed 24-hour window, a number that is not on WhatsApp, or a template that Meta paused.
  4. Resend only what a retry can fix, and only after the person confirms the list: send_text_message while the 24-hour window is open, or send_template_message with an approved template after it has closed.
  5. Never resend a message whose outcome is unknown until the recipient confirms that it did not arrive.

Tools: list_messages, get_message, send_text_message, send_template_message

Summarize conversations

Catch the person up on recent chats without sending anything.

Ask, for example:

  • “Catch me up on today's chats.”
  • “Which customers are still waiting for a reply?”

What the assistant does:

  1. List the recent conversations with list_conversations, from a moment such as this morning.
  2. Read each one's latest messages with list_messages for that conversation.
  3. Summarize who wrote, what they want and which ones still wait for an answer. Nothing is sent.

Tools: list_conversations, list_messages

Daily report

A report on one day: the chats, who waits for an answer, failures, AI handoffs and what is planned.

Ask, for example:

  • “Give me my daily WhatsApp report.”
  • “What happened on WhatsApp yesterday?”
  • “Who is still waiting for an answer this morning?”

What the assistant does:

  1. Agree the period and the time zone with the person, such as since midnight today or all of yesterday.
  2. List the chats of the period with list_conversations from its start. A chat whose last message came from the customer still waits for an answer; each chat shows its 24-hour window and its AI status.
  3. Count the messages that came in and went out with list_messages from the same moment, by direction, and list the failed ones with the failed status. get_message gives the reason of a failure.
  4. For each chat where the bot handed off or a person paused the AI, read why with read_conversation.
  5. List what is planned: list_scheduled_messages with the pending status, and the running broadcasts with list_broadcasts.
  6. Write the report in short parts: the numbers, the people waiting with the time left in their window, the failures with their fix, the handoffs, and what is planned. Nothing is sent.
  7. To get it every day, the person can schedule this prompt in their AI app, if the app has scheduled tasks.

Tools: list_conversations, list_messages, get_message, read_conversation, list_scheduled_messages, list_broadcasts

Weekly report

A report on seven days: volume, failures, broadcasts, templates to fix and the top customer topics.

Ask, for example:

  • “Give me a weekly WhatsApp report.”
  • “How did this week on WhatsApp compare with last week?”

What the assistant does:

  1. Agree the week and the time zone with the person. To compare two weeks, read both the same way.
  2. Read the messages of the week with list_messages from its first day, page by page, and count them by day and by direction. Count the failed ones and group their reasons. A busy account has many pages: say so when a count is partial.
  3. Count the chats of the week with list_conversations, and the contacts added or changed with find_contacts, from the same day.
  4. List the broadcasts of the week with list_broadcasts, with their sent, delivered, read and failed counts.
  5. Check the templates with list_templates, and name each one that Meta rejected, paused or disabled: a broadcast or a reminder that uses it cannot be sent.
  6. Read the inbound messages and name the three or four topics customers asked about most, with one short example each.
  7. Write the report: the numbers first, then what changed since the week before, then what needs attention. Nothing is sent.

Tools: list_messages, list_conversations, find_contacts, list_broadcasts, list_templates

Take over from the AI

Stop the bot and its follow-ups in one chat, reply by hand, and hand the chat back later.

Ask, for example:

  • “Pause the bot for Maria and tell her I'll call her at 5.”
  • “Turn the AI back on for Maria's chat.”
  • “Stop following up with Maria, but let the bot answer her.”

What the assistant does:

  1. Find the conversation: find_contacts by the person's phone lists their conversations, or list_conversations shows the latest. If you only have a name, ask for the phone.
  2. Check it with get_conversation: its AI status, and whether the 24-hour window is open.
  3. Before taking over, read what happened with read_conversation: the messages, the team's notes, and why the bot did what it did, such as the reason it handed off.
  4. Switch the bot off there with set_conversation_ai and status off. That stops its replies and its follow-ups in this one chat; every other chat keeps the bot.
  5. If the person only wants the bot to stop chasing someone, use set_contact_follow_ups with status off instead: it stops the follow-ups to that contact on every number, and the bot still answers when they write. Status on allows them again.
  6. Confirm the text with the person, then send it with send_text_message in that conversation.
  7. When the person is done, hand the chat back with set_conversation_ai and status active.

Tools: find_contacts, list_conversations, get_conversation, read_conversation, set_conversation_ai, set_contact_follow_ups, send_text_message

Review the AI agent's handoffs

Find why the AI agent hands chats off, and suggest changes to its prompt.

Ask, for example:

  • “Why did the bot hand chats over to us this week?”
  • “Which questions can the bot not answer yet?”

What the assistant does:

  1. List the chats of the period with list_conversations, and keep those where the bot handed off or a person paused the AI.
  2. Read each one with read_conversation: the messages and the bot's own reasoning for the handoff. The reasoning is the bot's account, not a verified fact.
  3. Group the reasons, such as a question the prompt does not cover, a price the bot does not know, or a customer who asked for a person.
  4. Read the bot with list_ai_bots and get_ai_bot, and suggest the changes to its prompt that cover the common reasons.
  5. Change the bot with update_ai_bot only after the person approves the new text, as in Edit an AI agent.

Tools: list_conversations, read_conversation, list_ai_bots, get_ai_bot, update_ai_bot

Organize contacts with labels

Tag contacts with labels, and take labels off, so they can be found and messaged as a group.

Ask, for example:

  • “Create a label called Wholesale and put Ana and Pedro on it.”
  • “Remove the VIP label from Pedro.”

What the assistant does:

  1. See the labels that exist with list_labels, and create a missing one with create_label.
  2. Find each contact with find_contacts, by phone, or by label to see who has it already.
  3. Add a label with add_contact_label and take one off with remove_contact_label. Taking it off one contact keeps the label for everyone else.

Tools: list_labels, create_label, find_contacts, add_contact_label, remove_contact_label

Add or update contacts

Add contacts from a list the person pastes, or change a contact's name or notes.

Ask, for example:

  • “Add these five customers to my contacts.”
  • “Change Ana's note to: prefers a call in the morning.”

What the assistant does:

  1. Read the list the person gave you, and before writing many, confirm how many contacts you will add.
  2. For each one, call create_contact with the phone and the name: it finds the contact when it exists and creates it when it does not. One call per contact.
  3. To change the name or a note of an existing contact, find it with find_contacts and change it with update_contact.

Tools: create_contact, find_contacts, update_contact

Schedule a message

Send a message later, see what is scheduled, and cancel one that has not been sent.

Ask, for example:

  • “Remind Ana tomorrow at 9am about her appointment.”
  • “What messages are scheduled for this week?”
  • “Cancel the reminder to Pedro.”

What the assistant does:

  1. Confirm what to send, to whom, and when, in which time zone, then call schedule_message with a text or an approved template. Nothing is sent now.
  2. Prefer a template: a text reaches the person only if their 24-hour window is still open when it is sent.
  3. See what is waiting with list_scheduled_messages; a pending one has not been sent yet.
  4. Cancel one with cancel_scheduled_message, as long as it is still pending.

Tools: schedule_message, list_scheduled_messages, cancel_scheduled_message

Send a broadcast

Send an approved template to the contacts of a label, after confirming the recipient count, then follow its progress.

Ask, for example:

  • “Send the spring_sale template to everyone labeled VIP.”
  • “How is yesterday's broadcast doing?”

What the assistant does:

  1. Find the recipients: list_labels for the label, then find_contacts with that label for their phones. A broadcast takes phones only, so a contact known only by a WhatsApp user id cannot be a recipient.
  2. Pick an approved template with list_templates and read its variables with get_template.
  3. A list of more than a few hundred phones belongs in the dashboard, not in a chat. One broadcast takes at most 10,000 phones.
  4. Confirm the template, the sending number and the recipient count with the person, then launch it with create_broadcast. Check that the recipient count it answers matches; a phone listed twice counts once.
  5. Follow it with get_broadcast and list_broadcast_recipients; cancel_broadcast stops the sends that have not gone out yet.

Tools: list_labels, find_contacts, list_templates, get_template, create_broadcast, get_broadcast, list_broadcast_recipients, cancel_broadcast

Win back quiet customers

Send an approved template to the customers who have not written for a while.

Ask, for example:

  • “Which customers have not written to us in 30 days?”
  • “Send our we_miss_you template to the customers who went quiet this month.”

What the assistant does:

  1. Agree the period with the person, such as 30 days.
  2. List the chats with list_conversations, latest first: the quiet customers are those whose last message is older than the period. Their 24-hour window has closed, so only a template reaches them.
  3. Leave out anyone the person names. Offer to tag the rest with a label, with create_label and add_contact_label, so the group can be found again.
  4. Pick an approved template with list_templates and read its variables with get_template. Meta can limit marketing templates to people who did not opt in.
  5. For a few people, confirm and send one at a time with send_template_message. For a larger group, follow Send a broadcast to the label with create_broadcast.

Tools: list_conversations, create_label, add_contact_label, list_templates, get_template, send_template_message, create_broadcast

Create a template

Draft a template with the person and submit it to Meta, which must approve it before it can be sent.

Ask, for example:

  • “Create a template to tell customers their order has shipped, with their name and order number.”
  • “Is my new order_shipped template approved yet?”

What the assistant does:

  1. Agree the wording with the person, numbering each variable and giving an example value for each: Meta's reviewers read the examples.
  2. Submit it with create_template. It starts as pending, and Meta's review takes time.
  3. Check later with get_template whether it was approved or rejected. Only an approved template can be sent.

Tools: create_template, get_template

Edit an AI agent

Read and change a bot's prompt or settings, create one, or put a bot on a number.

Ask, for example:

  • “Make the bot more formal and tell it we are closed on Sundays.”
  • “Put the Sales bot on our second number.”

What the assistant does:

  1. Find the bot with list_ai_bots and read its whole configuration with get_ai_bot.
  2. Change it with update_ai_bot, passing the updated_at that get_ai_bot returned as version. If the bot changed since you read it, read it again and reapply the change. An active bot's change reaches customers on its next reply.
  3. To start a new bot, use create_ai_bot, which starts as a draft that answers no one, or copy one with duplicate_ai_bot.
  4. Put a bot on a number with assign_ai_bot_to_number.

Tools: list_ai_bots, get_ai_bot, update_ai_bot, create_ai_bot, duplicate_ai_bot, assign_ai_bot_to_number

A workflow is missing?

The assistant can combine any of the tools of the server, so you can ask for jobs that are not on this page. When something needs a tool your connection does not have, the assistant says so. Access and connections explains how to give it more.

On this page