Configuring Outlook Calendar sync
With Outlook Synchronization, all employees can sync their working schedule with their Outlook Calendar. Each booked appointment will be created in their Outlook calendar and events created in Outlook Calendar will restrict customers from booking appointments in the same time and risking overlapping of the appointments.
Setting up the Client ID and Client Secret
Before you can integrate with Outlook Calendars, you must set a couple of settings and the most important of them are "Client ID" and "Client Secret".
To setup "Client ID" and "Client Secret" go to the Azure portal https://portal.azure.com/#home and under the Azure services find and choose "Azure Active Directory" (if you cannot find it in the first row, click on the "More services" option on the right side and find it).
Once you opened the "Azure Active Directory" choose "App registrations" from the menu on the left side and once it opens click on the "New registration" above (take a look at the picture to find these options).
In the "Register an Application" window:
- enter the name for your app,
- in the "Who can use this application or access this API?" check the last option "Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)",
- In Redirect URI choose "Web" and paste the Redirect URI that you have added in the Outlook Integration Settings on the back-end of your website. (https://your-domain.com/wp-admin)
- Once you've done all this click "Register" and the application will be created.
Your created application will open right away and under the application name you will see "Application (client) ID". Copy this ID and paste it into the field in our Outlook Integration Settings.
Once you've done this, choose "Certificates & Secrets" in the left menu and click on the "New Client Secret".
Add a description and choose "Never" in the Expires part. Once you've done click on the "Add" option and your client secret will be created. (Azure update: 2 years is now the latest you can select).
Copy the Value of the client secret right away and paste it into the "Client Secret" field in the Outlook Integration Settings. (Very important: Make sure you copy the right client secret. It should be the value and NOT the client secret id.)
Now that you are done with creating Client ID and Client Secret we can start with other options.
This is the path in your application that users are redirected to after
they have authenticated with Outlook. Add this URI in your Outlook
application under "Redirect URIs".
The Redirect URI needs to be exact. If there is a trailing slash then you will run into a problem.
Here you can configure the title of the event that will be displayed in the Outlook Calendar. This option works with placeholders from the Notifications page so to set the title you will need to copy placeholders from the notifications page and paste them here. You will find these placeholders once you click on the </> Show Email Placeholders on the Notifications page.
Here you can configure the description of the event that will be displayed in the Outlook Calendar. This option works with placeholders from the Notifications page so to have information you want here, you will need to copy placeholders from the notifications page and paste them here. You will find these placeholders once you click on the </> Show Email Placeholders on the Notifications page.
Insert Pending Appointments
When this option is enabled, appointments with ‘Pending' status will be added to employee's Outlook Calendar. By default, option is disabled which means that only appointments with ‘Approved' status will be added to the Outlook Calendar.
Add Event's Attendees
Enable this option if you want your employees to see customers that attend the appointment in the Outlook event. You can share an event with customers by adding them as attendees. This places the event on their calendar.
Customers will not be able to see other attendees of the same appointment in Outlook calendar.
Remove Outlook Calendar Busy Slots
Enable this option if you want to remove the time slots of the Busy events in your employees' Outlook Calendars from their work schedules. When enabled, time slots in the Calendar will be removed whenever there is a Busy event in the Outlook Calendar.
Include Buffer time in Outlook events
This option is made for you to choose if the buffer times that you add for each service will be added in the Outlook events. If you enable it, the buffer times for scheduled appointments will be added together with the appointment in employee's Outlook Calendar preventing the employee to add an event to the Outlook that would overlap his buffer time of the appointment scheduled.
Maximum Number Of Events Returned
Here you can set the maximum number of events that will be returned from your employees' Outlook Calendar into your website calendar. These events will not be visible as they only affect the available time slots in the website calendar.
Check "Insert Pending Appointments".
Check "Remove Outlook Calendar Busy Slots". Even if this is checked you need to make sure the default for events is set to "Busy" in the Outlook Calendar, otherwise, it will not block times.
Maximum Number Of Events Returned: 999
Connect employees with their Outlook accounts
Once you've completed these settings, there's one more thing to set on the employees' side. Each employee should log in and connect to their Outlook calendar for the synchronization to work. All they need to do is to open the Employee dialog and click on the button beside the Outlook Calendar option. They will then be redirected to choose their Outlook Account. Once they have chosen it, they will be returned to their profile in your website with the selected Outlook Calendar email (if the account is successfully connected the button should change the color from blue to red. It should also show you the Calendar in the dropdown).
If you did everything right then "Outlook Calendar" should display a Calendar within the dropdown next to the sign-out button. If it is empty then something is wrong even if the button has turned red.