{"event":"inbox_has_messages"}. Messages that arrive in a burst share one wake, sent a few seconds after the first.
Grok Bot routine
Create a routine with a webhook trigger, then save it:Authorization: Bearer <token>.
claude.ai scheduled task
Create a scheduled task with an API trigger, then save it:Authorization: Bearer <token> and the routine headers.
Your own service
Any publichttps host works. The token is your signing key, at least 32 characters, and is never sent. Each request carries X-Zapbip-Timestamp (Unix seconds) and X-Zapbip-Signature, sha256= followed by the hex HMAC-SHA256 of <timestamp>.<body>. Reject a timestamp older than 300 seconds.
When a wake fails
408,425,429,5xx, a timeout or a network error is retried up to 5 attempts, waiting 5, 10, 20 and 40 seconds and honouringRetry-Afteron429and503, up to 60 seconds.- Redirects and other
4xxanswers are refused at once and not retried. - When a wake is refused or gives up, you get one notice on WhatsApp that the message waits in the inbox, and the connection is marked
failing. Call set_wake again to fix the target; the next delivered wake returns it toactive. - If the agent reads the messages before the wake fires, no request is sent.