template_category_update Webhook

Field reference for WhatsApp template_category_update webhooks: scheduled and completed template recategorization, payload shape, and Dualhook handling.

The template_category_update field reports category reclassification for WhatsApp message templates. It is important because category changes can affect pricing, deliverability rules, and whether a template is allowed for a given use case.

What template_category_update Reports

Meta can send this field before a category change takes effect, or after the category has changed.

Typical cases:

  • a template currently categorized as Utility will be recategorized to Marketing,
  • a manual or automated review has changed the template category,
  • Meta gives advance notice of an automated category correction.

When It Fires

Meta sends this webhook when an existing template category is scheduled to change or has changed.

Payload Shape

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WABA_ID>",
      "time": 1746169200,
      "changes": [
        {
          "field": "template_category_update",
          "value": {
            "message_template_id": 278077987957091,
            "message_template_name": "welcome_template",
            "message_template_language": "en-US",
            "previous_category": "UTILITY",
            "new_category": "MARKETING"
          }
        }
      ]
    }
  ]
}

Scheduled vs Completed Changes

Scheduled category-change notifications include:

FieldMeaning
correct_categoryThe category Meta plans to apply.
new_categoryThe current category at the time of the scheduled-change notice.
category_update_timestampWhen Meta plans to apply the corrected category.

Completed category-change notifications include:

FieldMeaning
previous_categoryCategory before the change.
new_categoryCategory after the change.

Do not assume new_category always means the final category in scheduled-change payloads. In that shape, Meta's docs use new_category for the current category and correct_category for the planned category.

Dualhook Handling

Dualhook subscribes to template_category_update as a normalized management field. It uses category updates to keep template metadata aligned with Meta, surfaces category changes in operational views, and forwards the management event to your configured endpoint.

This field contains template metadata only. Dualhook stores operational metadata and delivery status; it does not store message bodies.

Implementation Notes

  • Treat scheduled and completed payloads as different shapes.
  • If a Utility template is moving to Marketing, review pricing, opt-in, and marketing frequency-cap behavior before continuing sends.
  • Join by template ID and language; names can be reused across languages.
  • Keep the scheduled timestamp so operators can adjust campaigns before the category change lands.
  • If the category looks wrong, fix the template category in Meta's template tooling rather than ignoring the webhook.

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, mTLS support, 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.
  • Marketing MessagesMarketing template messaging hub: send paths (Cloud API and MM API), specialty template types, opt-out handling, billing, quality, and compliance.
  • Utility MessagesUtility template messaging hub: supported components and buttons, specialty types (location, call permission), CSW-free billing, volume tiers, content rules, and recategorization.
Browse more docsStart Free Trial