Skip to content

Rootly-AI-Labs/On-Call-Health

Repository files navigation

On-call Health

Detects potential signs of overwork in incident responders, which could lead to burnout. To compute a per-responder risk score, it integrates with Rootly, PagerDuty, GitHub, and Slack.

Rootly AI Labs On-call Health screenshot

Two ways to get started:

Installation

Use our Docker Compose file.

# Clone the repo
git clone https://github.com/Rootly-AI-Labs/on-call-health
cd on-call-health

# Launch with Docker Compose
docker compose up -d

Environment Variables

⚠️ For login purposes, you must configure OAuth tokens for Google OR GitHub OAuth:

# Create a copy of the .env file
cp backend/.env.example backend/.env
📝 Instructions to get token for Google Auth
  1. Enable Google People API
  2. Get your tokens
    • Create a new project
    • In the ** Overview ** tab, click on ** Get started ** button and fill out info
    • Go to the ** Clients ** tab and click on ** + Create client ** button
    • Set ** Appliecation type ** to ** Web application **
    • Set ** Authorized redirect URIs ** to ** http://localhost:8000/auth/google/callback **
    • Keep the pop-up that contains your ** Client ID ** and ** Client secret ** open
  3. Fill out the variable GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in your backend/.env file
  4. Restart backend docker compose restart backend
📝 Instructions to get token for GitHub Auth
  1. Visit https://github.com/settings/developers
    • Click OAuth AppsNew OAuth App
    • Application name: On-Call Health
  2. Create the app:
    • Click Register application
    • You'll see your Client ID
    • Click Generate a new client secret to get your Client Secret
  3. Add to backend/.env:
  4. Restart backend:

Manual setup

You can also set it up manually, but this method isn't actively supported.

Prerequisites

  • Python 3.11+
  • Node.js 18+ (for frontend)
  • Rootly or PagerDuty API token

Backend Setup

cd backend
python -m venv venv
source venv/bin/activate  # or `venv\Scripts\activate` on Windows
pip install -r requirements.txt

# Copy and configure environment
cp .env.example .env
# Edit .env with your configuration

# Run the server
python -m app.main

The API will be available at http://localhost:8000

Frontend Setup

cd frontend
npm install
npm run dev

The frontend will be available at http://localhost:3000

Features

  • Multi Layer Signals: Individual and team-level insights
  • Interactive Dashboard: Visual and AI-powered risk analysis for incident reponders at the team and individual level
  • Tailor to Your organization: Customize tool integration and signal weights

Methodology

On-call Health takes inspiration from the Copenhagen Burnout Inventory (CBI), a scientifically validated approach to measuring burnout risk in professional settings. The Burnout Detector isn’t a medical tool and doesn’t provide a diagnosis; it is designed to help identify patterns and trends that may suggest overwork.

Methodology breakdown

Our implementation uses the two core dimensions:

  1. Personal Burnout

    • Physical and psychological fatigue from workload
    • Work-life boundary violations (after-hours/weekend work)
    • Temporal stress patterns and recovery time deficits
  2. Work-Related Burnout

    • Fatigue specifically tied to work processes
    • Response time, pressure, and incident load
    • Team collaboration, stress, and communication quality

🔐 Security

  • OAuth with Google/GitHub (no password storage)
  • JWT tokens for session management
  • Encrypted API token storage
  • HTTPS enforcement
  • Input validation and sanitization

Integrations ⚒️

  • Rootly: For incident management and on-call data
  • PagerDuty: For incident management and on-call data
  • GitHub: For commit activity
  • Slack: For communication patterns and collect self-reported data

If you are interested in integrating with On-call Health, get in touch!

API

On-call Health also offers an API that can expose its findings.
Run In Postman

🔗 About the Rootly AI Labs

On-call Health is built with ❤️ by the Rootly AI Labs for engineering teams everywhere. The Rootly AI Labs is a fellow-led community designed to redefine reliability engineering. We develop innovative prototypes, create open-source tools, and produce research that's shared to advance the standards of operational excellence. We want to thank Anthropic, Google Cloud, and Google DeepMind for their support.

This project is licensed under the Apache License 2.0.

About

On-call Health: identify signs that incident responders are overworked.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 8