Skip to main content
Alpha: The scope groups are stable enough to use, but the exact MCP tool surface behind them can still expand while the product is in alpha.

How Enginy scopes work Alpha

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:
  1. The workspace policy is the maximum permission limit.
  2. A client can ask for all of that limit or only part of it.
  3. Write permissions also include the matching read permissions.
  4. ALL grants the full MCP surface.
If a client requests no scopes at all, Enginy grants the current workspace policy ceiling.

Permission groups Alpha

Scope groupWhat it allowsExample endpoint families
WORKSPACE_READWorkspace metadata such as credits, saved views, filters, and validation helperscredits, validation, saved views
IDENTITIES_READSender identities and identity performanceidentities, sender performance
OWNERS_READCRM owner lookup for routing and task assignmentowner lookup
CAMPAIGNS_READRead campaigns and folderscampaigns, campaign folders
CAMPAIGNS_WRITECreate and mutate campaignscampaign create, clone, status, membership changes
CONTACTS_READRead contacts, search results, and contact fieldscontacts, contact fields
CONTACTS_WRITECreate and update contactscontact create and update
COMPANIES_READRead companies, search results, and company fieldscompanies, company fields
COMPANIES_WRITECreate and update companiescompany create and update
LISTS_READRead lists and list folderslists, folders
LISTS_WRITECreate lists/folders and move memberslist create, add, move
AI_VARIABLES_READRead AI variables and AI variable foldersAI variables, AI variable folders
AI_VARIABLES_WRITECreate, update, and delete AI variables and foldersAI variable mutations
ANALYTICS_READRead analytics exports and campaign analyticsanalytics exports, campaign analytics
ACTIONS_READRead action-run stateactions status
ACTIONS_WRITEStart actions and AI Finder importsactions create, AI Finder import
MESSAGING_READRead inbox threads, tags, and conversation messagesinboxes, messages
MESSAGING_WRITESend replies and mutate thread statereplies, tags, archive state
WEBHOOKS_READRead webhook subscriptions and logswebhooks, webhook logs
WEBHOOKS_WRITECreate, update, delete, and test webhookswebhook mutations

Write scopes imply read scopes Alpha

Enginy automatically expands write scopes to include the matching read scope:
If you grantEnginy also grants
CAMPAIGNS_WRITECAMPAIGNS_READ
CONTACTS_WRITECONTACTS_READ
COMPANIES_WRITECOMPANIES_READ
LISTS_WRITELISTS_READ
AI_VARIABLES_WRITEAI_VARIABLES_READ
ACTIONS_WRITEACTIONS_READ
MESSAGING_WRITEMESSAGING_READ
WEBHOOKS_WRITEWEBHOOKS_READ
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 Alpha

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.

Read-only exploration

Start here for general assistant workflows where the AI should look things up and summarize, but not make changes:
  • WORKSPACE_READ
  • IDENTITIES_READ
  • CONTACTS_READ
  • COMPANIES_READ
  • LISTS_READ

Campaign operations

Add these only if the AI should be allowed to change campaign state:
  • CAMPAIGNS_WRITE
  • OWNERS_READ

Inbox or automation operations

Add these only for explicit automation or operator flows:
  • MESSAGING_WRITE
  • ACTIONS_WRITE
  • WEBHOOKS_WRITE
ALL is convenient for internal testing but is usually the wrong default for production. Start narrow and expand only when a real workflow needs more access.