Catch WhatsApp number health problems before they cost you campaigns

By General Input

Every morning we check each WhatsApp Business number for quality, status and sending limit drops, and only ping Slack when something got worse.

Integrations

  • Kapso
  • Slack Bot

Type

Agentic Task

Categories

  • Operations
  • Marketing

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.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountGive your team Looker numbers without buying more seatsPause marketing emails to escalated customers, then restore them