Webhooks
What it will be
When shipped, webhooks let you subscribe to Toado events and receive HTTP POST deliveries to a URL you control. Use cases:
- Notify Slack or another chat tool when a ticket is moved or commented on.
- Sync ticket state into your existing tracker (Jira, Linear).
- Trigger a CI build when a ticket is assigned or moved.
- Build a dashboard fed by Toado events.
Planned event types
| Event | Fires when |
|---|---|
ticket.created | A new ticket is created (extension capture or create_ticket MCP call). |
ticket.updated | Title, description, resolved, or branch fields change. |
ticket.moved | A ticket changes column or project. |
ticket.assigned | Assignees change (add or remove). |
ticket.archived | A ticket is archived. |
ticket.restored | A ticket is restored from archive. |
comment.created | A comment is posted (human or MCP). |
member.invited | An invitation is sent. |
member.joined | An invitee accepts. |
Planned delivery semantics
- At-least-once: deliveries may be duplicated; consumers should be idempotent (each event has a stable id).
- Order: per-resource ordering is preserved (events for the same ticket arrive in order); cross-resource order is not guaranteed.
- Retries: exponential backoff over 24 hours, then dropped to a dead-letter queue you can inspect.
- Signing: every payload is signed with HMAC-SHA256 using a secret you choose at subscription creation. Verify in your handler.
Planned subscription management
Via the web app (Settings › Webhooks) and via MCP / REST:
- Create a subscription with a target URL, event filter, and signing secret.
- View delivery history with status, timestamp, response code, and body.
- Replay a failed delivery.
- Disable or delete a subscription.
Where to next
- Roadmap to see ship status.
- Feature requests to vote on or suggest event types.
- REST API for the underlying surface webhooks will sit on top of.