Using BusyCal with Office 365 (Microsoft Graph)
Currently in Beta. In our continuous effort to enhance BusyCal's connectivity and feature set, we have transitioned our syncing mechanism for Office 365 accounts to utilize Microsoft Graph API, Microsoft's latest sync offering.
Why the Change? Microsoft Graph represents the next generation in Microsoft's cloud services, offering broader capabilities and better security than its predecessor, Exchange Web Services (EWS). This change comes in anticipation of Microsoft's announcement to end support for Exchange Web Services (EWS) in 2025. By adopting Microsoft Graph, BusyCal ensures continued compatibility with Office 365 and Outlook.
What's Different? While the core functionality of syncing calendars, events and tasks remains the same, Microsoft Graph enables enhanced performance and compatibility with Outlook and its newest offerings, such as receiving updates from Microsoft Bookings and creating one-click conference calls with Microsoft Teams, features that are otherwise not available via EWS.
For more details, please explore the following:
- Personal Outlook
- Syncing Calendars and Tasks
- Resources
- Microsoft Teams Integration
- Understanding Microsoft Graph Limitations
- Troubleshooting
Personal Outlook
When it comes to personal Outlook accounts, including those on outlook.com, hotmail.com, and similar non-enterprise services, the integration process is slightly distinct. Microsoft has phased out basic authentication methods (such as passwords) for these accounts in favor of more secure authentication protocols. This change aims to enhance security for personal users by reducing the reliance on passwords, which are vulnerable to various security threats. As a result, BusyCal's connection to personal Outlook accounts leverages modern authentication techniques, ensuring a secure and streamlined experience for managing your calendars and tasks. This adjustment ensures that personal Outlook accounts benefit from the same robust Microsoft Graph connectivity as enterprise accounts.
Syncing Calendars and Tasks
To sync BusyCal with your Office 365 account via Microsoft Graph, follow these steps:
- Open BusyCal > Settings > Accounts.
- Click the + (plus) icon to add a new account.
- Select Office 365 (Microsoft Graph) from the Server Type menu, enter your email address, then click OK.
- Follow any additional prompts to complete the setup. Once configured, BusyCal will begin syncing with your Office 365 account via Microsoft Graph.
Important: In case you're prompted to provide Admin Consent during the authentication process, you would need to reach out to your Office 365 admin and ask them to grant BusyCal permission to connect to your account. We have detailed instructions on how to grant BusyCal acceess using the Azure Portal.
Resources
Conference Rooms / Printers and other resources on an Microsoft Graph / Exchange server can be added to events in BusyCal as an attendee. Simply typing in the name of the resource will auto-complete the resource name for you. You can then click on the "Available Meeting Times" option to open the Availability Viewer.
Microsoft Teams Conference Calls
With version 2023.1.3 and above, you can add one-click Teams meetings to events / invitations. Simply open BusyCal Settings > Info Panel and make sure you have checked the Microsoft Teams option to show. You should now see a Add Meeting button appear in the Info Panel when editing events. Clicking on this button will automatically create a conference call (using Teams) and add it to the event.
Please be aware that this functionality is contingent on specific account settings. It is available for Enterprise Office 365 accounts that have not restricted Teams access via the Office 365 Portal. Additionally, the visibility of this feature depends on the absence of administrative restrictions on your calendar. For those using Personal Outlook accounts, look for the Add Skype call option instead, allowing for easy incorporation of Skype calls into your events.
After clicking on the Add Meeting button, a meeting is automatically added for you during the next time the app performs syncs.
Understanding Microsoft Graph Limitations
While the Microsoft Graph API represents Microsoft's latest offerings, it continues to evolve. It offers significant improvements over Exchange Web Services (EWS) across several fronts, including better security, more flexibility, and broader feature support. However, the transition towards fully adopting Microsoft Graph in place of EWS is still underway and you may find a few differences. The most glaring worth mentioning:
- Some secondary calendars created a long time ago on Exchange (and still visible via EWS) will not be available via Microsoft Graph. Overall however, you should see the same calendars in BusyCal that you do in Outlook, for instance.
- Due to the highly granular permissions model of the Graph API, BusyCal currently cannot manage and configure shared calendars. You should be able to configure settings under Outlook and these should sync over to BusyCal
Other limitations in Microsoft Graph reflect broader constraints inherent in "Microsoft Exchange" as a platform (which were also present in EWS):
Due Times not supported for Tasks
Exchange / Office 365 (also known as Microsoft To Dos) do not support due times. You can only assign due dates to tasks.
Sharing Secondary Calendars
To share a secondary calendar with someone (in Outloook), you must also share your primary calendar with them, with at least Availability access. Once you’ve granted someone Availability access or higher to your primary calendar, you can share secondary calendars with them.
Free/Busy Availability Viewer
Only events on your primary calendar affect your availability. Events stored on secondary calendars do not affect your availability and do not appear in the Availability Viewer as blocking your free time.
Floating Times
Floating Times are not supported by Exchange. If you create an event in floating time in BusyCal, it appears in GMT time in other apps.
Alarms
- Exchange allows only one alarm per event.
- Exchange does not allow Alarms to trigger after an event's start time. If you create an alarm that triggers after the start of an event, it is converted to an “At start” alarm after syncing with Exchange.
Repeating Events
- If you create a repeating event with a recurrence rule that is illegal on Exchange, it is modified during syncing to be compatible with Exchange and your local copy is updated to match Exchange.
- Exchange doesn’t allow detached events (or alarms) to overlap the next/previous occurrence of the event.
- Exchange doesn’t allow "undoing" the cancellation or deletion of particular occurrences. If you delete an occurrence in BusyCal and perform undo, Exchange will revert the change during sync.
Attachments
- Attachments are currently only supported for Events. Support for attachments for Tasks is coming soon.
Public Calendars / Folders
- There does not seem to be a way to explore and subscribe to public calendars / folders at the moment.
Troubleshooting
If you are unable to connect to your account or you're being prompted for Admin Consent, you would need to reach out to your Office 365 admin and ask them to grant BusyCal permission to connect to your account. We have detailed instructions on how to grant BusyCal acceess using the Azure Portal.
microsoft teams, teams, ms teams, graph, msgrpah, ms graph, microsoft graph, teams conference call, team, team call, add team, insert team, create teams meeting, teams meeting, office365, office 365, hotmail, outlook