Incident.io
Incident.io
Incident.io is a platform for incident management.

How incident.io responds to incidents faster with Raycast

At incident.io, speed is everything. The engineering team obsesses over moving quickly—whether shipping new products and features or responding to incidents—because they care deeply about pace.

As an incident management company, they prioritize effective incident response. When managing incidents, they use various tools like Slack, Grafana, and Omni, but found that navigating between these tools was inefficient. Raycast became their solution.

Raycast gave us a tool with best-in-class UX and speed that met engineers where they were, rather than having to have some separate tool.

The Challenge: Friction in Finding Customer Details

Rory, a Product Engineer at incident.io, is passionate about streamlining workflows and reducing friction. He and his team grew frustrated with how long it took to look up organization details when customers reported problems.

Before tools like Pylon or Plain were available for managing shared Slack channels with customers, they relied on a primitive script that created custom channels without connecting all customer information.

Typically, these Slack channels would have names like #cust-dunder-mifflin. When a customer reported an issue with the workflows feature, the on-call engineer would:

  • Either recall from memory that #cust-dunder-mifflin was associated with The Paper Company organization, or search for the organization in Omni if they couldn't remember
  • If they knew the name, access the organization ID by opening their browser, navigating to their back-office React app, and searching in a dropdown
  • Use this organization ID to filter logs in Grafana or narrow down tables in Omni This process just covered looking up organization details. Finding a specific user added another layer of complexity (some users could even be registered under multiple organizations!).

The Solution: Custom Raycast Extension for Rapid Response

To solve this problem, Rory developed a custom Raycast extension with two initial commands: Search organization and Search user. These commands provide a simple input text box to look up relevant information while offering powerful flexibility:

  • Manually type in an organization’s ID, name or slug to quickly look up their details

incidentio 2

  • When viewing a Slack message, you can click on the author, select "Copy link," paste that into either search command, and the extension automatically extracts the user's Slack ID to find their associated organization(s) in the data warehouse

incidentio 1

Beyond the basic search, Rory and his team leveraged several Raycast extension features to supercharge their tool:

  • Since Raycast extensions are JavaScript applications, the underlying lookup could use Google Cloud's JavaScript SDK, allowing engineers to authenticate automatically and track their actions using their local gcloud credentials.
  • Raycast's SDK includes a caching utility that makes repeated searches lightning-fast—ensuring the quickest possible incident response!
  • After finding an organization or user, the command offers several useful actions:
  • "Open in Staff Room" - incident.io's back-office tooling for managing organizations
  • "Copy ID" - for quickly grabbing the organization's ID
  • "Open in Grafana", "Open traces", "Open logs" and "Open in Sentry" - enabling engineers to jump directly into debugging tools without additional form-filling

The Impact: Quick Adoption Fueling Smoother Workflows

Initially, incident.io’s Raycast extension began as a hobby project owned by a few enthusiastic engineers. However, adoption spread rapidly—whenever an engineer saw a colleague quickly accessing the right dashboard, they'd inquire about the tool. Soon, Raycast became essential for engineers at incident.io. Their custom extension was added to GitHub, and many engineers contributed helpful commands, including:

  • Shared quick links for opening Buildkite to specific repositories and branches
  • A command that retrieves PubSub topics from GCP, allowing access to relevant dashboards with just a few keystrokes
  • An "Open logs" command that builds a Grafana logs URL while utilizing Raycast's excellent forms to:
  • Search time ranges using Raycast's powerful date picker with natural language search capability
  • Autocomplete fields that Grafana doesn't, such as PubSub topics, organizations, or HTTP endpoints

Key Takeaways

Raycast has enabled the incident.io team to work more efficiently throughout their day. It serves as an entry point to various tools, providing a consistent and polished user experience for developers who might otherwise struggle with their required toolsets.

Rory Bain
Rory Bain
Product Engineer