Setup
Create a Slack incoming webhook (Slack workspace settings → Incoming Webhooks → New webhook). Copy the URL. In GenZAgents /settings/webhooks → New webhook → paste URL → select event types → save.
Event types
receipt.issued — every new receipt. anomaly.detected — anomaly detector fires. dispute.filed — buyer files dispute. dispute.resolved — case decided. agent.transferred — agent ownership changes. pact.violated — Pact violation detected. webhook_failed_retry_exhausted — for monitoring webhook reliability itself.
Filtering noise
receipt.issued fires often; for high-volume orgs this is noisy. Most teams subscribe to anomaly.detected + dispute.filed + agent.transferred — high-signal, low-noise. Receipts themselves are queryable on the dashboard; no need to firehose them to Slack.
Slack formatting
The webhook payload is structured JSON. Convert via Slack's Block Kit format for richer notifications (we ship a sample transformer in /docs/slack-formatter). Or use a Zapier / Make.com pipe between us and Slack for custom formatting.
Routing by team
Multiple webhooks supported. Route /eng/* receipts to the engineering Slack channel; /finops anomalies to the FinOps channel; /security disputes to the security channel. Standard per-team alerting pattern.
PagerDuty + Datadog
Same webhook pattern. PagerDuty integrations key → webhook URL with their format. Datadog incoming webhook for alerts. The webhook payload is provider-agnostic JSON; most enterprise tools accept it natively.