Authenticate your connected calendar
Table of Contents
Only reference this training guide if your Company or Account Admin wants users to individually authenticate their own calendars.
If your company uses Office 365 and is not utilizing a global integration method, then you may be asked to authenticate your own calendar in the CEM. Follow the steps listed in this guide to authenticate your calendar.
Step #1: Create a Paradox Application
There are two ways that the Paradox application can be created and managed within your Azure environment.
Option #1: Paradox Default Application
Through the application consent process, we can connect your tenant to the Paradox Default application. This is a preconfigured application that can be added to your tenant through the OAuth consent of the Service Account user.
This typically requires an Azure global admin to consent to adding the application to the environment.
Option #2: Managed application (Registering an application in Azure)
If you prefer to manage your own application in your environment, that is something that can be accomplished. In order to manage a custom application, register an Enterprise Application within Azure.
- Add the following redirect URIs when registering the application. Note: Redirect URLs may need to be customized if the client is on their own instance of Paradox.
- In a Test, QA, or Staging environment: https://stg.paradox.ai/user/outlook-oauth2
- In production: https://olivia.paradox.ai/user/outlook-oauth2
- Provide the following registered application details to Paradox (with example):
- App ID: 1a058ccb-060a-432c-bf65-f226317306f3
- Tenant ID: 99bbf8d0-600c-4b78-af67-00ca10a47742
-
Secret Key: yiX4Omm~6~Mu6I5fS3QV~39hHGX_x_sWws
- In addition to this, please provide the timing that you configured for the secret key expiration
We will maintain the integration for Staging and Production environments for the duration of the engagement to ensure the ability for ongoing testing.
Step #2: Agree to the required permissions
The following permissions are utilized for the Paradox Interview Scheduling Application. If you choose to register an application, the permissions below will need to be added to the registered application.
Note: All permissions granted are Delegated permissions for the Microsoft Graph API.
-
Calendar.Read
- Used to read the Free/Busy data of the connected user’s calendar. This permission is the least privileged calendar permission available to get Free/Busy data.
- Link to Microsoft Documentation
-
MailboxSettings.Read
- Used to identify and set the appropriate time zone for the connected user in the Paradox environment.
- Link to Microsoft Documentation
- Offline_access (default permission)*: Used to maintain access to the user’s data while offline.
- User.read (default permission)*: Used to read the user’s profile and gives access to sub claim.
Note on default permissions
At this time, the offline_access ("Maintain access to data you have given it access to") and user.read ("Sign you in and read your profile") permissions are automatically included in the initial consent to an application. These permissions are generally required for proper app functionality. Offline_access gives the app access to refresh tokens, which are critical for native and web apps, while user.read gives access to the sub-claim, allowing the client or app to correctly identify the user over time and access rudimentary user information. View Microsoft Documentation here.
Step #3: Consent to application
Paradox uses Microsoft’s OAuth 2.0 process to log in, consent to application permissions, and link the connection to the proper user account.
- Note: User credentials will never be stored in Paradox.
You will be able to take your own actions in order to connect your O365 account to the Paradox environment.
#1: Log in to your Paradox Account
Depending on the environment you are connecting to, please log in to one of the following sites:
- Staging: https://stg.paradox.ai
-
Production: https://olivia.paradox.ai
- Note: The login URL may change based on if you are on your own Paradox instance or use custom SSO URLs.
#2: Link your calendar in My Calendar
You will be able to find the calendar connection option in your My Calendar, which can be found at https://olivia.paradox.ai/my-calendar/settings/my-settings (production environment; edit URL subdomain - ‘olivia’ - to match the proper environment).
To navigate there,
- Click the All Apps menu from the top left header.
- Select the My Calendar/Calendars app.
- When the page opens, click the calendar's action menu, or ellipses, in the top right corner of the calendar.
- Select Calendar Settings from its drop-down menu.
- Open the Integration Solutions section.
- In the Calendar Connection and Details section, select Outlook from the Linked calendar options.
This will open the Microsoft login screen. Move to the next step.
#3: Log in to Microsoft
Log in to your Microsoft account.
Admin consent (Not for every configuration)
Some O365 tenant configurations require a global admin to consent in order for the application to be added to the tenant. If you see the message shown above, please click on the outlined link to log in with global admin permissions to consent to the application.
You will still need to finish the steps below after this has been completed.
- Note: This will only happen on the first user connection per account.
#4: Accept the requested permission
After logging into your account, you will be presented with the full list of required permissions and will be asked to accept these permissions. To continue, click Accept.
#5: Confirm Paradox callback is complete
After accepting the permissions for the application, you will be redirected to either https://stg.paradox.ai/outlook-oauth2 or https://olivia.paradox.ai/outlook-oauth2.
This will take you back to the homepage of the CEM.
Step #4: Confirm connection
Confirm that the account has been properly connected. To do this, navigate to your My Calendar by clicking the All Apps button in the top left corner of the top ribbon and then the My Calendar app in the menu that opens.
You should see Busy Time blocks in your calendar for any existing meetings that are scheduled.