Skip to main content

Roles & Permissions

Autoheal decides what someone can do from the roles they hold. A role is a set of permissions. You give a role to a user, a user group or a service account, either on the organization or on one project.

To add users, create user groups and change who has access, see Managing Access.

Organizations and projects​

Your organization is your company's Autoheal account. It holds your users, user groups, projects, sign-in settings and usage.

A project holds the work: agents, skills and runbooks, chats, runs and investigations, integrations, alerts, incidents, on-call, status pages, the catalog and memories. What's in one project isn't visible from another. Most organizations start with one project. Larger teams use a project per product or team.

Every project is part of one organization. Users belong to the organization and are given roles on the projects they work in.

Who can hold a role​

What it isWhere it lives
UserA person who signs in to AutohealThe organization
User groupA named set of users. A role given to a user group applies to everyone in itThe organization
Service accountAn identity for automation, such as CI or a script. It calls the API with its own keysThe organization, or one project

Roles​

Autoheal has four built-in roles.

  • Read-only: sees everything in a project except other users' chats, and changes nothing. For stakeholders who need visibility.
  • Member: does the day-to-day work in a project. A Member chats with and runs agents. A Member creates and edits agents, skills, runbooks, triggers, catalog entries and memories. A Member starts investigations, responds to alerts, pages and incidents, and approves agent requests. Members create and change these, but deleting them is for Project Admins. Members can also add and remove on-call overrides. For engineers and responders. What agents may do stays bounded by the project's agent profiles and policies, which only Project Admins change. Member can only be given on a project.
  • Project Admin: everything in a project, including its integrations, settings, service accounts and who has access to it. For the users who own a project.
  • Org Admin: runs the organization: its users, user groups, projects, roles and sign-in settings. Org Admin holds no project content: an Org Admin who also works in a project needs a role there too.

Where a role applies​

Given onApplies
A projectIn that project only
The organizationIn every project, and on the organization's own pages

Read-only, Project Admin and Org Admin can be given on the organization. Read-only, Member and Project Admin can be given on a project.

How access adds up​

Someone can hold roles in several ways at once: given to them directly, through each user group they're in, and on the organization. They can do everything any of those roles allows. Nothing removes access. A role on a project adds to what the organization gives. It never narrows it.

Each project's IAM and Users pages show, for everyone, their roles there and where each comes from: Direct, via a user group, or From organization.

Project creators and the last admin​

  • Whoever creates a project becomes its Project Admin.
  • Your organization always keeps at least one Org Admin: the last one can't be removed.
  • A project can be left without a Project Admin. An Org Admin can give someone the role again.

Permissions​

Each permission is shown with its key, which is what the API checks. The tables are generated from the same definitions the server checks. The same lists are in the app: Roles in your organization's sidebar shows each role as a matrix of resources and verbs.

A key is a resource and a verb:

  • read sees it.
  • create makes a new one.
  • delete removes one.
  • update changes one that exists, including its parts and actions on it. This covers a user group's members, a status page's services and subscribers, and enabling, disabling, testing or rotating. Update never creates or deletes.
  • run runs agents and tools.

In a project​

What each role allows inside a project: the project it is granted on, or every project when it is granted on the organization.

Projects and access​

ActionPermissionOrg AdminProject AdminMemberRead-only
See projects: the list, and each project's name, ID and how many users hold a role on itproject:readyesyesyesyes
Rename a project and edit its descriptionproject:updateyesyes
See who has access, and where each role comes fromaccess:readyesyesyesyes
Give roles to users, user groups and service accountsaccess:createyesyes
Remove rolesaccess:deleteyesyes
See service accountsservice_account:readyesyesyes
Create service accountsservice_account:createyes
Rename, disable and enable service accountsservice_account:updateyes
Delete service accountsservice_account:deleteyes
Create and rotate service accounts' API keysapi_key:createyes
Revoke service accounts' API keysapi_key:deleteyes

Settings​

ActionPermissionOrg AdminProject AdminMemberRead-only
See settings: a project's, or the organization's (such as just-in-time provisioning)settings:readyesyesyes
Change settings: a project's, or the organization's (such as just-in-time provisioning)settings:updateyes

