Set Up the Microsoft Outlook Calendar App for Oracle Learning Integration

For Microsoft Outlook calendar integration to work with Learning, you need to create a tenant, register an app, and configure access policies in the Microsoft Azure portal. Then configure the integration and schedule background processes in Oracle Learning.

Someone with Azure administration permissions should complete the steps 1 – 6 using the Manage Azure Active Directory task, in Azure Active Directory. Someone with the Learning Specialist role should complete the remaining steps, 7 – 8 in Oracle Learning.
  1. As an Azure administrator,set up up a tenant using the linked information if you don't already have a Microsoft tenant. You need a Microsoft tenant ID to configure Microsoft Calendar in Oracle Learning.

    You'll need to provide this information:

    • Tenant Type: Azure Active Directory.
    • Organization Name: Enter the name of your organization.
    • Initial Domain Name: Enter a unique domain name for your tenant.

    After you set up the tenant, you need to record the Organization ID value for the tenant. You'll enter it as the Tenant ID when you configure Microsoft Calendar in Oracle Learning.

  2. Register the app or web API within the tenant using the linked information.

    You'll need to provide this information:

    • App Name: Enter a friendly name for your integration with Oracle Learning.
    • Supported account types: Select the account type that best matches your needs. If you need more information, please consult with Microsoft.
    • Redirect URL: You can leave this field blank for your integration with Oracle Learning.

    You need to record the app client ID generated after you finish registering the app, to use when you configure app access to online meetings in step 6. You'll also enter it when you configure Microsoft Calendar in Oracle Learning.

  3. Add a client secret using the linked information. You need to record the provided client secret value because you'll enter it when you configure Microsoft Calendar in Oracle Learning.
  4. Grant the app permission to Microsoft Graph using the linked information.

    You'll need to provide your registered app with these permissions, which are required for your Microsoft Calendar integration with Oracle Learning to work:

    • User.BasicRead.All
    • Calendars.ReadWrite
    Caution: Make sure that the required API permissions are app type, not delegate type.
  5. Grant admin consent to the configured app permissions using the linked information.
  6. The Azure app requires Calendar.ReadWrite permission for all users by default. But for this integration, you need the calendar access for only a single user that you plan to set as the default organizer of all calendar events. For security reasons, we strongly recommend you to do this configuration in Azure to restrict calendar access to this single user.
    1. Create an Office 365 mailbox (user) to be used solely by the Oracle Learning integration. Because other people will be getting meeting invites from this user, give it a meaningful name, such as Learning Coordinator.
    2. Restrict the Active Directory app permissions to this single mailbox by creating an appAccessPolicy and assigning it to the user. For more details, see Limiting app permissions to specific Exchange Online mailboxes.
    3. In Oracle Learning, configure this user as the default organizer for all Microsoft Outlook meeting invites.
  7. As a learning specialist, in Oracle Learning, configure the external provider.

    Before you continue, get this information from your Azure administrator:

    • Tenant ID
    • Client ID
    • Client Secret
    • Integration user name, typically in this format: <username>@<tenant>.onmicrosoft.com. You'll enter it as the Administrator user name in Oracle Learning.

    Complete these steps using the Configure External Providers task on the My Client Groups > Learning page:

    1. On the Configure External Providers page, in the row for the appropriate virtual classroom provider, click Configure.
    2. On the Configure External Provider page, click Create.
    3. Complete the configuration parameters using the information given to you by your Azure administrator.
      Field Description
      Status

      Make the Microsoft Calendar provider available or unavailable to send calendar events to learners and instructors. When active, these delivered event alerts aren't sent.

      • WLF-00002: Offering Definition has Changed
      • WLF-00009 Learning Cloud Instructor Booking Event Removal
      • WLF-00008 Offering Activity Definition has Changed for an Instructor
      When you change status from Active to Inactive, calendar events won't sync updates to existing activities with events already sent.
      Secret You need to get the relevant information from your Azure administrator.
      Tenant ID
      Client ID
      Organizer Email Address for All Calendar Meeting Invites

      This user will be the calendar events organizer and will send event invites to learners.

      Make sure the Microsoft Calendar user account with the email address meets these conditions:

      • It's part of the same tenant ID that you're using.
      • It's a generic account, not a personal account.
      • Because people will get invites from this user, give it a meaningful name, such as Learning Coordinator or Learning Department.
      • Because this is a generic account, we advise you to use a shared Microsoft 365 mailbox.
      • We strongly recommend not updating the default organizer value, especially in production. If the new coordinator user account doesn't have access to the mailbox of the previous coordinator account, any updates to events created by the previous coordinator account won't be propagated to learner calendars.
    4. To validate that the configuration parameters are correct, click Validate.
    5. Click Save and Close.
  8. To generate calendar events and keep learner and instructor calendars in sync with the Oracle Learning app, schedule the Sync Instructor-Led Training for learning process to run once hourly. If it's already scheduled, you don't need to do anything.
    Caution: Before you run this process, make sure that the FND_LANGUAGE profile option has a site-level value defined.

    While all activity instructors get the event notice, only the primary instructor's event has the join link.

    The Sync Instructor-Led Training for Learning process doesn't send events for existing enrollments unless there's a key change in the activity definition. These key changes involve the date, time, time zone, or location. Whenever there's any change made to an ILT activity, such as to the date, time, or instructor, here's what needs to happen:

    1. A learning administrator needs to reconcile those changes for existing active enrollments using the ActionsReconcile Learning Assignments option on the offering details page.
    2. The Sync Instructor-Led Training for Learning process makes the appropriate calendar updates for the applicable instructors and learners.
    Caution: When testing the integration in a nonproduction environment, we recommend that you test the integration using a set of test learner accounts with mailboxes you can access to avoid spamming real learners.