Webhooks

output_webhook is required on every task. Meerkat POSTs JSON when runs finish or state changes. output_format is optional and defaults to default.

Default output format

If you omit output_format, Meerkat uses the default preset:

{
  "event": "run_completed",
  "task_id": 1,
  "task_run_id": 42,
  "occurred_at": "2026-06-20T12:00:00Z",
  "data": {
    "summary": "...",
    "findings": { ... },
    "change_detected": true
  }
}

Other output formats

Optional — pass output_format on task create to reshape the webhook payload.

default Standard envelope with data object (used when omitted)
compact summary, change_detected, findings at top level
flat Findings merged into webhook root alongside metadata
findings_only Findings object only
minimal event, task_id, summary, change_detected
{
  "task": {
    "description": "...",
    "output_webhook": "https://your-app.com/hook",
    "output_format": "flat"
  }
}

Custom instruction example: "Return only status and eta as snake_case keys"

Retries

Failed deliveries are retried with backoff. Check GET /tasks/:id/events for delivery history.

Tasks API →