What Can a Notion AI Agent Change? A 45-Action Audit

What Can a Notion AI Agent Change? A 45-Action Audit

Steve Wall

A small mint page passes through a cobalt permission boundary while a broad coral editing field remains outside.

What Can a Notion AI Agent Change? A 45-Action Audit

A Notion-connected AI agent can reach far beyond one project page. In a bounded review of Aident Loadout's staging catalog on September 12, 2026, the current Notion integration contract contained 45 public Actions: 21 had read-oriented names such as fetch, get, list, query, retrieve, or search, while 24 had names that clearly add, append, archive, create, delete, duplicate, insert, move, replace, send, update, or upsert workspace data.

That 21-to-24 split is useful for inventory, but it is not a permission policy. The current search Action can fall back to an empty query that lists accessible items, and database-page results can include every custom property. Its optional property filter is applied only after the provider response reaches the integration wrapper. All 45 reviewed Actions also shared the wrapper's conservative operationType: write label and risk level 2.

Authorize the exact Action, query, workspace, returned fields, row limit, and consequence. Do not grant the whole Notion surface because an account can open one approved page.

For a safe first test, allow only one job:

  1. search page titles for one specific approved project phrase;

  2. return at most five page matches; and

  3. return only the title property to the agent.

Do not use an empty query, search databases, read page bodies, fetch comments, enumerate users or uploads, query rows, create content, or change workspace state in that first test.

If that is the boundary you need, inspect the current Notion integration in Aident Loadout before connecting an account. The goal is to inspect one current schema and preflight one bounded reader, not to approve every Notion Action.

The 45-Action Audit Result

Observed name group

Count

What the name suggests

Policy treatment

fetch

7

Read blocks, comments, databases, or rows

Bind the exact page or database, depth, fields, cursor, and row ceiling

get, list, query, retrieve, and search

14

Discover or retrieve workspace data

Review identity, data sensitivity, fallbacks, and returned properties

add, append, archive, create, delete, and other writes

24

Change content, structure, or upload state

Deny by default; approve one exact consequence and read-back at a time

Total public Notion Actions in the reviewed schema

45

A mixed read and write surface

Never authorize from the integration name or first verb alone

Actions labeled operationType: write by the reviewed wrapper

45

A conservative platform risk boundary

Use it as an approval gate, not a provider-method taxonomy

The 21 read-oriented names comprise seven fetch, three get, three list, three query, four retrieve, and one search. The 24 write-oriented names comprise one add, six append, one archive, four create, one delete, one duplicate, two insert, one move, one replace, one send, four update, and one upsert.

This count came from the exact Action enum behind the current public Notion search contract, deduplicated and cross-checked against an integration-scoped capability search. It classifies names, not HTTP methods, data sensitivity, recoverability, or business impact.

The search Action is broader than its name

The reviewed notion_search_notion_page contract recommends a specific title query as the primary approach. It also documents a fallback: when a known item does not appear, an empty query can list all accessible items for client-side filtering. That changes a narrow lookup into workspace enumeration.

The same schema warns that database pages can return every custom property with full nested structures. A filter_properties input can reduce what the agent receives, but the schema says that filter is applied client-side after the API response. It is a useful model-context ceiling, not a Notion authorization boundary.

The durable rule is simple: a read-only Action can still exceed the intended data scope. Review query behavior, fallback behavior, and returned fields in addition to whether the Action changes data.

What the 45 Actions Can Reach

The reviewed surface crosses several responsibility levels.

Pages, blocks, comments, and people

Read-oriented Actions can search and retrieve pages, render page Markdown, fetch block content and metadata, read comments, inspect a page property, and list users. Those results can contain internal plans, customer notes, linked files, meeting decisions, personal information, or page-level access clues.

The largest block reader supports recursive traversal, a default maximum depth of 10, and a default maximum of 5,000 blocks in the wrapper contract. Those defaults may be reasonable for document export, but they are much too broad for a first connection test.

Databases, data sources, and rows

Other read-named Actions can fetch databases and rows, query a database or data source, retrieve a database property, and list data-source templates. A single row can still expose people, dates, relations, files, formulas, contact details, or commercially sensitive fields.

A safe analyst role therefore needs both an object boundary and a property boundary. Permission to read one project-status view does not imply permission to query every database the account can access.

