# Permissions and controls

Canonical: https://useformwork.com/docs/ai-assistants/permissions

Updated: 2026-10-11

Choose which accounts, projects and actions an AI assistant can access, control it at account level and understand what data reaches the assistant.

An assistant's access is the intersection of your FormWork role, the accounts and projects in its connection, the permissions you grant, and the account's AI setting. Granting access never gives it powers you don't have yourself.

## What you can allow

| Permission on the consent screen | What it allows |
| --- | --- |
| See how your forms and processes are set up | Read forms, data table structures, team fields, stages, automations, templates and views |
| Change drafts, templates and views | Change draft questions, team fields, stages and automations; also change data table columns, templates and views, which take effect immediately |
| Publish changes and change live settings | Publish drafts, change a data table column's type, change notifications and switch automations on or off |
| See entries and their history | Read entries, data table rows, history, automation runs and your work queue |
| Update entries, move them through stages and approve requests sent to you | Change answers, team fields and rows; move and assign entries; decide your approval requests; rerun automations |
| Create projects | Create a project in an allowed account |

Permission to change something includes permission to see it. Publishing permission includes reading the setup; it does not automatically grant permission to edit drafts.

For an assistant that helps design solutions, you can allow draft changes while keeping publishing with your team. For reporting, grant only the read permissions it needs.

## The account's AI setting

Account admins choose one of these in **Account settings → AI assistants**. It applies to every MCP connection reaching the account, including connections authenticated with an API key.

| Setting | Effect |
| --- | --- |
| **On** | Assistants can work within the person's role and granted permissions |
| **No publishing** | Assistants can read, change drafts and work with entries, but can't publish or change live settings |
| **Read only** | Assistants can read allowed setup and entries, but make no changes |
| **Off** | Assistants can't access the account |

This setting doesn't change ordinary REST API access or what people can do directly in FormWork. **No publishing** still permits changes to templates, views and data table columns that take effect immediately, except changing a column's type. Use **Read only** if no assistant changes should take effect.

Admins can also remove the account from an individual person's connection. Their access to other accounts is unaffected.

## Review and confirmation

The assistant is instructed to show the account and project before a change, ask when the destination is unclear, and obtain your confirmation before publishing, deciding approvals or making bulk changes.

FormWork checks draft revisions before publishing. Writes affecting more than one entry, row or run require a recent dry run whose confirmation matches the operation and targets; single-target writes do not require that token. Supported clients can also show an explicit publish question or an interactive review card. Your assistant's own tool-call approval settings determine how it asks to run tools; they don't bypass FormWork's checks.

Review email recipients, webhook destinations and connected app actions along with the questions and process. A structurally valid form can still send information to the wrong place if the requirement is wrong.

## History and audit

Entry history attributes assistant changes to the person and assistant, for example "Priya Shah (via Claude)". See [Revisions and history](/docs/entries/revisions).

The account audit log separately records API key creation and revocation, AI connection events, assistant writes and refusals, and form publications from the builder, API or assistant. It is available to account admins through the [REST API](/docs/api/reference#account-audit-log). It isn't a log of every read or every change made in the app.

## What reaches your AI provider

When an assistant reads forms or entries, those results go to the company providing the assistant and are handled under your agreement with it. A connection allowed to read entries can send entry content to that provider.

FormWork receives the tool requests the assistant makes, rather than your full conversation. It doesn't send data to an AI provider on its own. MCP request logs record the tool and outcome rather than the request and response bodies.

Password answers, signature values, file download URLs, secret values, and private approval and status links are withheld from MCP results. Other permitted answers and setup can be returned. Restrict the connection to the accounts, projects and read permissions appropriate for that work.

Submitted answers are treated as data: the assistant is instructed not to follow commands embedded in entries. This instruction complements access controls; it isn't a reason to grant broader access.

See the [privacy policy](/privacy) for the data FormWork keeps about connections.