D1VD1V

Notifications & Webhooks

How project notification rules work, what events fire, and what fields are sent.

What it does

Project notification rules send outbound webhooks when important project events happen.

Current event types:

  • task.result_received
  • deployment.succeeded
  • runtime.error

Configure rules from the project Overview tab. Rules are project-scoped, not account-scoped.

Setup flow

  1. Open a project workspace.
  2. Go to Overview.
  3. Find the Notifications card.
  4. Create a rule with a webhook URL and one or more trigger events.
  5. Send a Test event before wiring production automation.

Webhook request shape

Each webhook is sent as JSON:

{
  "event_id": "delivery_12",
  "event_type": "task.result_received",
  "occurred_at": "2026-05-23T12:34:56.000000",
  "project": { "id": "proj_xxx", "name": "My Project" },
  "rule": { "id": 3, "name": "Ops channel" },
  "data": { ... }
}

Headers:

  • Content-Type: application/json
  • X-D1V-Event: <event_type>
  • X-D1V-Delivery: <delivery_id>
  • X-D1V-Signature: sha256=... when a signing secret is configured

Result event fields

task.result_received is sent once per saved result message.

Fields inside data:

  • session_id: backend opcode session id
  • turn_id: turn id when available
  • subtype: upstream result subtype when available
  • full_result: the full saved result text
  • prompt: the original execute prompt matched by turn id or session

Example:

{
  "event_type": "task.result_received",
  "data": {
    "session_id": "session_123",
    "turn_id": "turn_123",
    "subtype": "success",
    "full_result": "Implemented the booking flow and confirmation screen.",
    "prompt": "Build a booking page for a therapy service"
  }
}

Other event fields

deployment.succeeded usually includes:

  • environment
  • deployment_url
  • commit_hash
  • message

runtime.error usually includes:

  • environment or session_id depending on the source
  • message
  • error

Receiver guidance

  • Verify X-D1V-Signature if you configure a signing secret.
  • Treat delivery as at-least-once; dedupe by event_id or X-D1V-Delivery.
  • Store full_result carefully. It may include user requirements, generated content, or sensitive text.
  • Use the rule-level delivery log in the Overview page to inspect failed attempts, status codes, and response bodies.