How Enginy scopes work
Think of scopes as permission groups. They let an admin decide what an AI assistant is allowed to read or change in Enginy without reviewing every individual API route. There are four important rules:- The workspace policy is the maximum permission limit.
- A client can ask for all of that limit or only part of it.
- Write permissions also include the matching read permissions.
ALLgrants the full MCP surface.
Permission groups
Write scopes imply read scopes
Enginy automatically expands write scopes to include the matching read scope:
This is why a token can still satisfy read-only tools even if the original approval selected only the write side.
How workspace policy and user approval fit together
1
An admin sets the workspace limit
The active MCP policy on the workspace defines the maximum permissions that may be granted.
2
The AI interface asks for permissions
A client can request an explicit subset, or omit scopes entirely and let Enginy grant the whole policy
limit.
3
The user reviews what will be granted
The approval screen shows the permissions that will actually be granted after policy checks.
4
Enginy checks again later
Access tokens and refresh flows are validated against the current active policy, not only the original
approval.
Recommended starting policies
Read-only exploration
Start here for general assistant workflows where the AI should look things up and summarize, but not make changes:WORKSPACE_READIDENTITIES_READCONTACTS_READCOMPANIES_READLISTS_READ
Campaign operations
Add these only if the AI should be allowed to change campaign state:CAMPAIGNS_WRITEOWNERS_READ
Inbox or automation operations
Add these only for explicit automation or operator flows:MESSAGING_WRITEACTIONS_WRITEWEBHOOKS_WRITEWORKFLOWS_WRITE