Microsoft

Vibe is an AI assistant built by Mistral AI. It connects to Microsoft 365 services through Connectors: secure OAuth 2.0 integrations that let users interact with their Microsoft data using natural language.

When a user connects a Microsoft service, Vibe can read and search data in that service, and act on it with explicit user approval, always as the signed-in user. Every write action requires the user's confirmation before it runs. Vibe never stores Microsoft passwords: authentication goes through Microsoft Entra ID OAuth 2.0, and Vibe stores the OAuth credentials that maintain the connection in encrypted form.

Delegated permissions model

Delegated permissions model

All Microsoft Graph permissions that Vibe requests are delegated permissions: the connector acts as the signed-in user and can only reach the data that this user can already access, under the existing policies of your tenant. Vibe requests no app-only (application) permissions and uses no service account. Tenant-wide admin consent authorizes the Vibe application in your tenant. It doesn't give any user access to additional mailboxes, calendars, sites, or files.

A Microsoft Graph permission can authorize broader API access than the Vibe tools use. For example, Mail.ReadWrite also permits updating and deleting mail through the Microsoft Graph API, but the connector only implements the documented actions, and Vibe never requests Mail.Send. The service sections in Supported Microsoft services define the effective tool coverage. The Microsoft Graph permissions reference describes what each scope technically allows.

Vibe requests offline_access alongside the Microsoft Graph scopes. This Microsoft identity platform scope lets Vibe refresh access tokens without repeated sign-ins, subject to the session and Conditional Access policies of your tenant. It grants no rights on Microsoft 365 data.

Supported Microsoft services

Supported Microsoft services

Vibe integrates with the following Microsoft services:

ServiceWhat Vibe does
OutlookSearch email, read messages, browse mail folders, create drafts for manual review, organize messages, and read shared mailboxes.
Outlook CalendarList and search events, create, update, or delete events, respond to invitations, and check attendee availability.
SharePointSearch files, browse sites and document libraries, read file content, create, move, and share files and folders, and manage lists, items, and columns.
Microsoft TeamsList teams, channels, chats, and members, read channel and chat messages, and post messages.

The SharePoint connector also covers the OneDrive for Business files that the connected user can access, with the same permissions.

Outlook

Outlook

Vibe uses the Outlook Mail API (Microsoft Graph) to help users manage their email through natural language (for example, "Summarize the last email from the procurement team" or "Draft a reply to this message").

Scopes requested:

  • Mail.ReadWrite: Search messages by keyword, sender, recipient, date, or folder; open message bodies; browse mail folders and subfolders; create email drafts and draft replies for the user to review; and move messages between folders, such as the archive. Vibe never sends drafts: the user reviews and sends them from Outlook. Vibe requests Mail.ReadWrite rather than Mail.Read because drafts and moves are write operations. It doesn't request Mail.Send and can't send email.
  • Mail.Read.Shared: Search and read messages in shared or delegated mailboxes that the user can already access in Exchange, when the tenant enables this. This scope is read-only for shared mailboxes and grants no Send As or Send on Behalf rights.
  • User.Read: Read the basic profile of the signed-in user to identify the connected account. It doesn't grant directory-wide administration.
  • offline_access: Refresh access tokens between sessions. For more information, see Delegated permissions model.
Outlook Calendar

Outlook Calendar

Vibe uses the Outlook Calendar API (Microsoft Graph) to help users manage their schedule (for example, "Find a free slot for a 30-minute meeting with Alice next week" or "Schedule a project review with a Teams meeting link").

Scopes requested:

  • Calendars.ReadWrite: List and search events, retrieve event details, create one-off or recurring events, update, cancel, or delete events, and accept or decline invitations. Events can include a Teams meeting link when the account of the user supports it. The read-only Calendars.Read scope isn't enough because Vibe also creates, updates, and deletes events for the user.
  • MailboxSettings.Read: Read the mailbox settings of the user, in particular the time zone, to schedule events in the local time of the user. This scope doesn't allow changing mailbox settings.
  • offline_access: Refresh access tokens between sessions.

