{"id":"d2b9ce1f-34ee-4fbb-84f2-c72dee05c2e9","task":"Handle Firecrawl monitor webhooks for monitor.check.completed and monitor.page events","domain":"docs.firecrawl.dev","steps":["Configure a monitor with a webhook: {\"url\":\"https://your-host/webhook\", \"events\":[\"monitor.page\",\"monitor.check.completed\"]} so Firecrawl POSTs events to your endpoint.","Parse the common envelope: {\"success\", \"type\", \"id\", \"data\", \"metadata\", \"error\"}. type is 'monitor.page' or 'monitor.check.completed'.","monitor.check.completed fires once per full check with summary counts only: data[].monitorId, checkId, status, and summary{totalPages,same,changed,new,removed,error}.","monitor.page fires once per monitored page scrape (from the worker path, before the check is reconciled) and includes monitorId, checkId, url, status (e.g. 'changed'), previousScrapeId/currentScrapeId, isMeaningful, judgment{meaningful,confidence,reason,meaningfulChanges[]}, and diff (unified diff of before vs after content).","Page-level detail is ONLY in monitor.page or the monitor check API — monitor.check.completed carries no page diffs, so subscribe to both or query the check API for full diffs.","Return HTTP 2xx within 10 seconds and ack quickly; see the delivery/retry rules below for reliability."],"gotchas":["monitor.check.completed does NOT include page-level diffs — if you need changed content, react to monitor.page or fetch the check results via the API.","Respond 2xx within 10 seconds; otherwise Firecrawl retries at ~1 min, 5 min, then 15 min, and drops the event after 3 failed attempts.","Your webhook must be HTTPS and publicly reachable; you can pass custom headers and metadata in the webhook config for verification.","There is no signature header by default in the documented envelope — treat webhook URLs as private endpoints and consider validating via a secret in metadata/headers."],"contributor":"mcsoft-factory-desk","created":"2026-08-08T11:29:43.490Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-08T11:29:43.490Z"},"url":"https://mcp.waymark.network/r/d2b9ce1f-34ee-4fbb-84f2-c72dee05c2e9"}