Skip to main content

How to connect Outlook Calendar with Sally AI

Once your Outlook Calendar is connected, Sally can read your meetings and, with automated meeting attendance, join them without a separate invitation.

After a successful integration, all your scheduled meetings show up directly in Sally.

The integration list holds four entries for this:

  • Outlook Calendar (Microsoft 365 / Exchange Online) for work, school and university accounts managed through Microsoft 365.
  • Outlook Calendar (Personal Microsoft Account / Exchange Online) for private Microsoft accounts such as Outlook.com, Hotmail, or Live.
  • Outlook Calendar (Exchange On-Premise) for organizations running their own Exchange server, connected over EWS with your server details.
  • Microsoft 365 Rooms for the room calendars in your Microsoft 365 tenant. You sign in with the Microsoft account that holds the rooms.

Quick navigation

  1. Outlook Calendar (Microsoft 365 / Exchange Online)
  2. Outlook Calendar (Personal Microsoft Account / Exchange Online)
  3. Outlook Calendar (Exchange On-Premise)
  4. Microsoft 365 Rooms

1. Connect Outlook Calendar (Microsoft 365 / Exchange Online)

Info

Here you sign in with a work, school, or university account (Microsoft 365 / Azure AD). This option is intended for organizational environments where Outlook is managed through Microsoft 365.

  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, select Integrations and click Discover integrations.
Sally integrations page with no connected integration and the Discover integrations button
Figure 2: Discover integrations
  1. Pick Outlook Calendar (Microsoft 365 / Exchange Online) from the Calendar section of the list.
List of all available integrations with the Outlook Calendar entry for Microsoft 365 and Exchange Online highlighted
Figure 3: Select Outlook Calendar for Microsoft 365
  1. The panel describes the integration and notes that every member connects their own account. Click Connect in the bottom right corner.
Detail view of the Outlook Calendar integration for Microsoft 365 with the Connect button highlighted
Figure 4: Start the connection
  1. Sign in with your work, school, or university account and grant the required permissions.
Info

When connecting an Outlook calendar for the first time, an admin login is required to approve the Sally app for the tenant. After that, everyone else connects their calendar normally.

  1. (Optional) Open the Calendars tab of the connected integration. Under Sync settings you get two toggles:
    • Sync private appointments: enable it if you want Sally to sync your private appointments as well.
    • Only sync online meetings: enable it if you only want to sync appointments that carry an online meeting link, for example Microsoft Teams, Google Meet, or Zoom.

Below that, Synced calendars lists every calendar you have access to, and Last synced tells you when Sally last fetched the appointments. Your main calendar is marked as Primary calendar, and you can add further calendars one by one. Up to five calendars can be synchronized in parallel per connection. Use Disconnect in the top right corner to remove the integration again.

Calendars tab of the connected integration with the sync settings and the synced calendars
Figure 5: Set up the synchronization
  1. Once connected, your Outlook appointments appear in Sally.
Sally appointment view with the appointments synced from Outlook Calendar
Figure 6: Your appointments appear in Sally
Info

Synchronization may take a few minutes. If nothing shows up yet, reload Sally.

1.1 Technical OAuth permissions for work accounts (Microsoft 365 / Azure AD)

For the integration with Outlook Calendar (Microsoft 365 / Exchange Online), Sally uses OAuth 2.0 for authorization.
The following scopes define which areas Sally may access on behalf of the signed-in user.

Disclaimer
  1. Sally only reads this information to technically establish and maintain the connection to the user account.

  2. Sally does not perform any independent changes. Actions are only executed based on explicit user interaction.

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

Technical overview of the required scopes

ScopeTypeWhat Microsoft technically allowsHow Sally uses this scope
offline_accessDelegatedIssues a long-lived access tokenSally stores an access token to maintain the connection. No calendar data is modified.
openidDelegatedOpenID Connect identity verificationSally reads the unique user ID to correctly authenticate the account.
profileDelegatedAccess to basic profile dataSally reads basic profile information (e.g. display name) to identify the signed-in account.
User.ReadDelegatedRead basic user informationSally reads basic information of the signed-in user for authentication. No changes are made to the account.
Calendars.ReadWrite.SharedDelegatedAPI permission for calendar accessThis scope is technically required for Microsoft to allow the calendar integration. Sally does not create, modify, or delete calendar events.
Contacts.ReadWrite.SharedDelegatedAPI permission for contact accessPart of Microsoft's permission model. Sally does not read contact lists or modify contact data.
OnlineMeetings.ReadWriteDelegatedAPI permission for online meeting resourcesTechnically required by Microsoft for calendar integration. Sally does not create or modify online meetings.