Attendee availability results follow the free/busy sharing rules of Microsoft 365. Vibe doesn't get full access to the calendars of attendees.

SharePoint

SharePoint

Vibe uses the Microsoft Graph API to help users find and work with SharePoint content (for example, "Find the latest project delivery plan and summarize it" or "Create a folder for the review documents"). The SharePoint connector retrieves content live through Microsoft Graph: it doesn't ingest documents into a search index and doesn't replicate SharePoint permissions. Microsoft checks access as the signed-in user at request time.

Scopes requested:

  • Files.ReadWrite.All: Search files and folders by keyword across accessible sites; browse document libraries and folders; read supported file content and metadata; create text files, binary files, and folders; rename, move, copy, delete, and share files; copy a file from a SharePoint or OneDrive URL; and apply or remove sensitivity labels on files. The scope is bounded by the rights of the signed-in user across SharePoint and OneDrive for Business: it isn't app-only access to every file in the tenant.
  • Sites.ReadWrite.All: Find sites and subsites; create, update, and delete SharePoint lists, list items, and columns; and grant permissions on lists, for the sites that the user can access.
  • InformationProtectionPolicy.Read: Read the sensitivity labels and label policies available to the user, when your tenant configures them. Vibe uses this scope with Files.ReadWrite.All to apply sensitivity labels to files. It doesn't allow decrypting protected files, overriding access restrictions, or changing policies.
  • User.Read: Read the basic profile of the signed-in user to identify the connected account.
  • offline_access: Refresh access tokens between sessions.
SharePoint limitations

SharePoint limitations

  • Search quality: The Microsoft Graph Search API returns the search results. Microsoft ranks them, and they're keyword-based and file-level. Vibe adds no semantic index or passage-level retrieval.
  • Access controls: The connector can't enforce its own allowlist or denylist of sites, folders, or OneDrive content. Microsoft controls access as the signed-in user, under the policies of your tenant.
  • Protected content: Sensitivity labels don't exclude documents from search. Vibe can't read content encrypted beyond the rights of the user.
  • File support: Reading extracts text from supported formats (PDF, Office documents, plain text, and common code or data formats). Binary downloads and file creation are capped at 5 MB per file. Vibe can't read image-only or scanned documents without a text layer.
  • Throttling: Every call goes directly to the Microsoft Graph API and is subject to the per-user and per-application throttling limits of Microsoft.
  • Service coverage: The connector supports SharePoint Online only, not SharePoint Server on-premises.
Microsoft Teams

Microsoft Teams

Vibe uses the Microsoft Graph Teams API to help users follow and contribute to team conversations (for example, "Summarize today's messages in the delivery channel" or "Post the weekly update to the team channel").

Scopes requested:

  • Team.ReadBasic.All: List the teams that the user is a member of, with their display names.
  • Channel.ReadBasic.All: List the channels of those teams.
  • ChannelMessage.Read.All: Read channel messages and their thread replies.
  • ChannelMessage.Send: Post new messages in channels and reply inside existing threads.
  • Chat.Read: List the one-on-one and group chats of the user and read their messages.
  • ChatMessage.Send: Send messages in those chats.
  • TeamMember.Read.All: List the members of a team so that users can find and mention people. It doesn't grant member administration.
  • User.Read: Read the basic profile of the signed-in user to identify the connected account.
  • offline_access: Refresh access tokens between sessions.

Vibe sends posted messages as the connected user, and they appear immediately. The Vibe approval flow gates each post before it runs. For more information, see User consent and approval.

Set up and validate for your organization

Set up and validate for your organization

