message_template_quality_update Webhook

Field reference for WhatsApp message_template_quality_update webhooks: template quality score changes, payload shape, and Dualhook handling.

The message_template_quality_update field reports changes to a template's quality score. It helps you react before a template is paused or disabled due to poor feedback.

What message_template_quality_update Reports

The payload identifies the template and includes the previous and new quality score.

Quality values:

ScoreMeaning
GREENHigh quality.
YELLOWMedium quality or warning state.
REDLow quality and higher risk.
UNKNOWNQuality is pending or not enough signal exists.

When It Fires

Meta sends this webhook when a template's quality score changes.

Payload Shape

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WABA_ID>",
      "time": 1674864290,
      "changes": [
        {
          "field": "message_template_quality_update",
          "value": {
            "previous_quality_score": "GREEN",
            "new_quality_score": "YELLOW",
            "message_template_id": 806312974732579,
            "message_template_name": "welcome_template",
            "message_template_language": "en-US"
          }
        }
      ]
    }
  ]
}

Dualhook Handling

Dualhook subscription: subscribed and forwarded. Dualhook's Meta app subscribes to message_template_quality_update. Meta does not allow Webhook Override for template fields, so it arrives on Dualhook's app-level callback and Dualhook forwards it to your endpoint.

Dualhook records the event in the connection's webhook log. The dashboard does not show per-template quality scores; check those in WhatsApp Manager or read the forwarded event.

The event contains template metadata and quality state only. Dualhook stores operational metadata and forwarding status; it does not store customer message content.

Implementation Notes

  • Treat YELLOW as an early warning and RED as urgent.
  • Segment or pause campaigns that are driving negative feedback before Meta pauses the template.
  • Store both previous and new score so you can detect recovery as well as degradation.
  • Join by message_template_id, name, and language. Template names can be reused across languages.

Related

  • Webhook Subscription FieldsReference list of all 22+ WhatsApp Business Platform webhook subscription fields, what each notifies you of, required permissions, payload size limits, retry policy, and IP allowlisting.
  • Webhook Events & NotificationsManagement webhook events: template status, quality updates, account alerts, and forwarding.
  • TemplatesTemplate lifecycle, categories, and management through Dualhook and Meta Graph API.
  • Template AnalyticsMeasuring template performance: sent, delivered, read, and clicked metrics.
  • message_template_status_update WebhookField reference for WhatsApp message_template_status_update webhooks: template approval, rejection, pause, disablement, archive, deletion, appeal, and Dualhook handling.
Browse more docsStart Free Trial