Documentation

TL;DR

Yawpr is a Slack bot. One admin sets it up. Everyone else just uses Slack — no website needed.

  1. Admin signs in at yawpr.dev, creates the group, connects the Slack bot
  2. Admin runs /yawp setup in Slack to create teams and add members
  3. Members get a DM with push notification setup — grab the ntfy app for iOS or Android
  4. /yawp fire @oncall DB is down — phones go off
  5. No ack in 15 min? Auto-escalates to the full team
  6. Monitoring tools auto-create and auto-resolve incidents via webhooks

Admin Setup (one-time)

Only the admin needs to do this. Everyone else just uses Slack.

  1. Sign in at yawpr.dev/app/login with Slack
  2. Name your group — this is your isolated workspace (e.g. "Michigan Team"). Other groups in the same Slack workspace won't see your data.
  3. Connect Slack — from Settings, install the Yawpr bot
  4. Create teams — in Slack, run /yawp setup. Create your alert teams (e.g. @michigan-oncall and @michigan-all)
  5. Set escalation/yawp team @michigan-oncall → Set Escalation → pick @michigan-all. Now unacked incidents auto-escalate after 15 minutes.

Done. Everyone the admin added gets a DM with ntfy setup instructions.

Bot Commands

Type /yawp to see all commands.

CommandWhat it does
/yawp setupCreate a team + add members (wizard)
/yawp teamsList all teams
/yawp team @slugManage team (add/remove members, set escalation, rename, delete)
/yawp fireTrigger incident (form)
/yawp fire @team msgQuick-fire (no form)
/yawp statusActive incidents
/yawp historyRecent incidents
/yawp stats30-day metrics (incident count, avg ack time, avg resolve time)
/yawp mytopicDM yourself your ntfy topic (if you lost it or got a new phone)

On-Call & Escalation

There's no scheduling. Use teams to manage on-call:

  • Create a small on-call team (e.g. @michigan-oncall) with whoever is on duty
  • Create a full team (e.g. @michigan-all) with everyone
  • Set @michigan-oncall to escalate to @michigan-all
  • Fire at @michigan-oncall — if no ack in 15 min, the full team gets paged
  • Swap on-call by adding/removing members — their ntfy topic carries over

Incidents & Auto-Resolve

When an incident is triggered, every member of the target team gets a Slack DM with Acknowledge/Resolve buttons and an ntfy push notification.

  • Fire — requires explicit resolve after ack. Bypasses Do Not Disturb via ntfy.
  • Warning / Info — auto-resolves when acknowledged (one click, less noise).
  • Deduplication — repeated webhook alerts for the same alarm don't create duplicate incidents.
  • Auto-resolve from monitoring — CloudWatch OK, Datadog recovery, or generic "status": "resolved" webhooks auto-resolve the matching incident.

Push Notifications (ntfy)

When you're added to a team, Yawpr DMs you a unique topic. Install the ntfy app, subscribe to your topic, and you're done. Lost it? Run /yawp mytopic to get it again.

To bypass Do Not Disturb:

  • iPhone: Settings → ntfy → Notifications → Time Sensitive Notifications
  • Android: Settings → Apps → ntfy → Notifications → Urgent, then allow ntfy in DND exceptions

Webhooks

Connect monitoring tools to auto-create and auto-resolve incidents. Set up via the web dashboard. Supports CloudWatch/SNS, Datadog, and generic JSON.

Each webhook source is routed to a team you choose — point it at your on-call team to get the escalation flow, or at the full team to page everyone directly.

Each source gets a unique URL with HMAC-SHA256 verification. The signing secret is shown once at creation — copy it then. Duplicate alerts are automatically deduplicated by alarm name or alert ID.