Catch WhatsApp number health problems before they cost you campaigns
Every morning we check each WhatsApp Business number for quality, status and sending limit drops, and only ping Slack when something got worse.
Every morning at 8am, on a daily cron schedule, check the health of my WhatsApp Business numbers in Kapso and warn me before deliverability problems start costing me campaigns.
Start by listing the phone numbers in my Kapso project with List Phone Numbers. For each number, use Check Phone Health for a live health check through Meta and Get Phone Number for its stored record, and read the quality rating, the status, and the messaging limit tier. Then call List Message Templates for that number to capture which templates are currently approved and usable, including their names and when they were last created or changed.
Before deciding whether to say anything, read back the last alert this workflow posted, in the same Slack channel it posts to, using Slack Bot's Get Channel History. That post is the baseline for the previous run. Do not assume any stored state exists outside of Slack. Scan back far enough to find the most recent post from this workflow, since quiet days mean the last alert may be several days old, and note the date it was posted.
Post a message with Slack Bot's Send a Message only when something has actually degraded compared to that baseline: a quality rating dropping to medium or low, a number moving to flagged or restricted, a messaging limit tier falling, or a template that was previously available disappearing from the approved list. Anything that stayed the same or improved does not deserve a message.
When there is something to report, say plainly which number is affected, what changed from the previous value to the current one, and the likely cause. Meta's guidance is that a sudden quality drop is usually caused by a template published in the last seven days, so check that number's templates and name any that were created or changed recently as a likely cause. Explain the consequence in practical terms too: a rating that stays low for seven days drops the daily messaging limit a tier, and a number in flagged status cannot be upgraded to a higher tier until it recovers.
Stay silent on healthy days so the channel does not get noisy. Because a healthy day produces no post, end every alert with a short current state snapshot listing each number with its quality rating, status, messaging limit tier, and approved template names, so the next run has something concrete to compare against. On the very first run, when Get Channel History finds no previous post from this workflow, post that snapshot once and label it as the initial baseline rather than a degradation.
What does this prompt do?
- Checks every WhatsApp Business number in your Kapso project each morning for its quality rating, status, and daily sending limit
- Captures which message templates are currently approved, so you notice when one quietly stops being usable
- Compares today against the last alert it posted and messages Slack only when something has genuinely gotten worse
- Names the number affected, what changed, and the likely cause, including recent template changes that often trigger quality drops
What do I need to use this?
- A Kapso account with at least one WhatsApp Business number in the project you connect
- A Slack workspace where our bot can post to and read the channel you pick
- A channel to use for these alerts. A quiet operations channel works best, since the workflow stays silent on healthy days
How can I customize it?
- Change the run time from 8am, or run it twice a day if you send high volume
- Point alerts at a different channel, or add a mention for whoever owns deliverability
- Adjust what counts as worth alerting. Some teams also want a note when a number recovers, not just when it degrades
FAQs
Will this message me every day?
What counts as a problem worth alerting on?
Why does the alert talk about my templates when the quality rating drops?
Does this work if I have more than one WhatsApp number?
Doesn't Meta already tell me about this?
Related templates
When someone leaves, we check which shared passwords they used in their final months and post a ranked rotation list to your security channel.
Every Monday, check every S3 bucket for public exposure, missing encryption and weak backup settings, then get the risks ranked in Slack.
Twice every weekday, the conversations from your social inbox land on the right HubSpot contact timelines, with a Slack recap for sales.
Every morning, find the addresses that hard bounced or filed a spam complaint, update the matching HubSpot contacts, and post a short Slack recap.
Every weekday at 4pm, spot the threads that went quiet, stage a ready-to-send nudge in your mailbox, and get a ranked Slack recap.
When you merge a fix in GitHub, this agent checks the matching dead-letter queue, replays the failed messages, and reports back on the pull request and in Slack.
Know before your WhatsApp numbers stop delivering.
Quality ratings and sending limits slide quietly until a campaign underperforms. This checks every morning and tells you in Slack the moment something slips.