Integrate Udemy Business with Oracle Learning

Complete this one-time setup to configure integration, enable secure data exchange, and start importing, tracking, and managing Udemy Business learning in Oracle Learning.

  1. Make sure that you have an active enterprise subscription with Udemy Business.
  2. Configure Single Sign On between Oracle Learning and Udemy Business to ensure the correct exchange of user information for learner progression tracking. You can use any identity provider.
  3. Enable self-paced learning.
  4. In Oracle Cloud Infrastructure Identity and Access Management, generate a unique set of Oracle client ID, client secret, token URL or OAuth server URL, and scope for each POD where you're enabling integration. The set lets you authenticate incoming requests from Udemy Business to track learning completions.
    1. Sign in to Oracle Cloud console.
    2. On the navigation menu, select Identity & Security > Domains.

      Complete steps c through l as many times as you have PODs. For example, to enable integration in a development POD and a production POD, complete the steps twice.

    3. On the Integrated applications tab, add a confidential application for Udemy Business.
    4. Enter a unique name that includes Udemy for easy identification, such as Udemy dev or Udemy prod, and a description.
    5. Submit the application.
    6. In the Configure OAuth step, configure the app as a client now.
    7. For authorization, select Client credentials.
    8. In the Token issuance policy step, add specific authorized resources that are accessible to the users.
    9. Add either the Oracle Applications Cloud (Fusion) or the Fusion Applications Cloud Service scope, whichever is available.

      The description shows the scope in the format <resource audience><resource scope>, for example, urn:opc:resource:fa:instsanceid=630113349urn:opc:resource:consumer::all. Copy this scope, which is different for each of your environments, because you'll need to share this information with Udemy Business.

    10. Submit the configuration.
    11. Review the configuration and activate the app.
    12. From the OAuth configuration page of your activated app, copy the client ID and client secret values because you need to share this information with Udemy Business.
  5. In Oracle, create a job role that includes only the Learning Content Provider duty role--don't include any other duty role. The role lets this account use the necessary Oracle APIs to receive content and completions from Udemy Business.
    1. Go to Tools > Security Console.
    2. On the Roles tab, create your job role.
    Caution: If you have any IP restrictions or have enabled location-based access control (LBAC), make sure to enable the job role for access from all IP addresses. Otherwise Udemy Business will get API authentication failures when sending content to Oracle Learning.
  6. Configure the Oracle client ID from step 4 as a user account that you'll use in step 9.

    Oracle Learning uses the account when querying Udemy Business to get new and updated content.

    1. On the security console Users tab, add a user account.
    2. Set Associated Person Type to None.
    3. Enter the appropriate user details so you can identify the account. Make sure that the user name is the same as the Oracle client ID value. Any discrepancy might lead to an unsuccessful configuration.
    4. Add the job role that you created in step 5.
  7. Ask your Udemy Business account team for your GraphQL API client credentials for Oracle integration. The team should provide you with Udemy Client ID and Udemy Client secret credentials, which you'll use step 9.
  8. In Udemy Business, set up xAPI integration using this information:
    Property Value Comments
    LMS/LXP Name Any meaningful name for your Oracle Learning integration NA
    Auto enrollment On NA
    xAPI configuration On NA
    OAuth token URL Obtained in step 4

    Gets the access token using client credentials. It's in the format https://idcs-a79107525a3e47319c208830b3cfc15a.identity.oraclecloud.com/oauth2/v1/token

    The URL needs to be unique to each POD where you enable the integration

    Client ID Oracle Client ID obtained in step 4 These credentials need to be unique for each POD where you enable the integration
    Client Secret Oracle Client Secret obtained in step 4
    OAuth Scope Scope obtained in step 4 Needed for integration to work, even though its shown as optional
    xAPI statements URL https://<hostname>/hcmRestApi/redwood/xAPI/statements

    Where hostname is for your Oracle learning environment

    If the app URL is https://fa-eodv-test-saasfaprod1.fa.ocs.oraclecloud.com/fscmUI/faces/FuseWelcome then hostname is fa-eodv-test-saasfaprod1.fa.ocs.oraclecloud.com

    The xAPI statements URL will be https://fa-eodv-test-saasfaprod1.fa.ocs.oraclecloud.com/hcmRestApi/redwood/xAPI/statements

  9. In Oracle Learning, enable Udemy Business.
    1. Go to My Client Groups > Learning and Development > Configure External Providers.
    2. Configure Udemy Business and enter the provider client ID and client secret credentials.
    3. For user name, search for and select the Oracle Client ID created in step 4.
    4. Select a learning catalog profile to apply to all imported Udemy Business learning. The profile identifies who can see and manage the learning.
    5. Optional: Configure audience and catalog settings. The settings apply to new content imported after you validate your changes. Changes aren't automatically applied to content imported before you validate these changes.
    6. Validate the configuration.
  10. If they aren't already scheduled, schedule these background processes using the Tools > Scheduled Processes task.
    Process Input parameter Recommended frequency Description
    Load and Synchronize External Course Data Force All External Course Data to Reload is No Once per day

    The first time the process runs, it adds the Udemy Business content as self-paced learning, which might take hours to complete

    Caution: To avoid any import failures, don't changes any settings for the Udemy Business account, such as user name or status, while this process runs

    Get content updates

    • New content
    • Updates to existing content
    • Content retirements

    ESS job to run Bulk ingest to OSCS

    Program Name is OLC-REST Once per day, after the Load and Synchronize External Course Data process completes Make new content and updates visible to people in Oracle Learning
    Process Learning Experience Statements NA Once per day Process any learner experience statements that for some reason weren't processed immediately
    Process Learning Catalog Item Deactivations and Deletions NA Once per day, after the Load and Synchronize External Course Data process completes Deactivate content and withdraw active enrollments
  11. If you set the provider content visibility to private, schedule the Reconcile User Groups process to run daily if it's not already scheduled.