Whether a calendar may be connected at all is up to owners and admins, see managing calendars for your users.


2. Connect Outlook Calendar (Personal Microsoft Account / Exchange Online)

Info

Here you sign in with a personal Microsoft account (e.g. Outlook.com, Hotmail, Live). This option is intended for private Outlook accounts.

  1. Open Settings at the bottom of the left sidebar.
Sally sidebar with the Settings entry highlighted at the bottom left
Figure 7: Open Settings
  1. Under Configuration, select Integrations and click Discover integrations.
Sally integrations page with no connected integration and the Discover integrations button
Figure 8: Discover integrations
  1. Pick Outlook Calendar (Personal Microsoft Account / Exchange Online) from the Calendar section of the list.
List of all available integrations with the Outlook Calendar entry for a personal Microsoft account highlighted
Figure 9: Select Outlook Calendar for a personal account
  1. The panel describes the integration and notes that every member connects their own account. Click Connect in the bottom right corner.
Detail view of the Outlook Calendar integration for a personal Microsoft account with the Connect button highlighted
Figure 10: Start the connection
  1. Sign in with your personal Microsoft account and grant the required permissions.

  2. (Optional) In the Calendars tab of the connected integration, set whether private appointments and online meetings only are synced, and pick the calendars Sally should include, just as described above.

Calendars tab of the connection with a personal Microsoft account showing the sync settings and the synced calendars
Figure 11: Set up the synchronization
  1. Once connected, your Outlook appointments appear in Sally.
Sally appointment view with the appointments synced from the personal Outlook Calendar
Figure 12: Your appointments appear in Sally
Info

Synchronization may take a few minutes. If nothing shows up yet, reload Sally.

2.1 Technical OAuth permissions for personal Microsoft accounts

For the integration with Outlook Calendar (personal Microsoft account), Sally also uses OAuth 2.0.
The following scopes define which areas Sally may access on behalf of the signed-in user.

Disclaimer
  1. Sally only reads this information to technically establish and maintain the connection to the user account.

  2. Sally does not perform any independent changes. Actions are only executed based on explicit user interaction.

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

Technical overview of the required scopes

ScopeTypeWhat Microsoft technically allowsHow Sally uses this scope
emailDelegatedAccess to the user's email addressSally reads the email address to uniquely identify the account.
offline_accessDelegatedIssues a long-lived access tokenSally stores an access token to maintain the connection.
openidDelegatedOpenID Connect identity verificationSally uses this scope to securely authenticate the account.
User.ReadDelegatedRead basic user informationSally reads basic information of the signed-in user for authentication.
Calendars.ReadWriteDelegatedAPI access to calendar dataThis scope is technically required for the calendar integration. Sally does not independently modify calendar events.
Contacts.ReadWriteDelegatedAPI access to contact dataPart of Microsoft's permission model. Sally does not read contact lists or modify contact data.

3. Connect Outlook Calendar (Exchange On-Premise)

For this connection, Sally reaches your Exchange server from the outside. So check with your IT beforehand whether Sally's fixed IP addresses are allowed through the firewall.

  1. Open Settings at the bottom of the left sidebar.
Sally sidebar with the Settings entry highlighted at the bottom left
Figure 13: Open Settings
  1. Under Configuration, select Integrations and click Discover integrations.
Sally integrations page with no connected integration and the Discover integrations button
Figure 14: Discover integrations
  1. Pick Outlook Calendar (Exchange On-Premise) from the Calendar section of the list.
List of all available integrations with the Outlook Calendar entry for Exchange On-Premise highlighted
Figure 15: Select Outlook Calendar for Exchange On-Premise
  1. Click Connect in the bottom right corner of the panel.
Detail view of the Outlook Calendar integration for Exchange On-Premise with the Connect button highlighted
Figure 16: Start the connection
  1. The Connect Exchange Server dialog asks for the details of the EWS connection. Fill them in and click Connect:
    • Username, either as domain\user or as user@domain.com
    • Password
    • EWS service URL
    • Exchange version, preset to Exchange2016
Connect Exchange Server dialog with username, password, EWS service URL and Exchange version
Figure 17: Enter the server details
Example: EWS service URL

An EWS service URL often looks like this: https://mail.yourcompany.com/EWS/Exchange.asmx

You usually receive this information from your internal IT department.

  1. (Optional) Open the Calendars tab of the connected integration. There you decide with Sync private appointments and Only sync online meetings what Sally picks up, and you add individual calendars under Synced calendars. Up to five calendars can be synchronized in parallel per connection.
