account_alerts Webhook

Field reference for WhatsApp account_alerts webhooks: messaging-limit alerts, OBA status, profile-photo alerts, payload shape, and Dualhook handling.

The account_alerts field reports account and phone-number alerts that Meta wants the business or partner to act on. It is a management webhook field, not a message-path field.

What account_alerts Reports

Use account_alerts to detect changes such as:

  • messaging-limit increase decisions that were denied, deferred, or need more information,
  • Official Business Account (OBA) approval or rejection,
  • deleted business profile photos,
  • profile or capability alerts that may require a business action.

Each alert carries a severity, status, type, and human-readable description. Meta's reference nests those four inside an alert_info object, but the deliveries Dualhook receives put them directly in value, next to entity_type and entity_id. Read both places.

When It Fires

Common trigger families are:

TriggerTypical meaning
Increased-capability eligibilityMeta cannot increase limits yet, deferred the decision, or needs more verification.
OBA statusThe phone number's Official Business Account request was approved or rejected.
Profile photo lostThe phone number's public business profile photo was deleted and should be uploaded again.

Payload Shape

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WABA_ID>",
      "time": 1739321024,
      "changes": [
        {
          "field": "account_alerts",
          "value": {
            "entity_type": "BUSINESS",
            "entity_id": "<BUSINESS_OR_PHONE_ID>",
            "alert_severity": "WARNING",
            "alert_status": "ACTIVE",
            "alert_type": "INCREASED_CAPABILITIES_ELIGIBILITY_DEFERRED",
            "alert_description": "Limits cannot be increased yet."
          }
        }
      ]
    }
  ]
}

This is the delivered shape. Meta's reference shows the last four fields inside "alert_info": { ... } instead, so a parser that only reads alert_info misses every real alert.

Key values:

FieldNotes
entity_typeBUSINESS (business portfolio), PHONE_NUMBER, or CURRENT_STATUS_ID (the phone number's business profile).
entity_idBusiness portfolio ID or business phone number ID.
alert_severityCRITICAL, WARNING, or INFORMATIONAL.
alert_statusACTIVE or NONE.
alert_typeMachine-readable reason. See the values below.
alert_descriptionHuman-readable action or explanation from Meta.

Documented alert_type values:

ValueMeaning
INCREASED_CAPABILITIES_ELIGIBILITY_DEFERREDNot enough messaging signal yet, identity verification was rejected, or message quality is too low.
INCREASED_CAPABILITIES_ELIGIBILITY_FAILEDLimits cannot be increased because of past messaging activity.
INCREASED_CAPABILITIES_ELIGIBILITY_NEED_MORE_INFOMeta needs more information, such as identity verification, before deciding.
OBA_APPROVEDOfficial Business Account status approved.
OBA_REJECTEDOfficial Business Account status denied.
PROFILE_PICTURE_LOSTThe business profile photo was deleted. Upload a new one in WhatsApp Manager or through the API.

Dualhook Handling

Dualhook subscription: subscribed and forwarded. Dualhook's Meta app subscribes to account_alerts. Meta does not allow Webhook Override for account-level fields, so these events always land on Dualhook's app-level callback, never on your Webhook Override URL.

Dualhook uses the event metadata to surface account-health and capability alerts in the dashboard, classify alert severity, and forward the management event to your configured endpoint with Dualhook forwarding headers. Dualhook stores operational metadata about the alert and delivery status; it does not store message content because this field is not a message webhook.

Implementation Notes

  • Treat alert_type as the stable routing key and alert_description as display text.
  • Escalate CRITICAL alerts to an operator; they often indicate a rejection or blocked capability.
  • Keep the raw entity_type and entity_id, because an alert may target a business portfolio, phone number, or profile entity.
  • For OBA decisions, also check Official Business Account and Display Names.

Related

Browse more docsStart Free Trial