Setup

Webhooks

A webhook is how Meta tells Sendrix what happened: a message was delivered, a message was read, someone replied. Without one, campaigns send but nothing ever comes back.

You probably do not need this page

Numbers connected with Connect with Facebook are wired up automatically, and that is now the only way to add one. This page covers workspaces set up earlier, which still run through their own Meta app.

Pointing Meta at Sendrix

The Senders page shows a callback URL and a verify token that belong to your workspace alone. In Meta, under WhatsApp, then Configuration, paste both, then subscribe to the messages field.

Meta calls the URL once to confirm it. The Senders page shows when the last event arrived, which is the quickest way to tell it worked.

Verifying that events are genuine

Anyone who learns your callback URL could post fake replies and delivery receipts to it. Meta signs every delivery with your app secret. Add it to the sender and Sendrix checks that signature and rejects anything that fails.

The shield on each sender shows whether this is on. Numbers connected through Facebook are covered by our own app secret and always show it.

Rotating the URL

If the URL leaks, press Rotate. A new URL and verify token are issued and the old ones stop working immediately, so update Meta straight after or events will stop arriving.

What arrives

EventEffect
Delivery statusMoves a message through sent, delivered, and read.
Inbound messageOpens or reopens a conversation in the inbox.
ErrorRecorded against the number in Logs.

When something looks wrong

Logs holds every event Meta has sent, newest first, with the raw payload. That is the ground truth when a campaign reports something odd.

No events at all

  • The callback URL was never saved in Meta, or the verify step failed.
  • The messages field is not subscribed.
  • The URL is not reachable from the internet.
  • The URL was rotated and Meta still has the old one.

Deliveries but no replies

Delivery receipts and inbound messages arrive on the same subscription, so this usually means people are not replying rather than a broken webhook. Check Logs to be sure.