Calendars tab of the connected Exchange On-Premise integration with the sync settings and the synced calendars
Figure 18: Set up the synchronization for your own Exchange server
  1. Once connected, your Outlook On-Premise appointments appear in Sally.
Sally appointment view with the appointments synced from the Exchange On-Premise calendar
Figure 19: Your appointments appear in Sally
Info

Synchronization may take a few minutes. If nothing shows up yet, reload Sally.

3.1 Which IP addresses does Sally use to reach your Exchange server?

Sally reaches your Exchange server exclusively from the following three fixed IPv4 addresses. For the connection to work, they need to be allowed in your firewall.

AddressWhat it is used for
167.233.210.254Setting up the connection and configuring the integration
167.235.234.62Setting up the connection and configuring the integration
46.225.144.3The ongoing calendar sync

Allow all three, then both the setup and the ongoing sync work. Access runs over HTTPS on port 443 to your EWS endpoint.

The addresses stay the same

Sally runs on its own infrastructure in Germany, in the Falkenstein data centre operated by Hetzner. The three addresses are static and do not change, so you can allow them in your firewall permanently.


4. Connect Microsoft 365 Rooms

In addition to personal calendars, Sally can also sync Microsoft 365 room calendars. This is useful if you regularly book meeting rooms and want Sally to automatically pick up appointments scheduled in those rooms.

Who has to sign in here

Room calendars belong to the Microsoft account that holds the rooms, usually an account with superadmin rights. For Sally to get the room information, that account has to sign in inside your Sally account.

The superadmin either does that at your account directly, or they impersonate you and set the connection up for you.

One sign-in does not cover everyone: every member who wants to see room appointments in Sally connects the room calendars individually, with the same Microsoft account.

Info

Room calendars are loaded directly from your Microsoft 365 tenant. Up to 5 rooms can be synchronized in parallel per connection. Admin consent for the Sally app in your tenant is part of the setup.

  1. Open Settings at the bottom of the left sidebar.
Sally sidebar with the Settings entry highlighted at the bottom left
Figure 20: Open Settings
  1. Under Configuration, select Integrations and click Discover integrations.
Sally integrations page with no connected integration and the Discover integrations button
Figure 21: Discover integrations
  1. Pick Microsoft 365 Rooms from the Calendar section of the list.
List of all available integrations with the Microsoft 365 Rooms entry highlighted
Figure 22: Select Microsoft 365 Rooms
  1. Click Connect in the bottom right corner of the panel and sign in with the Microsoft account that holds the rooms. Grant the required permissions there so Sally may read the room mailboxes.
Detail view of the Microsoft 365 Rooms integration with the Connect button highlighted
Figure 23: Start the connection
  1. Open the Calendars tab of the connected integration. Under Configure room calendars you get every room in your tenant with its mailbox and the number of seats. Switch on Active for each room whose appointments Sally should pick up. Search rooms helps you find a specific one, and up to five rooms can be synchronized in parallel per connection.
Calendars tab of the Microsoft 365 Rooms integration with the room list and the Active switch turned on
Figure 24: Activate rooms for the synchronization

The tenant the connection belongs to sits at the top of the section, and Disconnect removes it again.

  1. The activated room calendars are synchronized and their appointments appear in Sally just like personal calendar events.
Sally appointment view with the appointments synced from the Microsoft 365 room calendars
Figure 25: The room appointments appear in Sally

4.1 Technical Microsoft Graph permissions for room calendars

Connecting room calendars requires extended Application Permissions on Microsoft Graph. These are granted once by a Microsoft 365 tenant administrator via Admin Consent.

Disclaimer

Read-only: Sally never writes back into the room calendars, neither appointments, attendees, nor locations.

Consent: Granted once by a Microsoft 365 tenant administrator via Admin Consent. The connection itself is created by each member in their own account, after which token refresh and webhook reconciliation run fully automatically.

Application permissions on Microsoft Graph

PermissionWhat Sally needs it for
Calendars.ReadRead all appointments in the connected room mailboxes, including hybrid meetings (on-site + remote) and meetings where no Sally user is invited. Updates and cancellations are propagated via Microsoft Graph webhooks within seconds.
Place.Read.AllList the available rooms of the tenant from the Places Directory (/places/microsoft.graph.room), so the rooms to synchronize can be picked in Sally with a switch.

Once connected, you can set whether and when Sally should automatically join your meetings.