Webhooks & Alerts

Get notified the moment an analysis completes. ARI can push results to any endpoint you control, and has a native Slack integration so your team always knows the verdict immediately.

Setup

Webhooks are configured per project in Dashboard → Your Project → Settings → Webhooks. Enter a URL and choose which events to subscribe to.

AVAILABLE EVENTS

analysis.complete

Fires when an analysis finishes, regardless of verdict.

analysis.failed

Fires when an analysis fails to complete (e.g. URL unreachable).

verdict.not_safe

Fires only when the verdict is NOT SAFE. Useful for blocking deploys.

verdict.warning

Fires when the verdict is WARNING. Useful for team review notifications.

ARI signs every webhook request with an HMAC-SHA256 signature. Verify it in your handler using the secret shown in the webhook settings panel.

// Node.js — verifying the ARI webhook signature
import crypto from "crypto";

function verifyAriWebhook(payload: string, signature: string, secret: string) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(payload)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(expected, "hex"),
    Buffer.from(signature.replace("sha256=", ""), "hex")
  );
}

Payload Reference

ARI sends a JSON payload as the request body. The shape is consistent across all event types; only the event field and the presence of certain optional fields differ.

{
  "event": "analysis.complete",
  "timestamp": "2026-04-09T14:31:28Z",
  "analysis": {
    "id": "anlys_01jaz87kp9m3t",
    "project_id": "proj_01j9xkz2p4m8v",
    "label": "v2.4.1-rc1",
    "url": "https://staging.myapp.com",
    "status": "complete",
    "verdict": "WARNING",
    "risk_score": 62,
    "confirmed_bugs": 3,
    "manual_review_items": 2,
    "security_hardening_items": 1,
    "rejected_findings": 4,
    "completed_at": "2026-04-09T14:31:28Z",
    "report_url": "https://app.ari.sh/dashboard/reports/anlys_01jaz87kp9m3t"
  }
}

VERDICT VALUES

SAFE

No confirmed bugs. Release is considered safe to ship.

WARNING

Confirmed bugs present, but none are blocking. Review recommended.

NOT SAFE

Critical confirmed bugs found. Do not ship without remediation.

Slack Integration

ARI has a native Slack integration that posts analysis verdicts directly to any channel. Activate it from Dashboard → Integrations → Slack and authorise the ARI Slack app.

EXAMPLE SLACK MESSAGE

ARI Release Check — WARNING

Project:my-saas-app  | Label: v2.4.1-rc1

Risk score: 62 ·  Confirmed bugs: 3 ·  Manual review: 2

View full report →

You can also configure Slack alerts to fire only on specific verdicts — for example, send a channel message only when a NOT SAFE verdict is detected, and suppress SAFE results to reduce noise.