Integrations​

ActionPermissionOrg AdminProject AdminMemberRead-only
See integrations and the webhook URL (never stored secrets); test a connectionintegration:readyesyesyes
Add integrations and skill importsintegration:createyes
Edit integrations and their context; import from them; regenerate webhook secretsintegration:updateyes
Remove integrations and skill importsintegration:deleteyes

Agents, runs and investigations​

ActionPermissionOrg AdminProject AdminMemberRead-only
See agents, skills, runbooks and evals, with their files and history; see runs and investigations, including raw tool output and remediation plansregistry:readyesyesyes
Create agents, skills and runbooksregistry:createyesyes
Edit agents, skills and runbooksregistry:updateyesyes
Run an agent; start or re-run an investigation; send follow-up input, answer a run's question, stop a run, give feedbackregistry:runyesyes
Delete agents, skills and runbooks, and runs and investigationsregistry:deleteyes
See agent profilesagent_profile:readyesyesyes
Edit agent profiles: which integrations, repositories and skills agents can useagent_profile:updateyes
Remove agent profilesagent_profile:deleteyes
See agent policiesagent_policy:readyesyesyes
Create agent policiesagent_policy:createyes
Edit what agents may do without approvalagent_policy:updateyes
Delete agent policiesagent_policy:deleteyes
See triggers, their runs and the events they can start on; test a drafttrigger:readyesyesyes
Create triggerstrigger:createyesyes
Edit, enable and disable triggerstrigger:updateyesyes
Delete triggerstrigger:deleteyes
Chat with agents and see your own chatschat:createyesyes
Read everyone's non-private chats in the projectchat:readyes
See tools and every tool call, with its arguments and outputtool:readyesyesyes
Register tools in the tool registrytool:createyes
Edit tools in the tool registrytool:updateyes
See memoriesmemory:readyesyesyes
Create memoriesmemory:createyesyes
Edit memoriesmemory:updateyesyes
Delete memoriesmemory:deleteyes
See approval requests and historyapproval:readyesyesyes
Approve or reject agent requestsapproval:updateyesyes
See artifactsartifact:readyesyesyes
Upload artifactsartifact:createyesyes
Delete artifactsartifact:deleteyes
See project insightsinsights:readyesyesyes

Alerts, incidents and on-call​

ActionPermissionOrg AdminProject AdminMemberRead-only
See alerts and alert groupsalert:readyesyesyes
Silence an alert group for a set timealert:createyesyes
Change a silence; update alertsalert:updateyesyes
Remove a silencealert:deleteyes
Create proactive actionsproactive_action:createyesyes
Act on proactive actions: accept, dismiss, assign or edit oneproactive_action:updateyesyes
See incidentsincident:readyesyesyes
Declare incidentsincident:createyesyes
Update incident statusincident:updateyesyes
See schedules, rotations, escalation paths and pagesoncall:readyesyesyes
Page someoneoncall_page:createyesyes
Acknowledge, re-escalate and resolve pagesoncall_page:updateyesyes
Add schedule overrides (cover a shift)oncall_override:createyesyes
Remove schedule overridesoncall_override:deleteyesyes
Create schedules, escalation paths and teamsoncall:createyes
Edit schedules, rotations, escalation paths and teamsoncall:updateyes
Delete schedules, escalation paths and teamsoncall:deleteyes
See status pagesstatus_page:readyesyesyes
Post status updatesstatus_post:createyesyes
Edit, add to and resolve status updatesstatus_post:updateyesyes
Delete status updatesstatus_post:deleteyes
Create status pagesstatus_page:createyes
Configure status pages: services, custom domain and subscribersstatus_page:updateyes
Delete status pagesstatus_page:deleteyes

Catalog​

