Events

The events a webhook can subscribe to, when they fire, and what their data contains.

EventFires when
site_check.regressionA site check found a high-severity regression against the check before it
site_crawl.regressionA site crawl found new high-severity findings against the crawl before it

Both are in the Site Health group of the event picker. A third event, webhook.test, is sent only by Send Test and cannot be subscribed to.

site_check.regression

Sent after a site check finishes, when at least one high-severity finding got worse since the previous check. The data lists every high and medium regression, not only the high ones, worst first.

{
  "event": "site_check.regression",
  "data": {
    "siteCheck": {
      "id": "3e7a9c10-6b2f-4d8e-b5a1-0c9f2e4d7b63",
      "trigger": "deploy",
      "status": "done",
      "pagesChecked": 30,
      "robotsStatus": 200,
      "error": null,
      "createdAt": "2026-10-09T07:02:00.000Z",
      "finishedAt": "2026-10-09T07:03:41.000Z"
    },
    "website": "yourbrand.com",
    "findings": [
      {
        "kind": "noindex_added",
        "severity": "high",
        "url": "https://yourbrand.com/cars/",
        "before": null,
        "after": "noindex, follow",
        "clicks": 1840
      }
    ]
  },
  "timestamp": "2026-10-09T07:03:42.118Z"
}

trigger is scheduled, deploy or manual. Each finding has its kind, severity, the url it concerns (or null for a site-wide finding), what it was before and is after, and the Search Console clicks the URL earned in the last 28 days, or null when unknown. The kinds are in the findings reference.

site_crawl.regression

Sent after a site crawl finishes, when at least one high-severity finding names pages it did not name in the crawl before. The data lists the new high and medium findings, with only their new pages.

{
  "event": "site_crawl.regression",
  "data": {
    "siteCrawl": {
      "id": "a41d6e28-9c37-4b0f-8e15-2f6b7c9d0e81",
      "trigger": "scheduled",
      "status": "done",
      "pageCap": 500,
      "pagesCrawled": 500,
      "complete": false
    },
    "website": "yourbrand.com",
    "findings": [
      {
        "kind": "broken_internal_link",
        "severity": "high",
        "count": 12,
        "urls": ["https://yourbrand.com/cars/old-model"],
        "details": {
          "https://yourbrand.com/cars/old-model": "404, linked from 3+ pages: https://yourbrand.com/cars/, https://yourbrand.com/, https://yourbrand.com/blog/"
        },
        "clicks": 96
      }
    ]
  },
  "timestamp": "2026-10-12T06:41:09.004Z"
}

siteCrawl has the full crawl fields listed on Site Crawls; the example shows a few. Each finding has its kind, severity, the count of new pages, the first of them in urls with a short detail each, and the Search Console clicks those pages earned in the last 28 days. The kinds are in the findings reference.

webhook.test

{
  "event": "webhook.test",
  "data": {
    "test": true,
    "message": "This is a test webhook payload from RankDebug",
    "timestamp": "2026-10-09T10:15:00.000Z"
  },
  "timestamp": "2026-10-09T10:15:00.002Z"
}
Related documentation
  • Webhooks

    Receive RankDebug events at your own HTTPS endpoint, signed so you can trust them.

  • Verification

    Check that a webhook delivery came from RankDebug and has not been replayed.

  • Retries and Deliveries

    How failed deliveries are retried, when a webhook is paused, and how to inspect and replay deliveries.

  • Site Check

    The daily check of robots.txt, sitemaps, hosts and your most important pages, and how it reports issues and regressions.

  • Findings Reference

    Every finding the site check and the site crawl report, with its severity, what it means, why it matters and how to fix it.

  • Site Crawl

    The full crawl of your site, how it budgets and samples pages, how it reports a block, and how to give it access to staging.

  • Site Crawls

    Read crawls of the workspace website, their findings, and every page of one finding.

Was this helpful?

On this page