Microsoft Entra administrators control how the Vibe connector application can be used in the tenant. To validate the integration end to end, follow these steps:

  1. Grant admin consent. Microsoft requires administrator consent for the Teams scopes ChannelMessage.Read.All and TeamMember.Read.All before users can connect. Users can consent to the other scopes, depending on the user consent settings of your tenant. To grant consent, sign in with a Microsoft Entra administrator account during a connector setup and select Consent on behalf of your organization. You can also grant tenant-wide consent from the Microsoft Entra admin center under Identity > Applications > Enterprise applications > Permissions > Grant admin consent after a first user has connected. For the classification of each permission, see the Microsoft Graph permissions reference.
  2. Verify the consent screen. The Microsoft consent prompt must show Mistral AI as the application publisher and the exact scopes listed in Supported Microsoft services. By default, users can consent to permissions that don't require administrator consent. Microsoft recommends allowing user consent only for apps from verified publishers: check that the user consent settings of your tenant match your policy.
  3. Validate with a test account. On the Connectors page, connect a low-privilege test account for each service, run a search and a read, then run one write action and confirm that the approval prompt behaves as expected. This test confirms that the scopes and write approvals work as documented.
  4. Audit connections. The connector application appears in the Microsoft Entra admin center under Enterprise applications. Review the sign-in logs and any Graph activity reports there. Each user connection is a separate user consent.
  5. Restrict and revoke. Users can disconnect from the Connectors page, and an administrator can revoke consent or disable the application tenant-wide at any time from Enterprise applications. Revocation immediately stops future access from Vibe.
Warning

Vibe refreshes tokens server-side for the user. Conditional Access policies that require compliant devices or trusted network locations can block connector traffic between refreshes. If you enforce such policies, configure an appropriate exclusion for the connector application.

i
Information

Vibe authenticates against the Microsoft global cloud (login.microsoftonline.com). It doesn't support tenants in Microsoft 365 Government Community Cloud (GCC) High, DoD, or the cloud operated by 21Vianet.

If your organization requires a dedicated connector application, for example in a private-cloud deployment, you can arrange one with Mistral AI. Mistral AI then confirms the exact scope set before tenant approval.

Use your own Microsoft Entra application

Use your own Microsoft Entra application

i
Information

Coming soon. You can't bring your own Entra application to the built-in Microsoft Connectors yet: they authenticate through the Mistral AI application, and Vibe doesn't expose fields for your own client credentials. The sections below describe the flow as it will work when the feature is available.

By default, the Microsoft Connectors authenticate through the Mistral AI Microsoft Entra application. To control the consent screen, scopes, and access policies yourself, register an application in your own Microsoft Entra tenant.

Before you start, make sure that you have the Application Administrator or Cloud Application Administrator role in Microsoft Entra ID. Both roles can register applications and grant tenant-wide admin consent for delegated Microsoft Graph permissions.

1. Register the application

  1. In the Microsoft Entra admin center, go to Identity > Applications > App registrations and click New registration.
  2. Enter a Name (for example, Vibe Connectors) and select a Supported account type:
    • Accounts in this organizational directory only (recommended): single tenant. Only users in your tenant can connect, and you don't need publisher verification.
    • Accounts in any organizational directory: multitenant, subject to the publisher verification requirements.
  3. Click Register and copy the Application (client) ID.

2. Add the redirect URI

Warning

The redirect URI domain depends on your Vibe deployment. On a Mistral-managed deployment (for example, a private cloud) or a self-hosted deployment, replace callback.mistral.ai with the domain of your deployment:

https://callback.<your-mistral-deployment-domain>/v1/integrations_auth/oauth2_callback
  1. In your app registration, go to Authentication > Add a platform > Web.

  2. Under Redirect URIs, enter the following URI exactly:

    https://callback.mistral.ai/v1/integrations_auth/oauth2_callback
  3. Click Configure.

3. Add the delegated permissions

  1. Go to API permissions > Add a permission > Microsoft Graph > Delegated permissions.

  2. Add the permissions of the services that you plan to connect:

    offline_access
    User.Read
    Mail.ReadWrite
    Mail.Read.Shared
    Calendars.ReadWrite
    MailboxSettings.Read
    Files.ReadWrite.All
    Sites.ReadWrite.All
    InformationProtectionPolicy.Read
    Team.ReadBasic.All
    Channel.ReadBasic.All
    ChannelMessage.Read.All
    ChannelMessage.Send
    Chat.Read
    ChatMessage.Send
    TeamMember.Read.All
  3. Click Grant admin consent for {your tenant} so that users don't get a consent prompt. Microsoft requires administrator consent for ChannelMessage.Read.All and TeamMember.Read.All.