Content and structural changes

Write-named Actions can create pages, databases, comments, and file uploads; append text, code, media, tables, tasks, and layout blocks; update pages, blocks, rows, and database schemas; replace whole page content; move or duplicate pages; archive pages; and delete blocks.

These consequences are not interchangeable. Appending a reviewed paragraph, replacing a page body, changing a schema, moving a page, and deleting a block each need a different approval and recovery plan.

Uploads and external transfer

The catalog can create, send, list, and retrieve file uploads. Reading upload metadata may expose filenames or workflow state. Sending a file changes provider state and may place new content in the workspace. Treat upload discovery, byte transfer, and page attachment as separate permissions.

Use a Notion Permission Ladder

Start with the smallest role that completes one useful job.

Role

Allow

Deny

Connection verifier

Account status, Vault status, capability discovery, and current schemas

Every Notion provider execution

Title finder

One specific title query, pages only, five results, title property only

Empty queries, databases, page bodies, comments, people, uploads, rows, and every write

Approved-page reader

One selected page or block subtree with an explicit depth and content ceiling

Other pages, recursive workspace traversal, comments, users, databases, and every write

Database analyst

One selected data source, approved properties, explicit filter, and bounded row count

Cross-database queries, unapproved people or file fields, schema changes, and writes

Reviewed content operator

One exact approved page or row change followed by the smallest independent read-back

Any second write, page replacement, move, archive, delete, upload, or schema change

Workspace administrator

Nothing by default

Broad client access, user enumeration, database structure changes, destructive Actions, and unrestricted exports

This ladder separates authentication, reading, and mutation. A connected Notion account proves that a credential is available. It does not prove that the agent should inherit every page, database, or update permission held by that person.

A Safe First Test in Aident Loadout

Begin with the installed public CLI and current connection state:

aident account auth status
aident vault status --integrationId "notion_tools"

If the Notion connection is not ready, stop after discovery, schema inspection, and preflight. A valid schema does not prove workspace access or permission to read private content.

Discover the current title-search Action by job:

aident capabilities search \
  --query "Notion search five page titles read only" \
  --types '["action"]' \
  --scope '{"integrationId":"notion_tools"}' \
  --targetEnv staging

Copy the exact public name from the result, inspect its current schema, and preflight a narrow request:

NOTION_TITLE_SEARCH_ACTION="<PASTE_RETURNED_NOTION_SEARCH_ACTION>"

aident capabilities get \
  --name "$NOTION_TITLE_SEARCH_ACTION"

aident capabilities preflight \
  --name "$NOTION_TITLE_SEARCH_ACTION" \
  --input '{
    "query":"Approved Project",
    "page_size":5,
    "filter_value":"page",
    "filter_property":"object",
    "filter_properties":["title"]
  }'

That exact placeholder-free input passed schema validation and returned a free Aident quote during this audit. It was not executed because the reviewed Vault had no connected Notion account.

Replace Approved Project only with a phrase that a person has approved for the selected workspace. Do not silently replace it with an empty query when no result appears. The current contract says indexing may be delayed and search may be incomplete, so an empty result is not proof that a page does not exist.

Success for this first live test is narrow: the agent returns no more than five page-title matches for the approved phrase and makes no Notion change. If the title is ambiguous, a person selects the page before any content read.

What Changes With Notion's Direct MCP Server

Notion hosts an official remote MCP server at https://mcp.notion.com/mcp and documents OAuth authorization. Its current tool surface can search, fetch, create, update, move, duplicate, and query Notion content. Notion's documentation says a connected client can read and update content that the authenticated user can access.

Notion also documents useful platform controls. Workspace owners can manage MCP connections, organization owners can list and revoke connections through the Admin API, and enterprise administrators can maintain client allowlists. Existing Notion permissions continue to apply.

Those controls answer whether a client may connect and what the person can access. They do not automatically define the agent's temporary job. If the person can access an executive workspace, customer database, or private notes, a broad content search can reach that scope unless the workflow narrows it.

Notion's security guidance also treats tool output as untrusted, warns that prompt injection can cause disclosure or unwanted changes, and recommends confirmation before content-changing actions. Apply the same boundary whether the client uses Notion's direct MCP server or Aident Loadout.

