Skip to main content

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:
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

Clone the connector repository

Set up a Python virtual environment

Install dependencies

Create your secrets file

Create a secrets.env file in the project root with your API tokens:
This file is not committed to version control.

Configure the connector

Edit config.json to match your environment. At minimum, update the glean.api_host value to your Glean instance hostname:
See Configuration below for all available options.

Run the connector

The connector is running and syncing Rootly data to Glean. Your team can now search for incidents, schedules, and more directly in Glean.

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)
Key config.json options:

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”
Schedules & On-Call
  • “Show the latest on-call schedule in Rootly”
Alerts
  • “Show the latest alerts in Rootly”

Architecture

The connector is organized into four modules: This structure makes it straightforward to extend the connector — for example, to add a new Rootly data type, add a fetcher and a mapper for it.

Troubleshooting

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.
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.
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.
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.

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.