4. Create a client secret

  1. Go to Certificates & secrets > Client secrets and click New client secret.
  2. Select an expiry and click Add.
  3. Copy the Value of the secret immediately.
Warning

Microsoft shows the client secret value only once. Store it in a secret manager and track its expiry date: Vibe loses access when the secret expires. To avoid downtime, add a new secret before you revoke the old one.

5. Connect with your application

To use your application, enter the Application (client) ID and the client secret value when you configure the Microsoft Connectors in Vibe, then connect your account. The Microsoft consent screen shows your application name instead of Mistral AI. If your tenant blocks user consent, an administrator still needs to approve the application once.

Publisher verification for multitenant apps

Publisher verification for multitenant apps

A single-tenant application only works inside your tenant and needs no further validation from Microsoft. For a multitenant application that requests Microsoft Graph permissions from other organizations, we recommend publisher verification. To mark the app as a verified publisher on the consent screen, link a Microsoft Partner Center account with a verified Microsoft AI Cloud Partner Program ID. Microsoft recommends that tenants allow user consent only for apps from verified publishers, so an unverified multitenant app can require administrator approval in many organizations.

Troubleshooting

Troubleshooting

The following table lists common errors when users connect a Microsoft service:

ErrorFix
AADSTS50011The redirect URI doesn't match. Check that it matches exactly, with no trailing slash.
AADSTS700016Microsoft can't find the application in the tenant. If you use your own application, connect with an account from the tenant of your app registration.
AADSTS65001The user or administrator hasn't consented. Grant admin consent or adjust the user consent settings.
AADSTS90094 or Need admin approvalThe tenant blocks user consent, or a scope requires administrator consent.
AADSTS50020The account isn't a Microsoft Entra ID work or school account. Vibe doesn't support personal accounts.
AADSTS53003 or AADSTS50076A Conditional Access policy or a multifactor authentication requirement blocked the sign-in. Review the policy and its exclusions.
401 Unauthorized on Graph callsReconnect the account in Vibe to refresh the granted scopes.
429 Too Many RequestsMicrosoft throttles the requests. Wait and retry.
Access denied on a SharePoint writeThe user lacks the underlying rights, or the tenant requires read-only consent. Ask your administrator.

Vibe follows a strict consent model:

  1. OAuth consent: Users authenticate directly with Microsoft Entra ID and see exactly which permissions Vibe requests before they grant access. The Microsoft Connectors share the consent granted to the application.
  2. Per-action approval: Every write action (creating a draft, scheduling an event, posting a Teams message, writing a SharePoint file) requires the user's explicit approval in Vibe before it runs. Users can approve, decline, or pre-authorize specific actions. For more information, see Safety and approvals.
  3. Disconnect at any time: Users can revoke Vibe access from the Connectors page, and an administrator can revoke the consent of the application in the Microsoft Entra admin center. Disconnecting immediately stops all access.
Data handling and privacy

Data handling and privacy

  • Real-time Connectors (Outlook, Outlook Calendar, SharePoint, Teams): Vibe fetches data in real time for the current request and doesn't store it on our servers. The Microsoft Connectors create no search index of your Microsoft content. Returned content can remain in the conversation history, under the retention settings of the deployment.
  • No training: data accessed through Connectors is never used to train or fine-tune Mistral AI models, regardless of the user's plan.
  • European infrastructure: all data processing and storage occurs in Mistral AI's European data centers.
  • Encryption: all communication with Microsoft Graph uses TLS encryption in transit, and Vibe stores OAuth credentials in encrypted form.

For full details, see the Mistral AI Privacy Policy and Trust Center.

Microsoft APIs terms

Microsoft APIs terms

Vibe uses information received from Microsoft APIs and handles user data in accordance with the Microsoft APIs Terms of Use and the Microsoft Privacy Statement. Vibe requests only the delegated permissions that the documented features need, uses data only to fulfill the requests of the user, and never shares Microsoft data with third parties.