---
{
  "id": "platform.webhook.fire-events",
  "topic": "webhook",
  "title": "Diagnose webhook fire events",
  "locale": "en",
  "version": "2026-08-25",
  "summary": "Fire-event metadata and payload access require an explicit per-Webhook read grant; retained function details explain workflow dispatch and notification behavior.",
  "content": "Start diagnosis with `arinova.webhook.list_fire_events`. It returns recent fire-event metadata such as status, timing, function outcome, and `targetWorkflowId`, not request bodies. Use `list_function_executions` for the retained per-function audit rows, including status, target type, rendered size, denial reason, and duration. These reads require this Agent's explicit `read` or `write` grant on that Webhook; absent and unauthorized resources both return `resource_not_found`.\n\nFetch one body's detail only when needed with `arinova.webhook.get_fire_event_payload`, providing both `webhookId` and `fireEventId`. Owner scope and the Agent grant are both enforced, and payload and headers are redacted from persisted action results. Every access attempt is written to `webhook_function_audit` as `mcp_payload_access`.\n\n`arinova.webhook.send_test_event` requires strict user confirmation and a write grant. It signs a bounded management test payload and sends it through the normal inbound pipeline, so it can dispatch the configured target and create real fire/function audit rows. A dry run does not send. The management test limiter is 10 per owner per hour.\n\nPayloads are readable for 24 hours; expiry returns `{status: \"payload_expired\"}`. Access is limited to 30 requests per caller-Agent per minute and fails closed when unavailable.\n\nFor `run_workflow`, `workflow_rate_limited` means `skipped`, `workflow_unavailable` means missing/inactive target, and bad rendering means `render_error`. The outbox retries transient failures for five attempts. Success proves run creation, not completion.\n\nTreat payloads and filtered headers as sensitive. Prefer metadata, retrieve only the required event, and never copy bodies into telemetry or knowledge.\n",
  "aliases": [
    "webhook delivery history",
    "webhook failure",
    "fire event",
    "failed callback",
    "payload detail",
    "delivery debugging",
    "event audit"
  ],
  "tags": [
    "audit",
    "debugging",
    "payload",
    "retention"
  ],
  "relatedActions": [
    "arinova.webhook.list_fire_events",
    "arinova.webhook.get_fire_event_payload",
    "arinova.webhook.list_function_executions",
    "arinova.webhook.send_test_event"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/en/kb/webhook/fire-events/"
}
---

Start diagnosis with `arinova.webhook.list_fire_events`. It returns recent fire-event metadata such as status, timing, function outcome, and `targetWorkflowId`, not request bodies. Use `list_function_executions` for the retained per-function audit rows, including status, target type, rendered size, denial reason, and duration. These reads require this Agent's explicit `read` or `write` grant on that Webhook; absent and unauthorized resources both return `resource_not_found`.

Fetch one body's detail only when needed with `arinova.webhook.get_fire_event_payload`, providing both `webhookId` and `fireEventId`. Owner scope and the Agent grant are both enforced, and payload and headers are redacted from persisted action results. Every access attempt is written to `webhook_function_audit` as `mcp_payload_access`.

`arinova.webhook.send_test_event` requires strict user confirmation and a write grant. It signs a bounded management test payload and sends it through the normal inbound pipeline, so it can dispatch the configured target and create real fire/function audit rows. A dry run does not send. The management test limiter is 10 per owner per hour.

Payloads are readable for 24 hours; expiry returns `{status: "payload_expired"}`. Access is limited to 30 requests per caller-Agent per minute and fails closed when unavailable.

For `run_workflow`, `workflow_rate_limited` means `skipped`, `workflow_unavailable` means missing/inactive target, and bad rendering means `render_error`. The outbox retries transient failures for five attempts. Success proves run creation, not completion.

Treat payloads and filtered headers as sensitive. Prefer metadata, retrieve only the required event, and never copy bodies into telemetry or knowledge.
