Skip to main content
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.

Create a webhook

  1. Open Settings → Webhooks in the dashboard.
  2. Click Add webhook.
  3. Enter the URL Lark should POST to and pick the events you want to receive.
  4. Save. Lark shows the signing secret once. Copy it now and store it somewhere safe.
You can have up to 5 webhooks per account.

Events

Payload

Every payload uses the same envelope:
The 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 the X-Lark-Signature header. Reject requests whose computed signature doesn’t match.
Pass the raw request body to verify, not a re-serialized object. Re-encoding can change byte ordering and break the signature check.

Delivery and retries

  • Lark expects a 2xx response 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.

Pausing or removing a webhook

Toggle Active off on the webhook row to pause delivery without losing the configuration. Click the trash icon to remove it.