How it works
- Register a webhook URL and choose which events to receive
- When a matching event fires, Polpo sends a POST request to your URL
- Your server processes the payload and responds with a 2xx status
Setting up webhooks
- Dashboard
- API
Go to Project Settings > Webhooks and click Add webhook. Enter your endpoint URL and select which events to subscribe to.
Event patterns
Use wildcards to subscribe to groups of events:| Pattern | What you receive |
|---|---|
* | Everything |
task:* | Task created, assigned, transitioned, completed, failed, killed |
mission:* | Mission executed, completed, aborted |
agent:* | Agent spawned, output, completed |
assessment:* | Assessment started, scored, completed |
approval:* | Approval requested, resolved, timed out |
schedule:* | Schedule triggered, created, completed |
["task:transition", "mission:completed"].
Payload format
Every webhook delivery contains:data field varies by event type. See Events API for the full list of event types and their payloads.
Webhooks vs SSE
| Webhooks | SSE | |
|---|---|---|
| Direction | Server → your server | Server → browser |
| Use case | Backend integrations | Real-time dashboards |
| Delivery | Best-effort, no retry | Resumable with Last-Event-ID |
| Setup | Register URL | Open EventSource connection |
Event payloads
Thedata field varies by event type. Webhook payloads use the same structures as the SSE events — see the full catalog with all payloads in the Events reference.
Task and mission objects in payloads follow the same schemas documented in Tasks reference and Missions reference.
Delivery
- Deliveries are at most once (fire-and-forget)
- Failed deliveries are not retried
- Events are delivered in emission order