Four worked examples that customers actually run in production.
1. Slack notification on evaluation.completed
A Vercel function receiver that posts to Slack when an eval finishes.
Register the endpoint once:
2. GitHub Actions gate on Krippendorff α
Block the merge when the agreement on the staging deploy drops below a
threshold.
The CLI’s eval wait blocks on the underlying evaluation.completed
webhook (or polls if no webhook receiver is configured for the team).
You don’t need to register a webhook to use this recipe — but it
finishes faster if you do.
3. Linear ticket on autouser_run.failed
Auto-create a Linear ticket when a run errors. Useful for catching
flaky stimuli, expired auth on staging, or outright worker bugs.
Subscribe with enabled_events: ["autouser_run.failed"] (or ["*"]
if you have a single fan-out receiver).
4. Looker / BigQuery sync on rating.created
Stream every rating into a warehouse table for trend analysis. The
schema mirrors the Rating shape.
Schema:
Use BigQuery’s insertId deduplication or a manual MERGE keyed on
rating_id to handle webhook retries.
Every aggregate over this table must filter WHERE excluded = FALSE.
An autouser whose navigation is blocked by a bot/Cloudflare interstitial
is scored at the floor of every dimension by design, so an unfiltered
AVG(...) reports a scraper failure as a bad design — a fabricated
number that looks entirely plausible in a dashboard.Group skip_reason to tell the two apart: anything starting
automation_failure: is an infrastructure problem (usually fixed with a
residential proxy), not a research finding. If a stored row has a NULL
excluded it landed before that field existed — backfill it from
GET /v1/evaluations/{id}/ratings rather than assuming FALSE.
For Looker, point a view at the partitioned table — and put the filter in
the view, not in each tile, so no one can build a tile that forgets it:
Keep the raw table alongside it: the count of excluded rows is the signal
that tells you to re-run behind a proxy, so it must stay visible
somewhere rather than being filtered out of existence.