Skip to main content
Import your Cortex service catalog into incident.io, bringing services, domains, and the teams that own them into Catalog. Ownership comes across with the entities, so an alert about a failing service can reach the team that owns it without you maintaining that mapping twice. Connect Cortex from Settings → Integrations with an API token. Everything below syncs hourly from then on.

What gets imported

Connecting Cortex creates five catalog types. Custom resource types are discovered automatically, and their attributes are read from the JSON schema you defined in Cortex.

Ownership and dependencies

Entities keep their relationships to one another, so the ownership graph you have in Cortex is the one you get in incident.io:
  • Services: link to the teams that own them and the domains they sit under
  • Domains: link to their owning teams, and to parent domains, so a domain hierarchy comes across intact
  • Teams: link to their members, and to parent teams
  • Users: carry the email address they’re known by in Cortex
Use these attributes anywhere Catalog is available, including routing alerts to teams, workflows, and custom fields. Two of them connect Cortex to the rest of incident.io:
  • incident.io User: Cortex users are matched to incident.io accounts on their email address, so the team that owns a service resolves to people you can actually page. Cortex acts as a user directory, pulling people from Cortex-managed team members, additional members, and IDP groups.
  • Parent Teams: your Cortex team hierarchy syncs as an attribute, so you can set up team structure without any extra configuration.

Connect Cortex

You’ll need the Edit organization settings permission in incident.io, and permission to create API tokens in Cortex.
1

Create an API token in Cortex

In Cortex, create an API token with read access. incident.io reads your entities, teams, and custom resource definitions, so a token scoped more tightly than read-only won’t sync everything.
2

Connect the integration

Go to Settings → Integrations and open Cortex, then select Connect and paste in your token.
The Cortex integration panel, listing the five catalog types it syncs, with a Connect
button
incident.io checks the token against your Cortex account as you save, so an invalid token fails here rather than silently at the first sync.
3

Check your catalog

Open Catalog to see the five Cortex types. The first sync populates them, and they refresh hourly after that.

Enrich your catalog types

Cortex entities often carry metadata from the other tools you’ve connected to it, like the repository behind a service or the Slack channel its owners use. Pull any of it into your catalog types as extra attributes. Open a Cortex catalog type in Catalog, select Edit, then select + Import from Cortex.
The Cortex Team attribute list in the catalog type editor, with Import from Cortex below the existing
attributes
Cortex Service, Team, Domain, and Custom Resource types all support this. What you’re offered depends on which integrations you’ve connected to incident.io. With GitHub connected, for example, you can bring across the repository behind a service, and it links to the matching entry in your catalog. An attribute is populated for the entities that have it in Cortex, and left empty for the rest, so it’s safe to add one that only some of your services use. Cortex Domain types offer more. Cortex lets you put arbitrary metadata on a domain, and any key holding text or a true/false value is offered as an attribute of its own, named after the key.

FAQs

Hourly, for all five catalog types. If you need data in incident.io faster than that, the catalog importer lets you control your own sync schedule.
The integration is marked as needing reconnection and syncs pause until you provide a new token. Your existing catalog entries stay where they are. Reconnect from Settings → Integrations.
Yes. Any custom resource type you’ve defined in Cortex is picked up automatically, and its attributes are read from the JSON schema. String, number, and boolean attributes are supported.
The Cortex API that supplies this metadata for teams needs to be enabled on the built-in team resource type. Contact Cortex support to turn it on for your account.
Cortex users are matched on email address, so anyone whose Cortex email matches their incident.io account is linked automatically. See connected users.