Skip to content
Connections Architecture

Connections Architecture

This page explains how Playground connects to your third-party apps and to Microsoft 365. In every case the assistant acts as the signed-in user, and never with wider rights than that user has.

Scope

ConnectionAppsProtocolAccess
MCP connectorsHubSpot, Notion, Pennylane, Pipedrive, MondayThe provider’s own remote MCP serverRead and write; writes need the user’s approval unless they set the tool to Allow
Microsoft 365 toolsSharePoint, Outlook mail, Teams messages, Teams meeting transcriptsMicrosoft GraphRead only; Outlook can also create drafts
SharePoint data sourcesSharePoint sites chosen by your organisationMicrosoft Graph, background syncIndexed for search; results filtered by each user’s own permissions

Playground is an MCP client only: it connects to providers’ MCP servers and does not expose one of its own.

Architecture

MCP connectors

MCP connectors architecture

  1. Elqano enables each app for your organisation.
  2. The user connects an app from Settings → Connections and approves access on the provider’s own consent screen.
  3. On each message, Playground fetches the user’s current access token for that app.
  4. Playground lists the app’s tools and calls them through its tool policy.
  5. The AI model chooses which tool to call and writes the answer from the result.
  6. A call the provider does not mark read-only pauses on an approval card in the chat, unless the user has set that tool to Allow.

Microsoft 365

Microsoft 365 architecture

  1. The user signs in with Microsoft. Your Entra administrator consents to the permissions each capability needs.
  2. Each message carries the user’s delegated Microsoft Graph token.
  3. Tools call Microsoft Graph as the user, and only for the permissions that token holds. In Teams, the Teams token is exchanged on behalf of the user.
  4. A background sync reads the selected SharePoint sites with your organisation’s Entra app. Search results are checked against each user’s own SharePoint permissions.

Microsoft 365 permissions

Each capability is offered only when the user’s token holds all of its delegated permissions.

CapabilityDelegated Graph permissions
SharePointSites.Read.All (requested at sign-in)
Outlook mailMail.ReadWrite
Teams messagesChat.Read, ChannelMessage.Read.All, Team.ReadBasic.All, Channel.ReadBasic.All, Files.Read.All
Teams meeting transcriptsOnlineMeetingTranscript.Read.All, OnlineMeetings.Read, Calendars.Read, plus Graph access to transcripts in the Teams admin center (guide)

Note

Playground never requests Mail.Send. The assistant can prepare a draft, but only the user can send it, from Outlook.

Connection lifecycle

Connections are set up once and checked again on every message, so changes made in Playground take effect from the next message.

StepMCP connectorsMicrosoft 365
EnableElqano turns the app on for your organisationYour Entra administrator consents to each capability’s permissions
ConnectThe user approves the app’s OAuth consentThe user signs in with Microsoft
Each messagePlayground fetches the user’s token and lists the app’s toolsPlayground reads the permissions in the user’s token and offers the matching tools
DisconnectRemove access deletes the stored token and the user’s tool rulesRevoking consent in Entra removes the tools once the user’s Microsoft token is renewed

An MCP tool call

MCP tool call flow

Whether a call pauses for approval depends on whether the provider marks the tool as read-only, overridden by the user’s own Allow, Ask or Deny setting for that tool. Microsoft 365 tools have no approval step, because they only read data or create Outlook drafts that the user sends themselves.

Authentication

PathCredential
MCP connectorsThe user’s OAuth token for that app, held by Elqano’s identity broker and refreshed automatically
Microsoft 365, web appThe user’s delegated Graph token from Microsoft sign-in
Microsoft 365, Teams appThe Teams token, exchanged on behalf of the user for a Graph token
SharePoint syncYour organisation’s Entra app, with application permissions

Calls to the apps’ MCP servers and to Microsoft Graph use HTTPS. Permissions set at the provider always apply: Playground can narrow them, never widen them.

Data flow

Apart from SharePoint data sources, Playground fetches data when a tool is called and does not copy your apps’ data.

DataDirectionStored in
Tool call argumentsPlayground → app or Microsoft GraphThe conversation
Tool results (records, mail, messages, transcripts, files)App or Microsoft Graph → Playground → AI modelThe conversation
Documents from selected SharePoint sitesMicrosoft Graph → PlaygroundThe search index
Per-tool rulesUser → PlaygroundThe application database

See Data Security & Management for where these stores run and how long data is kept.

Key security decisions

DecisionWhy
The user approves every MCP call that is not marked read-only, unless they have set that tool to AllowOAuth consent says what the assistant may do, not what the user intends; third-party content can contain instructions
Each tool can be set to Allow, Ask or Deny, one tool at a timeThe user, not the provider, has the last word; there is no bulk grant
Provider tools and parameters that would send conversation content to the provider are blockedYour conversations stay in Playground
Provider tool descriptions cannot replace Playground’s approval stepA provider’s text cannot remove the user’s confirmation
Microsoft 365 tools use delegated access only, and none takes another user or mailbox as inputThe assistant reaches only what the signed-in user can open
Outlook is limited to drafts; Teams is read-onlyNothing is sent in the user’s name without them
Microsoft 365 tools follow the permissions in the user’s current tokenRevoking consent in Entra removes them once that token is renewed
A SharePoint search result is shown only after Microsoft Graph confirms the user can open itThe index is built with application permissions, so each result is filtered per user
Connections and tool rules are scoped to the organisation and the userOne user’s connections are never used for another

Reliability

  • If an app is unavailable or its token cannot be refreshed, only that app’s tools are skipped; the conversation continues, and Settings shows Access expired.
  • Throttled Microsoft Graph requests are retried after the delay Microsoft asks for. A request that creates an Outlook draft is retried only when Microsoft refused it without running it, so a retry cannot create a second draft.
  • If your tenant has not enabled Graph access to Teams transcripts, the assistant says so instead of retrying.
  • A pending approval stays in the conversation, so the user can answer it later.