Skip to main content
Webhooks let OrgX notify your systems when work changes. Use them for external queues, CRM updates, compliance archives, alerting, or workflow automation.
Webhooks are in Public Preview. Contact [email protected] to enable webhook delivery for a workspace.

Event Types

EventWhen it fires
decision.createdA decision needs review.
decision.resolvedA decision was approved or rejected.
artifact.shippedAn approved artifact is ready.
agent.startedAn agent run began.
agent.completedAn agent run completed.
initiative.updatedInitiative progress, risk, or status changed.

Payload

{
  "id": "evt_01h...",
  "type": "decision.created",
  "created": "2026-04-29T20:00:00Z",
  "workspace_id": "d85d7e6f-58f2-4637-b3a0-3cf2c3b8a638",
  "data": {
    "id": "dec_123",
    "title": "Campaign brief ready",
    "urgency": "high"
  }
}

Signature Header

Webhook requests include an HMAC signature.
X-OrgX-Signature: sha256=...
Verify the signature before processing the event. Reject unsigned requests.

Delivery Contract

Webhook delivery is enabled per workspace during Public Preview. Exact retry windows and timeout values are confirmed during enablement.
BehaviorContract
MethodPOST
Content typeapplication/json
TimeoutWorkspace-specific preview timeout
RetriesConfigured during enablement
OrderingEvents may arrive out of order
DeduplicationUse the event id as a dedupe key

Handler Example

export async function POST(request: Request) {
  const signature = request.headers.get('x-orgx-signature');
  const body = await request.text();

  if (!signature || !verifyOrgxSignature(body, signature)) {
    return new Response('invalid signature', { status: 401 });
  }

  const event = JSON.parse(body);
  await processOrgxEvent(event);

  return Response.json({ received: true });
}