Skip to main content
Every agent can have its own webhook URL. Anything that can send an HTTPS POST — Zapier, n8n, GitHub Actions, an alerting rule, a cron job, Claude Code, or your own code — can use it to give the agent a task. Each call shows up in the agent’s conversation, just like a message from you.
Webhooks are included on every paid plan.

Get a webhook URL

1

Open the agent's webhook

In your project’s Agents list, find the agent and select Add to other tools, next to Add to Slack. Once the webhook is set up, it reads Other tools.
2

Generate the URL

Choose Generate webhook URL. Copy the URL — it’s the only credential, so treat it like a password.
3

Call it

Send a POST with whatever the agent should work on. The dialog shows a ready-to-copy curl example.

What you send

The body is yours: JSON, plain text, or form data, up to 256 KB. There’s no required format — the agent reads it as the message.

What you get back

By default the request waits for the agent’s reply: To stream the reply as it’s written, add Accept: text/event-stream (or ?stream=1 to the URL). Hanging up early doesn’t stop the agent — it finishes the task and the result stays in the conversation.

Good to know

  • One URL per agent. Calls run as you, with the same connected apps and approvals as your own messages.
  • Rotate issues a new URL and stops the old one immediately. Disable stops calls until you enable it again.
  • Each call uses credits the same way a message from you does.