ActionPermissionOrg AdminProject AdminMemberRead-only
See blueprints and entitiescatalog:readyesyesyes
Create catalog entitiescatalog:createyesyes
Edit catalog entities and their relations; re-run a synccatalog:updateyesyes
Delete catalog entitiescatalog:deleteyes
Create blueprints (the catalog's schema)blueprint:createyes
Edit blueprintsblueprint:updateyes
Delete blueprintsblueprint:deleteyes

On the organization​

What each role allows on the organization's own pages, when it is granted on the organization. Member can only be granted on a project.

Projects and access​

ActionPermissionOrg AdminProject AdminRead-only
See projects: the list, and each project's name, ID and how many users hold a role on itproject:readyesyesyes
See who has access, and where each role comes fromaccess:readyesyesyes
Give roles to users, user groups and service accountsaccess:createyes
Remove rolesaccess:deleteyes
See service accountsservice_account:readyesyesyes
Create service accountsservice_account:createyes
Rename, disable and enable service accountsservice_account:updateyes
Delete service accountsservice_account:deleteyes
Create and rotate service accounts' API keysapi_key:createyes
Revoke service accounts' API keysapi_key:deleteyes
Create projectsproject:createyes
See the organization's users and their rolesuser:readyesyesyes
Invite usersuser:createyes
Remove a user from the organization (ends their roles, user group memberships, tokens and sessions)user:deleteyes
See user groups and their membersgroup:readyesyesyes
Create user groupsgroup:createyes
Rename user groups; add and remove membersgroup:updateyes
Delete user groupsgroup:deleteyes
See roles and what each allowsrole:readyesyesyes
See the access log: every access change in the organizationaudit:readyesyesyes
See usage across projectsusage:readyesyesyes

Settings​

ActionPermissionOrg AdminProject AdminRead-only
See settings: a project's, or the organization's (such as just-in-time provisioning)settings:readyesyesyes
Change settings: a project's, or the organization's (such as just-in-time provisioning)settings:updateyes
See SSO and sign-in settingsauth_settings:readyes
Add SSO connectionsauth_settings:createyes
Change SSO and sign-in settings; enable and disable connectionsauth_settings:updateyes
Remove SSO connectionsauth_settings:deleteyes

Legacy roles​

Before the roles above, Autoheal had three roles given on the organization: Viewer, Responder and Admin. Autoheal replaced each with the roles below. The project roles apply to every project your organization had at the time:

Legacy roleReplaced by
ViewerRead-only on each project
ResponderMember on each project
AdminOrg Admin on the organization, and Project Admin on each project

Where someone already held a role on a project, they kept it. Autoheal added no role there. A project created since lists only the people given a role on it.

Autoheal no longer assigns legacy roles. SSO just-in-time provisioning gives new users a role on your organization's default project, Member unless you change it. See Single Sign-On.

To change anyone's roles, use your organization's IAM. See Managing Access.

SSO​

Autoheal supports SAML 2.0 single sign-on. See Single Sign-On (SAML). Your identity provider says who someone is, and Autoheal decides what they can do. Autoheal doesn't read group and role attributes in the SAML assertion, so there is no group-to-role mapping to configure. Autoheal doesn't sync user groups from your identity provider. There is no SCIM provisioning. Give roles in Autoheal, to people or to user groups.

FAQ​

What role should I give a new engineer?

Member on the projects they work in. Read-only on the organization lets them see every project, but also shows them the organization's users and their roles, user groups and service accounts. Give it only to users who should see those.

Can an Org Admin see every project's investigations?

Not by default. Org Admin runs the organization but holds no project content. Org Admins see every project in the organization's project list, and open only those they hold a role on. An Org Admin can give themselves a role on a project. Autoheal records it and emails the other admins (see Granting yourself access).

How do I give a team access to several projects?

An Org Admin creates a user group for the team. Then, on your organization's IAM, the Org Admin chooses Grant access, picks the user group and gives it a role on each project in turn. A Project Admin can also give the user group a role on their own project, from the project's IAM. Everyone in the user group gets the roles, and users who join the user group later get them too.

Can I restrict someone in one project who has a role on the organization?

No. A role on the organization applies in every project, and roles only add access. Give them roles on individual projects instead.

How fast does a change take effect?

Within a minute, in every open session and for every API key of a service account.

What happens to someone's work when I remove them?

Everything they had access to ends, and their API tokens stop working. What they built stays: agents, investigations, runbooks and history keep their author.