Skip to main content

List Webhooks

GET /api/projects/:projectId/webhooks
Returns all webhooks configured for a project.
[
  {
    "id": 1,
    "projectId": 1,
    "platform": "slack",
    "url": "https://hooks.slack.com/services/...",
    "events": ["task:completed", "task:approved"],
    "enabled": true
  }
]

Get Webhook

GET /api/projects/:projectId/webhooks/:id

Create Webhook

POST /api/projects/:projectId/webhooks
Content-Type: application/json
{
  "platform": "slack",
  "url": "https://hooks.slack.com/services/T00/B00/xxx",
  "events": ["task:completed", "task:approved"],
  "enabled": true
}
FieldRequiredDescription
platformYesslack, discord, teams, custom
urlYesWebhook endpoint URL
eventsYesArray of event types to subscribe to
enabledNoDefault true

Available Events

EventTrigger
task:createdNew task added
task:startedTask moved to In Progress
task:completedAgent finished, task in Testing
task:approvedTask approved, moved to Done
task:changes_requestedReviewer requested revisions

Update Webhook

PUT /api/projects/:projectId/webhooks/:id
Content-Type: application/json
Accepts the same fields as Create.

Delete Webhook

DELETE /api/projects/:projectId/webhooks/:id

Test Webhook

POST /api/projects/:projectId/webhooks/:id/test
Sends a sample payload to the webhook URL using the configured platform format. Returns the HTTP status code from the target endpoint.
Always test webhooks after creation to verify the URL and authentication are correct.