Skip to content

Quickstart

Set up a relay, schedule, AI agent, and parallel routing. Pick whichever surface you want to drive it from.

New to beeps? Read Core Concepts first to understand how the pieces fit together.

  • A beeps account.
  • An access token from Settings → Access Tokens (looks like bat_xxxxxxxx).

The same eight-step setup is available three ways. The CLI is the fastest path to your first alert. Pick it unless you have a reason not to.

Install + authenticate:

Terminal window
npm install -g @beepsdev/cli
export BEEPS_ACCESS_TOKEN="bat_your_token_here"
Terminal window
beeps relay create --name "production relay" \
--external-key production::relay \
--description "routes critical production incidents" \
--json

The response includes a relay id (rly_…) and a webhook URL. Save both; you’ll need them in steps 2 and 8.

Terminal window
beeps schedule create \
--name "Primary On-Call" \
--relay-id rly_REPLACE_ME \
--type weekly \
--handoff-day monday \
--handoff-time 09:00 \
--external-key "primary::schedule" \
--json

startAt is omitted on purpose. beeps defaults it to now, so you can test alerts immediately.

Terminal window
beeps schedule add-member --schedule-id sch_REPLACE_ME --email alice@example.com
beeps schedule add-member --schedule-id sch_REPLACE_ME --email bob@example.com

Members rotate in the order they’re added.

4. Contact methods (one-time, in the dashboard)

Section titled “4. Contact methods (one-time, in the dashboard)”

Your signup email is auto-added as a verified contact method. To add SMS or another email, go to Settings → Profile in the dashboard. SMS requires verification via a confirmation text.

Get a Cursor cloud agent API token. Enable Privacy Mode in Cursor account settings. Without it, every API call returns 403.

Terminal window
export CURSOR_API_KEY="cursor_api_key_here"
beeps integration create \
--provider cursor \
--name "Cursor Agent" \
--api-key-env CURSOR_API_KEY \
--json
Terminal window
# AI agent rule
beeps relay rule create --relay-id rly_REPLACE_ME \
--name "AI Agent Auto-Triage" \
--rule-type agent \
--group agents \
--order 1 \
--external-key agents::cursor \
--config '{"agentType":"cursor","integrationId":"int_REPLACE_ME","repository":"https://github.com/your-org/your-repo","autoCreatePr":true}'
# Human notify rule
beeps relay rule create --relay-id rly_REPLACE_ME \
--name "Notify On-Call Engineer" \
--rule-type schedule_notify \
--group humans \
--order 1 \
--external-key humans::primary \
--config '{"scheduleId":"sch_REPLACE_ME"}'

Different groups (agents vs humans) run in parallel.

Terminal window
beeps relay list
beeps relay rule list --relay-id rly_REPLACE_ME
beeps schedule on-call --schedule-id sch_REPLACE_ME

Use the webhook URL from step 1:

Terminal window
curl -X POST https://hooks.beeps.dev/YOUR_WEBHOOK_KEY \
-H "Content-Type: application/json" \
-d '{"title":"Test Alert","message":"Testing the on-call system","severity":"high"}'

You should see Cursor start triaging at the same time the on-call engineer gets notified.

Terminal window
beeps alert list --active
  • Config as Code — check beeps.config.ts into your repo and deploy via beeps relay apply in CI.
  • Relay Rules — escalation, webhooks, sequential vs parallel.
  • Schedules — overrides, multiple rotations, secondary schedules.
  • Agent Integrations — Devin, Cursor, Codex, Claude, AWS DevOps, OpenCode, Zup.
  • Observability Integrations — Sentry, Datadog, Prometheus, generic webhooks.
  • MCP Server — full tool list for ongoing alert triage from your editor.