Skip to main content

How to connect Microsoft Teams with Sally AI

Connect Sally AI with Microsoft Teams to share what came out of a meeting straight in your team's chat or channels. With the Sally Microsoft Teams integration you send action items and notes to Teams in one click, so nothing gets typed twice and everyone sees the same thing.

Quick navigation

  1. How to connect Microsoft Teams with Sally AI
  2. How to send insights to Microsoft Teams
  3. Required OAuth scopes

1. How to connect Microsoft Teams with Sally AI

Follow these steps to set up the Sally-Microsoft Teams integration.

  1. Open Settings at the bottom of the left sidebar.
Sally sidebar with the Settings entry highlighted at the bottom left
Figure 1: Open Settings
  1. Under Configuration, go to Integrations and click Discover integrations.
Sally integrations page with no integration connected and the Discover integrations button
Figure 2: Discover integrations
  1. Pick the Collaboration category on the left, then select Microsoft Teams. The search bar at the top takes you straight there as well.
Add integration dialog with the Collaboration category and the Microsoft Teams entry
Figure 3: Select Microsoft Teams from the list
  1. The panel on the right tells you what the integration transfers. Click Connect in the bottom right, then sign in with your Microsoft account.
  1. Once you have signed in, Microsoft Teams is connected. The Actions tab shows what Sally offers through this integration and lets you switch off individual actions for the organization account. Helper functions stay locked while an active action needs them, which is why some toggles cannot be moved. Disconnect in the top right ends the connection again.
Actions tab of the connected Microsoft Teams integration with the toggles for the primary actions
Figure 4: Control what the integration may do
Info

With a personal Microsoft account, only the chat message is available. A post in a channel needs a work, school, or university account, because channels belong to an organization in Microsoft 365. If a personal account is connected, that action cannot be used.

Microsoft distinguishes between two main account types:

  1. Microsoft account (personal): A personal account you use to access consumer services like Outlook.com, Xbox Live, or Microsoft Store. These accounts are usually linked to an email ending with @outlook.com, @hotmail.com, or similar.

  2. Work, school, or university account: An account provided by your organization (e.g. a company or educational institution) that gives access to Microsoft 365, Teams, OneDrive for Business, and other enterprise tools.

Whether an integration may be connected at all is up to owners and admins, see managing integrations for your users.


2. How to send insights to Microsoft Teams

Once Microsoft Teams is connected, a few clicks are enough to move content from a recording into Teams, either as a chat message to individual people or as a post in a channel.

The route is always the same: open the recording you need and click the Integrations icon. It sits at the top of every section and on every single line. Below it you find the two Microsoft Teams actions.

You can:

Both actions come prefilled with the content from the summary, and you can edit it before sending.

2.1. Create a chat message in Teams

Send a line from the summary to individual people as a chat message.

  1. Choose Create chat message in the Integrations menu.
Recording in Sally with the Integrations menu open and the Create chat message action highlighted
Figure 5: Choose Create chat message
  1. Under Recipients, pick the people who should receive the message. The field is mandatory, and the search lets you select several people.
  2. Check the content and click Send message.
Create chat message panel with the recipient search and the prefilled content
Figure 6: Pick recipients and send the message
Best practice

Use chat messages for direct, quick follow-ups with colleagues after meetings.


2.2. Create a post in Teams channel

Share a line from the summary as a post in a channel so the whole team sees the context.

  1. Choose Create post in channel in the Integrations menu.
Recording in Sally with the Integrations menu open and the Create post in channel action highlighted
Figure 7: Choose Create post in channel
  1. Under Team and Channel, pick where the post should go. Both fields are mandatory.
  2. Check the subject, which is mandatory as well, and the content. Both are prefilled and can be edited.
  3. Click Create post.
Create post in channel panel with the Team, Channel, Subject, and Content fields
Figure 8: Fill the fields and create the post
Best practice

Use channel posts to share decisions, next steps, or updates with the entire project team.


3. Required OAuth scopes

For the integration with Microsoft Teams, Sally uses OAuth 2.0 for authorization. The following scopes define which areas Sally can access on behalf of the authenticated user.

Technical overview of required scopes

Disclaimer
  1. Sally accesses this information solely to technically establish and maintain the connection to the user account.

  2. Sally does not make any autonomous changes. Actions are performed exclusively upon the explicit initiative of the user.

  3. API endpoints are only called within the scope of an active action initiated by the user within the platform.

ScopeTypeWhat Microsoft technically allows with this scopeHow Sally uses this scope
Channel.CreateDelegatedAPI permission to create channelsTechnically defined within the Microsoft Teams permission model. Sally does not create channels independently outside explicitly user-initiated actions.
Channel.ReadBasic.AllDelegatedRead basic channel informationPart of Microsoft's permission model. Sally reads basic information solely for display within the integration.
ChannelMessage.ReadWriteDelegatedRead and write channel messagesTechnically provided for integrations. Sally does not modify channel messages independently without explicit user action.
ChannelMessage.SendDelegatedSend messages in channelsPart of the OAuth model. Sally does not send channel messages independently outside explicitly user-initiated actions.
Chat.CreateDelegatedCreate chatsTechnically defined within the Teams API model. Sally does not create chats independently.
Chat.ReadWriteDelegatedRead and write chat messagesPart of the permission model. Sally does not modify chat conversations without explicit user action.
ChatMessage.ReadDelegatedRead chat messagesSally reads messages solely within the context of the active integration. No independent processing occurs outside user initiation.
ChatMessage.SendDelegatedSend chat messagesTechnically defined within Microsoft's API model. Sally does not send messages independently without explicit user action.
Contacts.ReadWrite.SharedDelegatedAPI permission for shared contactsPart of Microsoft's permission model. Sally does not modify contact data.
emailDelegatedAccess to the user's email addressSally reads the email address to uniquely identify the connected account.
Group-Conversation.ReadWrite.AllDelegatedRead and write group conversationsTechnically defined within the Microsoft 365 model. Sally does not independently interfere with group conversations.
Group.ReadWrite.AllDelegatedAPI permission for Microsoft 365 groupsPart of the permission model. Sally does not independently alter group structures.
offline_accessDelegatedIssuance of long-lived access tokensEnables a stable connection without repeated login. No Teams data is modified.
openidDelegatedOpenID Connect authenticationSecure authentication via Microsoft Identity.
profileDelegatedAccess to basic profile dataSally reads basic profile information to identify the authenticated account.
Team.ReadBasic.AllDelegatedRead basic team informationPart of the Microsoft Teams model. Sally reads basic information solely for display within the integration.
User.ReadDelegatedRead basic user informationSally reads basic account information for authentication purposes.
User.ReadBasic.AllDelegatedRead basic information of other usersSally reads this information solely for display within the integration.