[{"data":1,"prerenderedAt":435},["ShallowReactive",2],{"content-query-MUkOt0NQEg":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"layout":10,"cover":11,"body":12,"_type":428,"_id":429,"_source":430,"_file":431,"_stem":432,"_extension":433,"sitemap":434},"/features/alerts","features",false,"","Alerts","Define alert policies on your buckets, choose where to get notified (Email, Slack, Discord, Teams, Telegram, Pushover, SMTP or webhook), and Webhook Relay opens and resolves incidents when delivery fails.","feature","/images/features/alerts/create-alert.png",{"type":13,"children":14,"toc":419},"root",[15,25,39,46,89,108,114,122,127,211,223,229,262,268,280,288,316,322,379,398],{"type":16,"tag":17,"props":18,"children":19},"element","p",{},[20],{"type":16,"tag":21,"props":22,"children":24},"img",{"alt":23,"src":11},"Create alert dialog — choose destination, alert policy for delivery failures, and which buckets to monitor",[],{"type":16,"tag":17,"props":26,"children":27},{},[28,31,37],{"type":29,"value":30},"text","Define ",{"type":16,"tag":32,"props":33,"children":34},"strong",{},[35],{"type":29,"value":36},"alert policies",{"type":29,"value":38}," on the buckets you care about, pick where incidents should go, and Webhook Relay will notify you when a delivery problem starts — and clear it when things recover.",{"type":16,"tag":40,"props":41,"children":43},"h2",{"id":42},"how-it-works",[44],{"type":29,"value":45},"How it works",{"type":16,"tag":47,"props":48,"children":49},"ol",{},[50,61,79],{"type":16,"tag":51,"props":52,"children":53},"li",{},[54,59],{"type":16,"tag":32,"props":55,"children":56},{},[57],{"type":29,"value":58},"Choose a destination",{"type":29,"value":60}," — pick a notification channel and enter its credentials (fields are validated before saving).",{"type":16,"tag":51,"props":62,"children":63},{},[64,69,71,77],{"type":16,"tag":32,"props":65,"children":66},{},[67],{"type":29,"value":68},"Set the policy",{"type":29,"value":70}," — for example ",{"type":16,"tag":72,"props":73,"children":74},"em",{},[75],{"type":29,"value":76},"delivery failures",{"type":29,"value":78},": open an incident on the first failed delivery, or only when the error rate crosses a threshold.",{"type":16,"tag":51,"props":80,"children":81},{},[82,87],{"type":16,"tag":32,"props":83,"children":84},{},[85],{"type":29,"value":86},"Select buckets",{"type":29,"value":88}," — attach the policy to one or more buckets so only the traffic you care about is watched.",{"type":16,"tag":17,"props":90,"children":91},{},[92,94,99,101,106],{"type":29,"value":93},"When delivery outcomes cross that policy, an ",{"type":16,"tag":32,"props":95,"children":96},{},[97],{"type":29,"value":98},"incident opens",{"type":29,"value":100},". When delivery recovers, the incident ",{"type":16,"tag":32,"props":102,"children":103},{},[104],{"type":29,"value":105},"resolves automatically",{"type":29,"value":107}," — no manual cleanup.",{"type":16,"tag":40,"props":109,"children":111},{"id":110},"where-should-incidents-go",[112],{"type":29,"value":113},"Where should incidents go?",{"type":16,"tag":17,"props":115,"children":116},{},[117],{"type":16,"tag":21,"props":118,"children":121},{"alt":119,"src":120},"Alert destination types: Email, Slack, Discord, Telegram, Microsoft Teams, Pushover, SMTP email, Webhook","/images/features/alerts/destinations.png",[],{"type":16,"tag":17,"props":123,"children":124},{},[125],{"type":29,"value":126},"Send incidents to the tools your team already watches. Supported destination types:",{"type":16,"tag":128,"props":129,"children":130},"ul",{},[131,141,151,161,171,181,191,201],{"type":16,"tag":51,"props":132,"children":133},{},[134,139],{"type":16,"tag":32,"props":135,"children":136},{},[137],{"type":29,"value":138},"Email",{"type":29,"value":140}," — inbox notifications",{"type":16,"tag":51,"props":142,"children":143},{},[144,149],{"type":16,"tag":32,"props":145,"children":146},{},[147],{"type":29,"value":148},"Slack",{"type":29,"value":150}," — channel posts for your on-call or eng channel",{"type":16,"tag":51,"props":152,"children":153},{},[154,159],{"type":16,"tag":32,"props":155,"children":156},{},[157],{"type":29,"value":158},"Discord",{"type":29,"value":160}," — server / channel webhooks",{"type":16,"tag":51,"props":162,"children":163},{},[164,169],{"type":16,"tag":32,"props":165,"children":166},{},[167],{"type":29,"value":168},"Telegram",{"type":29,"value":170}," — bot messages",{"type":16,"tag":51,"props":172,"children":173},{},[174,179],{"type":16,"tag":32,"props":175,"children":176},{},[177],{"type":29,"value":178},"Microsoft Teams",{"type":29,"value":180}," — channel notifications",{"type":16,"tag":51,"props":182,"children":183},{},[184,189],{"type":16,"tag":32,"props":185,"children":186},{},[187],{"type":29,"value":188},"Pushover",{"type":29,"value":190}," — mobile push for on-call",{"type":16,"tag":51,"props":192,"children":193},{},[194,199],{"type":16,"tag":32,"props":195,"children":196},{},[197],{"type":29,"value":198},"SMTP email",{"type":29,"value":200}," — your own mail server",{"type":16,"tag":51,"props":202,"children":203},{},[204,209],{"type":16,"tag":32,"props":205,"children":206},{},[207],{"type":29,"value":208},"Webhook",{"type":29,"value":210}," — POST a structured incident payload to any HTTPS endpoint (PagerDuty, Opsgenie, custom bots, …)",{"type":16,"tag":17,"props":212,"children":213},{},[214,216,221],{"type":29,"value":215},"You can define ",{"type":16,"tag":32,"props":217,"children":218},{},[219],{"type":29,"value":220},"multiple destinations",{"type":29,"value":222}," — for example Slack for the team and a webhook into your incident tool — so the same policy fans out when something breaks.",{"type":16,"tag":40,"props":224,"children":226},{"id":225},"what-you-get-notified-about",[227],{"type":29,"value":228},"What you get notified about",{"type":16,"tag":128,"props":230,"children":231},{},[232,242,252],{"type":16,"tag":51,"props":233,"children":234},{},[235,240],{"type":16,"tag":32,"props":236,"children":237},{},[238],{"type":29,"value":239},"Failed deliveries",{"type":29,"value":241}," — your endpoint returned an error, timed out, or could not be reached",{"type":16,"tag":51,"props":243,"children":244},{},[245,250],{"type":16,"tag":32,"props":246,"children":247},{},[248],{"type":29,"value":249},"Error-rate thresholds",{"type":29,"value":251}," — optional: only fire when failures pile up, not on a single blip",{"type":16,"tag":51,"props":253,"children":254},{},[255,260],{"type":16,"tag":32,"props":256,"children":257},{},[258],{"type":29,"value":259},"Open and resolved events",{"type":29,"value":261}," — structured payloads for both, so on-call tools can open and close tickets cleanly",{"type":16,"tag":40,"props":263,"children":265},{"id":264},"incidents",[266],{"type":29,"value":267},"Incidents",{"type":16,"tag":17,"props":269,"children":270},{},[271,273,278],{"type":29,"value":272},"When a policy condition is met, Webhook Relay opens an ",{"type":16,"tag":32,"props":274,"children":275},{},[276],{"type":29,"value":277},"incident",{"type":29,"value":279}," for that bucket.",{"type":16,"tag":17,"props":281,"children":282},{},[283],{"type":16,"tag":21,"props":284,"children":287},{"alt":285,"src":286},"Alerts incidents dashboard with open incident, chart, failure snapshot and open/resolved times","/images/features/alerts/incidents.jpg",[],{"type":16,"tag":17,"props":289,"children":290},{},[291,293,298,300,305,307,314],{"type":29,"value":292},"Incidents ",{"type":16,"tag":32,"props":294,"children":295},{},[296],{"type":29,"value":297},"close automatically",{"type":29,"value":299}," once delivery recovers (full rolling window without failures and at least one success), or you can ",{"type":16,"tag":32,"props":301,"children":302},{},[303],{"type":29,"value":304},"resolve them manually",{"type":29,"value":306},". Open and past incidents stay on the Alerts page — filter Open / Resolved / All and revisit failure snapshots anytime. Setup details: ",{"type":16,"tag":308,"props":309,"children":311},"a",{"href":310},"/docs/webhooks/alerts",[312],{"type":29,"value":313},"Alerts docs",{"type":29,"value":315},".",{"type":16,"tag":40,"props":317,"children":319},{"id":318},"why-use-alerts",[320],{"type":29,"value":321},"Why use alerts",{"type":16,"tag":128,"props":323,"children":324},{},[325,335,345,355],{"type":16,"tag":51,"props":326,"children":327},{},[328,333],{"type":16,"tag":32,"props":329,"children":330},{},[331],{"type":29,"value":332},"Know before customers do",{"type":29,"value":334}," — failures show up in Slack or your pager, not in a support ticket hours later",{"type":16,"tag":51,"props":336,"children":337},{},[338,343],{"type":16,"tag":32,"props":339,"children":340},{},[341],{"type":29,"value":342},"Less noise than DIY scripts",{"type":29,"value":344}," — policies and auto-resolve replace one-off cron checks and response-function hacks",{"type":16,"tag":51,"props":346,"children":347},{},[348,353],{"type":16,"tag":32,"props":349,"children":350},{},[351],{"type":29,"value":352},"Scoped to what matters",{"type":29,"value":354}," — attach policies to specific buckets instead of alerting on the whole account",{"type":16,"tag":51,"props":356,"children":357},{},[358,363,365,371,373],{"type":16,"tag":32,"props":359,"children":360},{},[361],{"type":29,"value":362},"Pairs with observability",{"type":29,"value":364}," — dig into the exact failure with ",{"type":16,"tag":308,"props":366,"children":368},{"href":367},"/features/webhook-logs",[369],{"type":29,"value":370},"webhook logs & monitoring",{"type":29,"value":372},", then replay with ",{"type":16,"tag":308,"props":374,"children":376},{"href":375},"/features/durable-retries",[377],{"type":29,"value":378},"durable retries",{"type":16,"tag":17,"props":380,"children":381},{},[382,384,388,390,396],{"type":29,"value":383},"For step-by-step setup, see the ",{"type":16,"tag":308,"props":385,"children":386},{"href":310},[387],{"type":29,"value":313},{"type":29,"value":389},". For one-off custom logic (e.g. alert only when a payload field is wrong), use ",{"type":16,"tag":308,"props":391,"children":393},{"href":392},"/docs/webhooks/functions/alerting",[394],{"type":29,"value":395},"alerting from functions",{"type":29,"value":397},". Built-in Alerts cover the common case: delivery health, without writing code.",{"type":16,"tag":17,"props":399,"children":400},{},[401,409,411,417],{"type":16,"tag":308,"props":402,"children":406},{"href":403,"rel":404},"https://my.webhookrelay.com/register",[405],"nofollow",[407],{"type":29,"value":408},"Create a free account",{"type":29,"value":410}," and add your first alert policy — or ",{"type":16,"tag":308,"props":412,"children":414},{"href":413},"/contact-sales",[415],{"type":29,"value":416},"talk to sales",{"type":29,"value":418}," if you need help wiring notifications into your on-call stack.",{"title":7,"searchDepth":420,"depth":420,"links":421},3,[422,424,425,426,427],{"id":42,"depth":423,"text":45},2,{"id":110,"depth":423,"text":113},{"id":225,"depth":423,"text":228},{"id":264,"depth":423,"text":267},{"id":318,"depth":423,"text":321},"markdown","content:features:alerts.md","content","features/alerts.md","features/alerts","md",{"loc":4},1785498007605]