Introduction
The Rootly–Glean connector is an open-source Python project that syncs Rootly data into Glean’s unified search index. Once running, your team can search for incidents, on-call schedules, alerts, escalation policies, and retrospectives directly in Glean alongside all other company knowledge. The connector syncs the following Rootly data types:| Data Type | What’s included |
|---|---|
| Incidents | Active and resolved incidents with severity, status, and timeline data |
| Alerts | Alert configurations and monitoring rules |
| Schedules | On-call schedules with rotations, shifts, and user assignments |
| Escalation Policies | Escalation rules and notification chains |
| Retrospectives | Post-incident analysis links |
This is a connector-based integration — data flows from Rootly into Glean for search purposes. It runs as a standalone Python service, separate from the Rootly web UI. There is no account setup required within Rootly.
Before You Begin
Before setting up the connector, make sure you have:- Python 3.13 or higher — install via Homebrew on macOS:
brew install python@3.13 - A Rootly API token — generate one in Account > Manage API keys > Generate New API Key
- A Glean API token — obtain from your Glean admin
- Your Glean API host — the hostname of your Glean instance (for example,
your-company-be.glean.com)
Installation
Create your secrets file
Create a This file is not committed to version control.
secrets.env file in the project root with your API tokens:Configure the connector
Edit See Configuration below for all available options.
config.json to match your environment. At minimum, update the glean.api_host value to your Glean instance hostname:Configuration
All configuration lives in two files:config.json— non-sensitive settings (data types, limits, sync behavior)secrets.env— API tokens (keep this out of version control)
config.json options:
| Setting | Description |
|---|---|
glean.api_host | Your Glean instance hostname (default: support-lab-be.glean.com) |
| Data type toggles | Enable or disable syncing for incidents, alerts, schedules, escalation policies, and retrospectives |
| Item limits | Maximum items to sync per data type |
| Enhanced incident features | Include timeline events and action items in incident documents |
| Logging level | Set verbosity for debugging |
| Sync interval | How frequently the connector polls Rootly for updates |
Searching Rootly Data in Glean
Once the connector has synced, your team can search for Rootly data in Glean using natural language: Incidents- “Find incidents with timeline events”
- “Show high severity resolved incidents”
- “Show the latest on-call schedule in Rootly”
- “Show the latest alerts in Rootly”
Architecture
The connector is organized into four modules:| Module | Purpose |
|---|---|
data_fetchers/ | API clients that pull each Rootly data type via the Rootly API |
document_mappers/ | Converts Rootly data into the Glean document format |
processors/ | Coordinates sync orchestration across data types |
glean_schema/ | Glean document schema definitions |
Troubleshooting
The connector fails to start
The connector fails to start
Confirm Python 3.13+ is installed (
python --version) and the virtual environment is activated (source venv/bin/activate). Make sure dependencies are installed with pip install -r requirements.txt.Authentication errors on startup
Authentication errors on startup
Confirm that
secrets.env exists in the project root and contains valid values for both GLEAN_API_TOKEN and ROOTLY_API_TOKEN. Check that neither token has been revoked.Data is not appearing in Glean search
Data is not appearing in Glean search
Allow a few minutes for Glean to index synced documents. If data still doesn’t appear, check the connector logs for errors. Confirm
glean.api_host in config.json matches your Glean instance hostname exactly.Some data types are missing
Some data types are missing
Each data type (incidents, alerts, schedules, etc.) can be individually enabled or disabled in
config.json. Confirm the relevant data type is enabled and that your Rootly API token has access to it.Related Pages
Rootly API
The connector uses the Rootly API to fetch data. See the API reference for available endpoints and token setup.
Connector on GitHub
Source code, issues, and release notes for the Rootly–Glean connector.
Rootly AI
Learn about Rootly’s built-in AI features for incident management.