Forum Discussion
Guidance Needed: Syncing Appointments Between New Outlook and Web App via Outlook Add-in
Hello Community,
I need guidance on syncing appointments between New Outlook and our Web Application.
We have an Outlook Add-in where users log in using only their Web Application credentials. When an appointment is created from the add-in, we need it to:
- Create the appointment in the Web Application (via SOAP API).
- Create the same appointment in the user's Outlook calendar.
- Keep updates synchronized in both systems.
We previously achieved this using EWS in Classic Outlook, but EWS is not supported in New Outlook. We are now exploring Microsoft Graph API.
My understanding is that Graph API requires each Outlook user to be authenticated and authorized before calendar operations can be performed. We have thousands of users across different organizations, and we do not want to require every user to complete a separate Microsoft authentication flow or implement SSO.
Is my understanding correct about Microsoft Graph API functioning? If so, what is the recommended approach to create and synchronize Outlook calendar Appointment/Event from a New Outlook web Add-in while minimizing outlook user authentication requirements in Microsoft Graph API?
Note: We don't want to suggest every organization (and users in it) to implement SSO now (not sure if this is needed or forced or recommended.), to be able to use the application in Outlook and sync data.
So, I am looking for any previous experiences on who this is handled or what can we do differently.
Any suggestions or implementation experiences would be greatly appreciated.
Thank you in advance for your help.
Thanks & Regards,
SM
1 Reply
Your SOAP application's login does not authorize access to a Microsoft calendar. Graph requires a Microsoft access token with appropriate calendar permissions; hosting an add-in inside Outlook does not remove that requirement.
Separate creating the current appointment from ongoing synchronization. In appointment compose mode, Office.js can populate and save the current item with saveAsync, without making a Graph call. That does not provide background synchronization with your SOAP system.
For Graph access, consider a multitenant app registration and MSAL nested app authentication for supported work mailboxes. It can reuse the host's signed-in identity, reducing extra prompts, but consent and Conditional Access can still require interaction. Customers do not need a new external federation service just for this integration.
Put ongoing synchronization in an authorized backend: map the SOAP and Outlook event identifiers, process changes in both directions, and use Graph change notifications plus calendar-view delta queries for Outlook-side reconciliation.