Skip to main content

Overview

WhatsApp is two-way. Beyond the outbound send endpoints, Minimo receives events from Meta (WhatsApp Cloud API / 360dialog) through a single webhook and turns them into things you can see and act on:
  • Inbound messages — replies your customers send back — appear in the Inbox and in the contact’s chat history.
  • Template-status updates — when Meta approves or rejects a template you submitted — automatically flip the template’s status (visible via List WhatsApp Templates).
This webhook is managed by Minimo and is Meta-facing, not part of the API-key surface. You do not call it and you do not need to configure it — connecting a number in Channels wires up the Meta subscription for you. It is documented here so you understand where inbound data and template-status changes come from.

Endpoint

Minimo exposes the webhook at:

Verification (GET)

Meta verifies the subscription with a challenge handshake. Minimo replies with the hub.challenge value when hub.mode=subscribe and hub.verify_token matches the configured verify token.

Events (POST)

Meta delivers events to the POST route. Minimo always answers 200 quickly, then processes the payload:
  • The company is identified from the inbound phone_number_id (multi-sender safe — the event is routed to the number that received it).
  • message_template_status_update changes (contained in entry[].changes[]) update the matching template’s approval status.
  • Other events (inbound customer messages) are recorded against the contact and surfaced in the Inbox.
Because processing is asynchronous and authentication is via Meta’s verify token (not a Minimo API key), this route is not shown in the interactive API playground. Consume the results through the Inbox and the template-list endpoint instead.

What to poll instead

If you need to react programmatically to template approvals, poll List WhatsApp Templates and watch the status field flip to APPROVED — the webhook keeps that value up to date for you.