On-Call modernized
Observiply Oncall notifies scheduled responders, runs automated responses, and connects systems together to de-escalate quickly.
- 1
- binary to deploy
- 3
- channels per person
- ∞
- integration possibilities

Preconfigured integration presets : Choose from default configurations or write one yourself
Paging and Responding
Fire an alert, then acknowledge, resolve, or leave it alone for 12 seconds to notify the backup.
Fire an alert to view the incident lifecyle.
$ waiting for an alert…▌
Four-stage Incidents
Incidents as code mean every stage is inspectable, templated and testable.
An integration or a raw webhook posts to a trigger holding its own rotatable token.
Sandboxed Go templates turn that payload into an incident: title, severity, dedupe key, links.
Targets resolve to schedules or users. Silences suppresses the alarm before it wakes anyone.
Notify, wait, advance. Acknowledgements halt escalations from the app, a text or the call itself.
Tip: Fire a test alert to add more incidents, and click an incident's title to see its payload and escalation.
| Status | Title | Details | Created | Owner |
|---|---|---|---|---|
| postgres-primary:DiskPressure:prod | State: firing 3× seen 1 updates | 3m ago | Platform Primary |
postgres-primary:DiskPressure:prod
Intuitive Rotations
Configure your rotation layers however you want. Set schedules however you want. Target whatever services you want. Cover whoever (whomever?) you want.
Check out the calendar snippet! Jump between weeks, switch views, or click a shift. The calendar also exports as an iCal feed.
What's In The Box?
Major components of Observiply Oncall
Schedules
Stacked layers with rotation, cadence and time restrictions. Overrides let you swap a person in for given time-frame.
Triggers
Every alert lands on a trigger with its own rotatable ingest token. Templating interpolates the incident, targets route it to schedules or people, and silences suppress unwanted notifications
Integrations
Presets ship for the tools you already run. Custom connections are built and owned by you
Delivery
Email, SMS, voice, and personal integration options. Notifications are routed through a transactional outbox for preservation
Teams, RBAC and PII
Teams are authorization namespaces with (resource, verb) roles over view / write / delete. Emails and phone numbers are redacted at the API for everyone besides global admins and the team owner.
Package
A Go binary embedding the frontend and coupled with Postgres. No agent fleet or per-seat billing surprises. Deploy it in seconds!
Talk to Me
Oncall offers a myriad of communication methods
- Say it: "acknowledge", "escalate" or "resolve" via speec.
- Press it: Keypad input for mobile users on-the-go
- Text it: Reply to the SMS directly
- Ignore it: Voicemail is supported as an event and able to auto-advance escalation instead of burning precious time.
IaC, Your Way
Connections are defined by custom templates, not by providers. Write your own inbound, outbound, and polling mode connection types!
This enables proprietary systems to benefit from an engineer's custom template. You can test your template renders from sample inputs.
Credentials are write-only and encrypted at rest.
{
"incident": {
"title": "{{ .body.labels.alertname }}",
"severity": "{{ .body.labels.severity }}",
"dedupe": "{{ .body.fingerprint }}",
"service": "{{ .body.labels.service }}"
},
"targets": ["schedule:payments-primary"],
"policy": "notify → wait 12s → escalate"
} Presets that ship in the box
FAQ
Can we host it ourselves?
Yep, its one Go binary plus Postgres. The binary embeds the frontend and serves the API, BFF and Twilio webhooks. We can also run it for you!
How does login work?
OpenID Connect. You bring your own provider (Azure, GitHub, etc.) and set it at runtime
What if our alerting tool is not on the list?
Just build a configuration template for it, and its now supported! Anything that can POST JSON or be polled over HTTP works
Pricing
Contact us!