Skip to main content
A webhook gives your automation a public URL. When another app calls that URL, your automation runs. Most services you already use can call a webhook: GitHub, Stripe, Linear, Slack, Zapier, Typeform. Anything with an “outgoing webhook” or “send a POST request” setting will work.

Ask for it

Tell the agent what should call in and what should happen when it does.
Give me a URL that GitHub can call whenever someone opens a pull request, then email me a summary of the change.
I want a webhook that Stripe hits on a failed payment. Add the customer to the follow-up list.
Set up a URL I can paste into Zapier to kick this off.
The agent creates the webhook and prints the URL. Copy that URL into the other service. You will also find it in the Automations tab any time you need it again.

Say what the sender will send

The agent handles whatever arrives, but it does a better job when it knows the shape ahead of time. If you already know what the other service sends, paste in a sample. One real payload beats a paragraph describing one.
Here is what our form tool posts. Use the email and plan fields.
If you do not know, say so. The agent can register the webhook, wait for the first real call, read what actually showed up, and build around that.

Use the platform’s URL, never your machine’s

The agent gives you a stable URL that belongs to the platform. Use that one. Your workspace has its own address, but it changes when the machine restarts, and the machine sleeps when idle. A service pointed straight at it would break. The platform URL never changes. When a call comes in, the platform wakes your workspace and forwards the request.

Worth knowing

  • The caller gets an instant OK. The platform replies right away with a 202. Whatever your automation returns does not go back to the sender, so do not build something that expects an answer from you.
  • Calls can land late. If your workspace was asleep, expect the automation to start 10 to 60 seconds after the event.
  • The URL is public and unguessable. Anyone holding it can trigger your automation. The URL itself is the secret, so treat it like a password. Do not paste it into a public repo or a shared doc.
  • Be careful what you put behind one. Since anyone with the URL can start the run, think twice before a webhook deletes data or spends money. The agent will ask you to confirm before it builds something like that.

Test it

Ask the agent to call the webhook itself with a sample payload. That runs the whole path end to end without waiting for the real service to send something.
Send a fake GitHub payload to that webhook so I can see what the email looks like.

Change it later

Only email me for pull requests against main.
Also post it in Slack.
Turn off the Stripe webhook.