Access roles
Every agent has four roles: owner, admin, operator, and viewer. Use the Access panel in the agent console to share your agent and assign a role to each user.
Role overview
Full control — every action including permanent deletion.
Manage the agent day-to-day: dispatch tasks, update config, manage access. Cannot delete the agent.
Day-to-day runner and troubleshooter: dispatch tasks, read config, inspect and snapshot state, restart the bridge. Cannot write config or manage access.
Read-only: see tasks, configuration, access list, and state snapshots. Cannot make changes.
Capability matrix
A checkmark means the role can perform that action. Blank means it cannot.
| Action | owner | admin | operator | viewer |
|---|---|---|---|---|
| Tasks | ||||
| Dispatch tasks | ||||
| View tasks & history | ||||
| Cancel running tasks | ||||
| Config | ||||
| Read configuration | ||||
| Update configuration | ||||
| Access | ||||
| View access list | ||||
| Manage access (grant / revoke) | ||||
| Lifecycle | ||||
| Delete the agent | ||||
| Ops | ||||
| Restart the agent | ||||
| Read logs | ||||
| State | ||||
| List state checkpoints | ||||
| Capture a state checkpoint | ||||
| Restore a state checkpoint | ||||
bridge/acl.py ROLE_PERMISSIONS. When the permission matrix changes, update this page to match.How to share your agent
- Open the agent console and select Access from the sidebar.
- Enter the email address of the user you want to invite.
- Choose their role and click Grant access.
- The user receives an invitation email. Until they accept, they cannot log in under your agent.
Ops actions
Three actions — agent.restart, state.write, and state.restore — affect the running bridge service and the agent's stored state. They are available to operator and above because operators are the day-to-day troubleshooters who need them, but viewer accounts can only inspect state, not change it.
- agent.restart — sends a SIGHUP to the bridge process, causing it to reload configuration and reconnect to Slack. Does not affect running tasks.
- state.write — captures the current codestate or memstate as a named checkpoint. See the Agent state docs for details.
- state.restore — rolls back to a saved checkpoint. A full backup is taken automatically before the restore runs.
- logs.read — grants access to bridge logs and task output. Useful for diagnosing failures without the ability to change configuration.