Skip to content

Products

Compliance Officer Service Expert-led compliance, end to end Compliance Portal Share security documents securely Open-source platform Deploy Probo on your own infrastructure

Resources

Probo stories How teams get compliant with Probo Blog Ideas and guidance from the Probo team Guides & tools Practical compliance guides and free tools Love from Customers What customers say about working with Probo Changelog Latest product updates Download Get the Probo Agent

Company

About The people and vision powering Probo Careers Join the team building Probo Brand assets Official logos and visual resources Security Review our security and compliance posture
Overview Understand Probo and its core concepts Product Explore Probo's GRC capabilities Developers Explore GraphQL, CLI, MCP, n8n, and webhooks Deployment Probo Cloud, self-hosting, and configuration

Explore

GitHub Explore our open-source compliance tools

incident.io

Connect incident.io as an access source using an account-level API key

View as Markdown

Probo reads your incident.io organization’s users through the incident.io API so you can review who has access.

  • Probo organization administrator access
  • An incident.io plan that includes the API. incident.io lists API and webhooks on the Team, Pro and Enterprise plans, but not on Basic
  • The Manage API keys permission in incident.io, at the account level or the team level (only a user who holds it can create a key)
  • Permission to view users on your own incident.io account (you can only grant a key permissions you already hold)
Probo field incident.io field Notes
Name name Falls back to the email address when the user has no name
Email email A user returned without an email address is skipped
Role base_role.name, custom_roles[].name The base role is listed first, then each custom role. A user with neither falls back to the deprecated role enum, mapped to Owner, Administrator, Responder or Viewer; unset maps to no role
Admin base_role.slug Flagged as an administrator when the base role slug is owner or administrator. A user with no base role falls back to the deprecated role enum, read the same way
Status Not supported
MFA Not supported
Last login Not supported
External ID id Stable identifier used to track the account across reviews
Created at Not supported

The users endpoint returns no account status and no sign-in or creation timestamps, so those fields stay empty.

  1. In the incident.io dashboard, go to Settings > API keys. You need the Manage API keys permission, at the account level or the team level.
  2. Create a key and name it (e.g. Probo Access Review).
  3. Grant it account-level permission to view your organization’s users. Team-scoped permissions alone are not enough, and you can only grant permissions you hold yourself.
  4. Copy the token and store it securely. incident.io shows it only once.
  1. In Probo, go to Access Reviews > Sources > Add Source.
  2. Find incident.io, click API Key, paste the token, and click Connect.

Each key belongs to a single incident.io organization, so Probo pulls that organization’s users into your campaigns. Because the users endpoint does not return an organization name, the source keeps the generic name incident.io.

  • Key rejected. GET /v2/users requires the users.view scope, so the key needs account-level permission to view users. Adjust its permissions in Settings > API keys, or create a new key that has them.
  • Cannot create a key. You need the Manage API keys permission, at the account level or the team level. The API is also a Team, Pro or Enterprise plan feature, so upgrade first if you are on Basic.
  • No users appear. Confirm the key has account-level permissions and not only team-scoped ones. Probo also skips any user that incident.io returns without an email address.
  • A role looks outdated. incident.io froze its original role field in March 2023 and replaced it with base_role and custom_roles. Probo reads the live roles first and falls back to the frozen field only for a user that has neither, so an old Owner, Administrator, Responder or Viewer label means that user has no RBAC role. Assign one in incident.io and the next sync picks it up.