10  Microsoft Teams Connector

Microsoft Teams in the current customer flow is a personal live connection. Each member connects their own Microsoft account, and the assistant answers from that member’s own Teams view at request time. Nous does not index Teams content.

10.1 What is indexed or searched live

Teams messages are searched live. Nothing is copied into the workspace search index, Knowledge Search, or document sets. The assistant can search the member’s chats and the messages of the team channels the member can already see in Teams. Without keywords, the recency listing returns the member’s recent chats only; channel answers need a keyword query. Attachments and photos are not fetched. Each member who needs Teams answers connects their own account from the connector catalog.

10.2 Administrator role and authentication

Sophea manages the Microsoft OAuth app. The member authorizes the personal connection. A Microsoft 365 administrator may need to grant tenant consent for the application, because the Teams message permissions (ChannelMessage.Read.All, Chat.Read) require admin consent in most tenants. The member can only ever read what their own Microsoft identity can already open in Teams.

The standard delegated grant requests the following Microsoft Graph scopes, plus offline sign-in scopes. You do not create an app registration for the standard customer path.

Scope Why Nous requests it
User.Read Sign in and read the connecting profile.
Team.ReadBasic.All Resolve the Teams the member belongs to for live search.
Channel.ReadBasic.All Resolve channels inside each Team for live search.
ChannelMessage.Read.All Search live the channel messages the member can read. Requires Microsoft tenant admin consent.
Chat.Read List and read the member’s own chats for live search.

10.3 Provider setup and permissions

Ask a Microsoft 365 or Teams administrator to review the requested Graph permissions. Grant tenant consent when the admin-consent screen requires it. There is no admin-side source scope to pick: a personal connection always follows the connecting member’s own Teams visibility. A connected member can narrow it from the setup page: All chats and channels (the default) or Selected chats and channels with individual picks. The choice only restricts what the assistant may read; reconnecting keeps it, disconnecting and connecting again resets it to All.

ChannelMessage.Read.All is a delegated scope but requires Microsoft tenant admin consent. A Microsoft 365 administrator can grant tenant-wide consent directly through the admin-consent endpoint:

https://login.microsoftonline.com/{tenant}/v2.0/adminconsent?client_id={client_id}&redirect_uri={connector oauth callback url}&state=adminconsent

Replace the placeholders with the Microsoft tenant id or domain, the Sophea OAuth app client id, and the connector OAuth callback URL shown in Portal.

10.4 Setup form fields

Besides the Connect, Reconnect, and Disconnect actions, the personal setup shows the chat and channel scope choice right after the account connects, and the connection’s detail page shows the same choice later: All chats and channels (default) or Selected chats and channels with individual checkboxes. The member selects the account in the Microsoft consent flow. There is no workspace access or refresh setting for this personal connection.

10.5 Workspace and Team access

Workspace and Team access do not apply. The connection belongs to one member. Other members must connect their own Microsoft accounts. Workspace admins cannot make a personal Teams connection public or add it to a document set.

10.6 Test the connection

  1. Ask a question whose answer exists only in the member’s Teams chats, and a second question with keywords that match a channel conversation.
  2. Confirm that the answer cites live Teams messages with openable links.
  3. Confirm that the messages do not appear in Knowledge Search or a document set.
  4. Disconnect the member account and confirm that live search no longer returns Teams content.

10.7 Common errors

Error Action
Admin approval is required Ask a Microsoft 365 administrator to grant consent for the listed Graph permissions.
Chat answers work but channel answers are empty Channel results need a keyword query; the recency listing covers chats only.
Messages are missing Confirm that the member can open the chat or channel in Teams, then reconnect.
Consent changed or expired Use Reconnect to refresh the grant.

10.8 Reconnect, rotate, and remove

Use Reconnect after an admin-consent change or an expired grant. To change accounts, disconnect the old account first. Sophea manages the OAuth app rotation. Disconnect revokes the supported grant and removes the local personal connection.

10.9 Official provider documentation