Skip to Content
CraftBot Docs v1 — internal preview

Webhook setup

After you save a WhatsApp number in CraftBot, you must point Meta at CraftBot’s webhook endpoint so inbound messages flow into the platform.

In CraftBot

  1. Go to Settings → Channels → WhatsApp Numbers and open the channel.
  2. Scroll to the Webhook Setup section near the bottom of the detail page and expand it.
  3. Copy the displayed Webhook URL. It looks like https://<your-craftbot-host>/api/v1/webhooks/whatsapp. There is no per-channel suffix — Meta routes inbound payloads to the right channel via the phone_number_id they include.
  4. The Verify Token field shows a masked preview by default. Click Show to reveal the actual token, then Copy. This is the value you set when you saved the channel (or rotated via Edit → Replace).

In Meta Business Manager

  1. Open your Meta AppWhatsAppConfiguration.
  2. Under Webhook, click Edit.
  3. Paste the Callback URL.
  4. Paste the Verify Token.
  5. Click Verify and save. Meta hits the URL with a GET containing the verify token; CraftBot replies with the challenge value if the token matches.
  6. After verification succeeds, Manage the webhook field subscriptions and enable:
    • messages — inbound messages plus delivery / read / failed status callbacks all ride on this field.
    • message_template_status_update — Meta pushes template approval / rejection / pause events here, which CraftBot uses to keep the Templates list in sync.

Status callbacks (delivered / read / failed) arrive on messages, not on a separate message_status field. Meta’s UI may list other fields; only the two above are required for the standard inbound + delivery + template-sync loop.

Verifying the loop

After Meta’s webhook is verified, send a real WhatsApp message to your business number. Within 1–2 seconds:

  • The message appears in the inbox under the channel’s configured default routing.
  • The conversation timeline shows the inbound payload.
  • If a recipe trigger matches, the bot session starts.

Common failures

SymptomCauseFix
Meta says “verification failed”.Verify token mismatch, or Callback URL not reachable.Re-check the token; confirm the URL is publicly reachable (Traefik / TLS).
Webhook verifies but no inbound messages.Field subscription not enabled, or messages not selected.Re-open Meta’s Manage dialog and enable messages.
Inbound arrives but no bot reply.No recipe trigger matches, or recipe is in draft (not published).Check trigger keyword and verify the recipe is published.

Re-verification

If you rotate the verify token in CraftBot, Meta will start rejecting webhook deliveries until you re-run the verification flow with the new token. Plan rotations during a low-traffic window.

Last updated on