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.completeFires when an analysis finishes, regardless of verdict.
analysis.failedFires when an analysis fails to complete (e.g. URL unreachable).
verdict.not_safeFires only when the verdict is NOT SAFE. Useful for blocking deploys.
verdict.warningFires 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
SAFENo confirmed bugs. Release is considered safe to ship.
WARNINGConfirmed bugs present, but none are blocking. Review recommended.
NOT SAFECritical 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.