Webhooks
Key Result created
Sent when a Key Result is created. The payload is the Key Result's own attributes; verify X-Workpath-Signature over the raw body, then respond 2xx. Key Results under a secret Goal are never delivered.
postWebhookkey_result.created
Headers
X-Workpath-Eventstring required
Example:goal.created
The event key (matches event in the body).
X-Workpath-Signaturestring required
Base64-encoded raw Ed25519 signature of the exact request body.
X-Workpath-Key-IDstring required
Example:production
Identifies which published public key signed this delivery.
Payload
Example payload
{
"schema_version": 1,
"account_subdomain": "acme",
"event": "goal.created",
"event_id": 9,
"created_at": "2026-04-30T09:17:32Z",
"data": {
"id": 4711,
"title": "Net Promoter Score reaches 60",
"description": "Drive customer satisfaction across self-serve cohorts.",
"type": "numeric",
"progress": 0.6,
"confidence_level": 6,
"current_value": 51,
"start_value": 42,
"target_value": 60,
"currency": "EUR"
}
}Response
Any 2xx acknowledges receipt. A non-2xx response or timeout is retried.
Changes
Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.