A webhook posts a signed JSON payload to a URL you control whenever a workflow event fires. Use them to log results into your data warehouse or kick off downstream automation when a test passes or fails.Documentation Index
Fetch the complete documentation index at: https://docs.getlark.ai/llms.txt
Use this file to discover all available pages before exploring further.
Create a webhook
- Open Settings → Webhooks in the dashboard.
- Click Add webhook.
- Enter the URL Lark should POST to and pick the events you want to receive.
- Save. Lark shows the signing secret once. Copy it now and store it somewhere safe.
Events
| Event | Fires when |
|---|---|
workflow_execution.success | A workflow execution finishes with status success. |
workflow_execution.failure | A workflow execution finishes with status failure. |
workflow_execution.cancelled | A workflow execution is cancelled. |
workflow_generation.success | Lark finishes generating a deterministic workflow’s script. |
workflow_generation.failure | Generation could not produce a working script. |
workflow_repair.success | A repair fixed the script and the workflow is ready to run again. |
workflow_repair.failure | A repair attempt failed. |
Payload
Every payload uses the same envelope:data block depends on the event type and includes the relevant runnable id (execution_id, generation_id, repair_id), its status, timing, and a short summary.
Verifying signatures
Lark signs every request with HMAC-SHA256 over the raw request body, using your webhook’s signing secret. The hex digest arrives in theX-Lark-Signature header. Reject requests whose computed signature doesn’t match.
verify, not a re-serialized object. Re-encoding can change byte ordering and break the signature check.
Delivery and retries
- Lark expects a
2xxresponse within 10 seconds. - Failed deliveries (timeouts, non-2xx) retry up to 3 times with exponential backoff (10s, 20s, 40s).
- After 3 failed retries Lark drops the delivery and logs the error. The webhook stays active.