Skip to main content Announcing Tool Policies: AI agent permissions down to the field Read the announcement
Docs: User-Scoped Actions and $.user

November 2026

Docs: User-Scoped Actions and $.user

The connector YAML reference now documents userScoped, the setting for an action that answers for the person calling it instead of the credential it runs on. It fits connectors that authenticate with one admin-level key while each caller should only see their own records.

What’s new

  • Scoping the request. The action filters or queries the provider by $.user.email, either with a filter parameter or with a lookup that resolves the email to the provider’s own user ID.
  • Checking the response. The object form, userScoped.identity, lists JSONPath expressions into each record. StackOne keeps only records that match the caller’s email, and refuses a single record that belongs to someone else with a 403 (USER_SCOPE_VIOLATION_ERROR).
  • Where $.user comes from. MCP from an AI platform signed in with OAuth, and the AI Playground, set it to the signed-in person. A connect session token or an API key leaves it unset, so a userScoped action is refused with ACTING_USER_REQUIRED_ERROR.
  • Validation rules. A userScoped action can’t turn on Data Sync, because a sync runs with no user, and identity can’t be used on an action that downloads a file.

The expression language page lists $.user among the available contexts. The reference suggests keeping a user-scoped action such as get_my_goals next to the unscoped get_user_goals, and Scoping connectors covers which actions to enable on each Connector Profile. OAuth sign-in for MCP is described in the MCP OAuth entry.

Put your AI agents to work

Connect AI to every company system and control what it can do in each one, down to the field.