Use the direct route when Notion is the whole job and its current tool and admin controls fit the operating policy. Use Aident Loadout when Notion is one reviewed step in a cross-service workflow and you need one discovery, Vault, preflight, and Audit pattern across services. Neither route turns account access into standing authorization.

Record Six Things Before a Notion Write

Before an agent changes Notion, record:

  1. Identity: the selected workspace, authenticated account, and connection type;

  2. Action: the exact current Action or MCP tool;

  3. Target: the page, block, database, data source, row, comment, or upload;

  4. Input: the exact text, properties, files, parent, destination, and options;

  5. Consequence: what becomes visible, moves, changes structure, overwrites content, or is difficult to recover; and

  6. Read-back: the smallest independent Notion read that proves only the approved change occurred.

For creation and upsert operations, add duplicate prevention. For replacement, move, archive, and delete operations, preserve the prior location or content needed for recovery. For comments and shared pages, preview the audience and final text. One successful write does not grant permission for another page or Action.

Common Notion Agent Permission Mistakes

Letting the person's workspace access become the agent's role

Notion enforces the connected person's permissions, but the agent still needs a narrower task-specific allowlist. An executive using an assistant to find one project page should not implicitly delegate access to every page the executive can open.

Falling back to an empty search automatically

The current wrapper recommends empty-query enumeration when title search misses a known item. That may be useful during supervised troubleshooting, but it expands data scope. Ask for a more specific phrase or a direct page URL before widening the search.

Treating returned-field filtering as authorization

The current filter_properties option is applied client-side. It can keep unwanted properties out of the model context, but it does not make the provider call page-specific or change what the connection is authorized to access.

Using large read defaults for a small job

Recursive block reads and large maximums are export-like behavior. Set explicit page, depth, block, cursor, and property ceilings for the actual question.

Combining analysis and mutation in one autonomous step

A project summary may recommend changing a status, adding a comment, creating a page, or restructuring a database. Return that recommendation for review. Do not let evidence collection silently become a workspace-visible change.

Using a free preflight as a safety verdict

The bounded search request returned a $0.00 Aident quote. Free Actions can still expose private workspace data. Cost approval and consequence approval are separate controls.

Repeat the Audit When the Contract Changes

Recount and inspect the exact Action schemas when Notion changes its MCP tools, authentication, admin controls, or API behavior; when Aident changes the Notion Action version or wrapper metadata; or when the workflow's role expands.

This September 12 review is a contract audit, not a security certification or live-account test. It did not read private Notion content, execute a Notion Action, compare direct-MCP latency, test provider quotas, or verify all 45 operations against a real workspace. Its conclusion is narrower: the current surface mixes read and write jobs, one search can widen into workspace enumeration, and model-output filtering is not a substitute for a least-privilege data scope.

Inspect One Notion Reader Before Enabling Writes

Follow https://aident.ai/SETUP.md

Set up Aident Loadout and inspect one Notion reader

Use the risk-versus-spend approval workflow to separate a free quote from permission to read Notion. Review Aident Loadout credits, BYOK, and Action pricing before any metered step. For the general discovery, connection, preflight, and execution loop, continue with How to Use Aident Loadout.

Sources

Refresh this audit when Notion changes its remote MCP server, OAuth flow, supported tools, admin controls, or data APIs, or when Aident changes the Notion Action set, schemas, risk metadata, connection flow, pricing, or approval behavior.

About the author

Illustrated editorial avatar of Steve Wall

Steve Wall

Steve Wall is an editorial pen name used by Aident's workflow-research team. This column covers automation platform selection, adoption tradeoffs, and measuring workflow outcomes. Comparisons make their criteria, sources, assumptions, and limitations explicit so readers can evaluate the evidence for their own situation.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 27,000+ tools once, skip the setup headache, and let your agents execute.

Try Aident Loadout

Empower your Codex or OpenClaws to get real jobs done. Connect 27,000+ tools in one prompt, and let your agents deliver real results.

Try Aident Loadout

Empower your Codex or OpenClaws to get real jobs done. Connect 27,000+ tools in one prompt, and let your agents deliver real results.

Try Aident Loadout

Empower your Codex or OpenClaws to get real jobs done. Connect 27,000+ tools in one prompt, and let your agents deliver real results.