Overview
Webhooks notify your app when something happens in Cyberdesk. Instead of polling, subscribe to the event types you care about (see the Event Catalog in the Webhooks portal). The most common one isrun_complete
, which we’ll use below as an example.
Typical flow: create a run with the SDK, return immediately to your user, and update your system when you receive the webhook.
1) Enable Webhooks in the Dashboard
- Go to the Cyberdesk Dashboard → Webhooks.
- Click “Activate Webhooks” (creates a Svix Application for your organization).
- Click “Add Endpoint” and enter your HTTPS URL.
- Subscribe to the event types you need (for getting started,
run_complete
is typical). - Copy the endpoint’s signing secret (
whsec_...
).
Each endpoint has its own secret. Keep separate endpoints/secrets for dev and prod.
2) Implement the Endpoint (verify signatures)
Install dependencies
- TypeScript / Node
- Python
We’re working on a managed Webhooks SDK with built‑in verification and typing. If you’d like this prioritized, please let the team know.
Endpoint handlers
- TypeScript / Node
- Python
Type safety:
- TypeScript: use a type guard (like
assertRunCompletedEvent
) to narrow the Svix‑verified payload toRunCompletedEvent
, then typerun
asRunResponse
. - Python:
RunCompletedEvent.model_validate(data)
returns a typed object; some IDEs may still showAny | RunResponse
forevt.run
, socast(RunResponse, evt.run)
helps IDEs while remaining safe after validation.
3) Event payload
Payloads vary by event type. Refer to the Event Catalog in the portal for up‑to‑date schemas. Example forrun_complete
:
run.status
to branch your logic and output_data
or attachments to continue your process.
Sensitive inputs: plaintext secrets are never included in webhook payloads. If a run used sensitive variables, you’ll see
run.sensitive_input_aliases
(keys only, like password
). Actual values are stored in a secure vault only during execution and deleted after completion.4) Test
- In the Webhooks tab, send a test event to your endpoint.
- Use the Logs/Activity views to inspect payloads and delivery attempts, replay failures, and recover from downtime.
Next steps
- See the Detailed Webhook Guide for signature details, retries, troubleshooting, and failure recovery.