Pipeline alerts by text and phone call
A failed pipeline at 3 AM should reach a human. Here is how the pack agent does it from your own server, with your own Twilio number and no per-message fee from us.
What it does
- A failed GitHub Actions run or GitLab pipeline posts to Slack or Teams and texts your on-call phone.
- A failed deploy or a PagerDuty incident also places a phone call that starts with “This is an automated call.” and then plays the alert in the pack's voice.
- Passed builds, releases and review requests go to chat only.
Set it up
sh sv-agent init --pack . # pick a devops pack (IT help desk, hosting, apps)
sh sv-agent source add github # or: gitlab, pagerduty
export GITHUB_WEBHOOK_SECRET=choose-a-long-random-string
# agent.json: "facts": {"oncall_phone": "+15551234567"}
sh sv-agent check && sh sv-agent run # dry-run firstIn GitHub, open the repository Settings, then Webhooks, and add https://YOUR-AGENT/hook/github, content type JSON, your secret, and the events Workflow runs, Pull requests, Releases and Dependabot alerts. In GitLab use Settings, Webhooks, the same address with /hook/gitlab, the secret token, and Pipeline events. Requests that fail the signature or token check are refused.
Why it can wake you up
Your on-call number is yours, so alerts to it are marked urgent: they skip quiet hours and the per-person daily limit. Opt-outs and the kill switch always apply, and everything starts in dry-run.
Honest limits
- It runs on a server you control and needs a public address for GitHub, GitLab and Twilio to reach it.
- It reads GitHub and GitLab event fields, so keep stack traces and secrets out of messages; the default texts carry only the repository, branch and link.
- Tested against simulated services: try it in dry-run with your own accounts first.