Skip to main content
When a customer finishes an onboarding link, you can find out two ways: the redirect on their browser, and a webhook to your server.

Redirects

We send the customer’s browser back to your redirect URL with query params attached.

Success

successRedirectUrl (or a HookMyApp page if you didn’t set one):

Failure

failureRedirectUrl (or a HookMyApp page if you didn’t set one):

Reason codes

Webhook events

Set connectedNotificationUrl when you create the link to get a server-to-server POST the moment your customer’s connect finishes, whether it succeeds or fails.
Events only go to connectedNotificationUrl. They are never mixed into your message destination webhook, which only carries inbound WhatsApp and Instagram messages.

channel.connected

phoneNumberId is null for Instagram.

channel.connect_failed

reason is one of the codes above.

Headers

Every event POST carries:

Signature verification

Compute HMAC-SHA256 over the raw request body using the signing secret returned when you create, list, or regenerate the link.
This secret is separate from the Verify Token. The Verify Token is only used for the ownership handshake on your message destination webhook, never for signing.

Retries

If your endpoint doesn’t answer with a 2xx, we retry up to 8 attempts, waiting longer between each one, from about a minute up to an hour. If every attempt fails, delivery stops.