---
title: "Tool Scope Configuration"
description: "How default and allowed scopes behave in tool settings and which precedence rules apply."
canonical_url: "https://meingpt.com/en/docs/platform/tool-scope-policy"
language: en
---

# Tool Scope Configuration

This page explains the scope model for tool settings in MeinGPT, especially:

- `default*` fields (e.g. `defaultFolderId`, `defaultCalendarId`)
- `allowed*` fields (e.g. `allowedFolderIds`, `allowedLabelIds`)
- Precedence between user input, defaults, and restrictions

## UI Location

Scope settings are available in:

- `Settings > Connections` – where you set your own `default*`/`allowed*` values. This configuration applies to the tool everywhere you use it, including directly in a chat with no assistant.
- `Settings > Knowledge & integrations > Connectors` (admin-level tool availability/policy)
- Assistant > Configure Tool > `Scope` tab – an additional restriction (`scopeOverride`) that applies only to that assistant and can narrow the values from `Connections` further. A connector used directly in a chat with no assistant has no such additional restriction — only the `Connections` configuration applies there.

When you add or edit a connector in an assistant, you choose its actions and additional scope. Then click **Save** in the assistant editor. This selection applies only to that assistant; the settings of your existing personal connection stay unchanged. Each person using the assistant still needs their own connection and access to the selected resources.

## Personal and Assistant Restrictions

For Google Drive, OneDrive, and SharePoint, both levels apply together:

- An empty assistant restriction inherits the personal connection's limit.
- An additional assistant selection only allows resources that also fall within the personal restriction.
- Full access within the provider's permissions is available only when neither level has a restriction.

For Google Drive and OneDrive, folders include their subfolders. For example, if the personal connection allows `Projects` and the assistant allows only `Projects/Alpha`, `Projects/Alpha` remains accessible. The same applies when the selections are reversed: the narrower folder determines the shared scope. If the selected scopes do not overlap, the connector cannot return any content.

## Core Model

In scope configuration, the fields usually play these roles: `default*` sets the value used when no explicit scope is passed in the prompt or tool call. `allowed*` defines the set of resources that can be accessed at all.

1. `default*`: fallback value when no explicit scope is passed in prompt/tool call.
2. `allowed*`: restriction set for permitted resources.

Practical rule of thumb:

- No `allowed*` configured at any applicable level -> full access within OAuth/API permissions.
- `allowed*` configured -> access should be limited to those resources.
- `default*` configured -> preferred starting point when no explicit scope is provided.

## Scope Resolution Precedence

The order is tool-specific, but usually follows this pattern: an explicit value in the tool call (e.g. a specific folder ID) takes precedence. If none is given, the `default*` value from the tool configuration applies. If no `default*` is set either, the tool falls back to its own internal default, such as the inbox or the current user context.

If `allowed*` is configured, it acts as an upper bound and limits the final selection.

## What Matters for `default` vs `allowed`?

1. `default*` is convenience, not security.
2. `allowed*` is restriction.
3. A `default*` value is not required for the restriction. If you set one, choose a value inside `allowed*`.

## Examples

### Google Drive

- `defaultFolderId`: starting folder for list/search without explicit folder.
- `allowedFolderIds`: limits access to selected folders.

Recommendation:
- Set `defaultFolderId` to the primary working folder.
- Set `allowedFolderIds` to approved project folders.

### OneDrive

`allowedFolderIds` restricts access to selected folders and their subfolders. New selections also store the associated drive so folders from different drives cannot be confused.

Older saved OneDrive selections may need to be selected again, especially in shared assistants. Select the affected folders again and save the assistant. Also check the personal restriction under **Connections** if it contains older folder selections.

### Gmail

- `defaultLabelIds`: default labels for unspecific requests.
- `allowedLabelIds`: only emails within those labels.

### Outlook

- Mail: `defaultFolderId` + `allowedFolderIds`
- Calendar: `defaultCalendarId` + `allowedCalendarIds`

### Teams

- `defaultTeamId`: default team.
- `allowedTeamIds`: permitted teams.
- `allowedChannelIds`: additional channel restriction within allowed teams.

For Outlook and Teams, these fields apply only at the connection level (Settings > Connections) — they can **not** be additionally restricted per assistant, unlike Google Drive, OneDrive, and SharePoint.

### SharePoint

- `defaultSiteId`: default site used when no site is given explicitly in the tool call.
- `allowedSiteIds` (UI label "Restrict to Sites"): restricts access to the selected SharePoint sites.

**For SharePoint, the unit of restriction is the site, not the folder.** Unlike Google Drive and OneDrive (`allowedFolderIds`), the SharePoint connector cannot be restricted to a single subfolder within a site — only to whole site(s). For an actual subdirectory-level restriction with a guarantee that no other SharePoint content is pulled in, a [data source with SharePoint as its source](/en/docs/integrations/data-pools-rag) is the right tool, not the native connector.

## Important Implementation Note

Unlike [method policies](/en/docs/admin-guide/tool-access-policy), scope enforcement is currently **tool-specific** and not fully centralized yet. The `default*`/`allowed*` semantics are consistently designed, but the actual runtime enforcement depends on each tool and its method implementation.

Until full standardization, we recommend:

1. Set `allowed*` to restrict access; choose any optional `default*` within that scope.
2. Limit critical write/dangerous actions via [method policy](/en/docs/admin-guide/tool-access-policy) as well.
3. Validate scope behavior for each critical tool in a test chat.

## Troubleshooting

### "Why do I see No additional restriction although I configured restrictions?"

The assistant display describes its additional restriction. If it is empty, a personal limit under **Connections** still applies. Check both levels and the specific tool in a test chat.

### "Why are scope options not loading?"

Usually an active OAuth connection is missing, or a prerequisite hasn't been met yet — for example, choose a team or site first before you can load channels or spaces.

### "Can I only set `default*`?"

That only helps with convenience. For a real restriction, you also need to set `allowed*`.
