Grok Bot Webhooks: How to Trigger a Routine From Any App
A webhook lets another app start a Grok Bot routine. Your billing system, your uptime monitor or your own script sends an HTTP request, and the Bot runs the job you gave it, using whatever data you sent.
How to set up a Grok Bot webhook
- Create the routine first. Ask the Bot in chat, for example: "Create a routine called New order check that reviews each new order for fraud signals."
- Ask the Bot to add a webhook trigger to that routine.
- Open the routine in the desktop app. The Webhook section shows the URL to POST to, the key, and the full Authorization header, ready to copy.
- Paste the URL and header into the app that will send the webhook.
The webhook details only appear in the desktop app. The phone app's routine view does not show them.
What the request looks like
Send a POST with your key as a Bearer token. You can include a JSON body, and the Bot receives it along with the routine's instruction.
curl -X POST "YOUR_WEBHOOK_URL" \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"order_id": "1042", "total": 389.00, "country": "US"}'
- 200 means Grok Bot accepted the call and started a run. It does not mean the run has finished.
- Any other response means no run started. Check that the routine is not paused and that the key is current.
Limits
- 50 routines per Bot.
- 200 runs an hour per routine, and 300 an hour across all your routines.
- Runs over the limit fail with "Automation run rate limit exceeded" and are not retried for you.
- Run history keeps the 20 most recent runs for each routine.
If your app sends events in bursts, filter on your side and only send the ones the Bot needs to see.
Webhook ideas
- A payment fails in your billing tool. The Bot looks up the customer and drafts a note to them.
- Someone fills in a form on your site. The Bot researches the lead and adds it to your CRM.
- Your uptime monitor reports an outage. The Bot checks recent changes and summarizes what broke.
- A large order comes in. The Bot checks it against your usual patterns before it ships.
Other ways to start a routine
Webhooks are for apps without a built-in trigger. Routines can also run on a schedule (at least five minutes apart), from a Slack message, mention or reaction, from GitHub, Linear, Sentry or PagerDuty events, or from email sent to the Bot's own address. More in Grok Bot skills and routines.
Getting the result to a person
A webhook gets data into Grok Bot in seconds, but the result lands in the Bot's chat. If the routine needs your approval, that request expires after 30 minutes. So the 3am outage gets a tidy summary that nobody reads until morning.
Add DoNotify and the routine can end with a phone call instead: "If the outage is still going, call me and say which service is down." Your phone rings and the message is read out. Under the hood it is one more HTTP request, this time from the Bot to DoNotify:
POST https://donotifys.com/api/call-now
Authorization: Bearer DONOTIFY_API_TOKEN
Accept: application/json
{"title": "Outage", "description": "[say] Checkout has been down for 12 minutes."}
The full setup is on the AI agents page, and 14 calls are free. Grok Bot use cases that pair well with webhooks are in Grok Bot use cases.
Keep the key safe
- Treat the key like a password. Anyone with the URL and key can start the routine.
- Keep the routine's instructions narrow, so it only does the one job.
- Pause or delete routines you no longer use, and review active ones now and then.
- Keep secrets out of the JSON body. Send IDs and let the Bot look up the rest with its own apps.
Frequently asked questions
Does Grok Bot support webhooks?
Yes. Ask the Bot to add a webhook trigger to a routine, then open the routine in the desktop app to copy the URL and key.
Where do I find my Grok Bot webhook URL?
In the desktop app. Open the routine and look for the Webhook section, which shows the POST URL, the key and the full Authorization header. The phone app does not show it.
Can I send data to a Grok Bot webhook?
Yes. Send a JSON body with the POST, and the Bot receives it along with the routine instruction.
What does a 200 response from a Grok Bot webhook mean?
Grok Bot accepted the call and started a run. It does not mean the run has finished. Any other response means no run started.
How many webhook runs can I send?
Up to 200 runs an hour per routine and 300 an hour across all routines. Runs over the limit fail and are not retried automatically.
Can a Grok Bot routine call my phone?
Yes, with DoNotify. The routine can end with a call that reads out what it found.
Ready to Transform Your Google Reminders?
Stop missing important events. DoNotify turns Google Calendar notifications into voice calls that ensure you never forget.
Try DoNotify Free