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.
  • For the SDK and MCP paths (and CI): an access token from Settings → Access Tokens (looks like bat_xxxxxxxx). The CLI can mint its own via beeps login.

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
beeps login

beeps login opens your browser; approve the code, pick your organization, and the CLI saves an org-scoped token to ~/.config/beeps/config.json. In CI (or if you prefer), skip it and set BEEPS_ACCESS_TOKEN with a token from Settings → Access Tokens — the env var takes precedence over the saved login.

Every command below captures the ids it creates into shell variables (using --json plus jq), so you can paste the whole flow top to bottom without copying ids around.

Terminal window
RELAY_ID=$(beeps relay create --name "production relay" \
--external-key production::relay \
--description "routes critical production incidents" \
--json | jq -r '.id')
WEBHOOK_URL="https://hooks.beeps.dev/$(beeps webhook list --relay-id "$RELAY_ID" --json | jq -r '.[0].webhookKey')"

Creating a relay auto-generates a webhook; beeps webhook list is where its key lives. $WEBHOOK_URL is what you'll POST alerts to in step 8.

Terminal window
SCHEDULE_ID=$(beeps schedule create \
--name "Primary On-Call" \
--relay-id "$RELAY_ID" \
--type weekly \
--handoff-day monday \
--handoff-time 09:00 \
--external-key "primary::schedule" \
--json | jq -r '.id')

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

Terminal window
beeps schedule add-member --schedule-id "$SCHEDULE_ID" --email alice@example.com
beeps schedule add-member --schedule-id "$SCHEDULE_ID" --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.

Create a Cursor API key at Dashboard → API Keys. For teams, prefer a service account key so the integration isn't tied to one person's account. beeps validates the key against Cursor's API when you create the integration, so a bad key fails here instead of on your first alert.

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

Different groups (agents vs humans) run in parallel.

Terminal window
beeps relay list
beeps relay rule list --relay-id "$RELAY_ID"
beeps schedule on-call --schedule-id "$SCHEDULE_ID"
Terminal window
curl -X POST "$WEBHOOK_URL" \
-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, OpenCode, AWS DevOps, Zup.
  • Observability Integrations — Sentry, Datadog, Prometheus, generic webhooks.
  • MCP Server — full tool list for ongoing alert triage from your editor.