Set Up Udemy Business Integration with Oracle Learning

Integrate Udemy Business learning content seamlessly into Oracle Learning. The integration also lets you track learner progress and completions in Oracle Learning, whether the content is accessed through Udemy Business or directly in Oracle Learning.

  1. Make sure that you have an active enterprise subscription with Udemy Business.
  2. Configure single sign in between Oracle Learning and Udemy Business to ensure the correct exchange of user information for learner progression tracking. You can use any identity provider you want.
  3. Map the user name or work email attribute, or both attributes depending on the provider's requirements. The provider includes the user name or work email in the xAPI statements it sends to Oracle Learning to identify the relevant learner.
  4. Enable self-paced learning.
  5. In Oracle Cloud Infrastructure Identity and Access Management, generate unique Oracle client credentials for each POD where you're enabling integration.
    • Oracle Client ID
    • Oracle Client secret
    • Token URL or OAuth server URL: it's in the form https://<your_idcs_domain>/oauth2/v1/token. You get the domain value from the domain overview page, Domain information tab.
    • Scope

    This information lets you authenticate incoming requests from Udemy Business to track learning completions.

    1. Sign in to the Oracle Cloud console.
    2. On the navigation menu, select Identity & Security > Domains.

      Complete the remaining steps as many times as you have PODs. For example, if you're enabling integration in a development and a production POD, complete steps c -- o twice.

    3. On the Integrated applications tab, add an application for Udemy Business that's confidential and launch the workflow.
    4. In the Add application details step, enter a unique name that includes Udemy for easy identification, such as Udemy dev or Udemy prod.
    5. Click Next.
    6. In the Configure OAuth step, configure the app as a client now.
    7. For authorization, select Client credentials.
    8. Click Next.
    9. In the Configure policy step, add specific authorized resources that are accessible to the users.
    10. Add the Oracle Applications Cloud (Fusion) scope. The description shows the scope in the format <resource audience><resource scope>, for example, urn:opc:resource:fa:instsanceid=630113349urn:opc:resource:consumer::all. Make note of this scope, which is different for each of your environments, because you'll need it to complete step 5.
    11. Click Next and go with the default settings for the Web tier policy section.
    12. Click Finish.
    13. Close the Add Confidential Application page to open the page for the app you just created.
    14. Activate the app.
    15. From the OAuth configuration page of your activated app, copy the client ID and client secret values because you need them for step 5. You also use the client ID in step 3.
  6. Create a job role that includes the Learning Content Provider duty role. The role lets this account use the necessary Oracle APIs to receive content and completions from Udemy Business. Use the Tools > Security Console page, Roles tab.
  7. Configure the Oracle client ID from step 2 as a user account that you'll use in step 5. Oracle Learning uses the account when querying Udemy Business to get new and updated content.
    1. On the Tools > Security Console page, 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 2.
  8. 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 6.
  9. In Udemy Business, set up xAPI integration using this information:
    Property Value Comments
    LMS/LXP Name Any meaningful name for your Oracle Learning integration
    Auto enrollment On
    xAPI configuration On
    OAuth token URL Obtained in step 1

    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 1 These credentials need to be unique for each POD where you enable the integration.
    Client Secret Oracle Client Secret obtained in step 1
    OAuth Scope Scope obtained in step 1 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

  10. In Oracle Learning, enable the Udemy Business external provider using the My Client Groups > Learning and Development > Configure External Providers task.
    1. Enter the Udemy Client ID and Client Secret credentials for the provider client ID and secret.
    2. For user name, search for and select the Oracle Client ID created in step 1.
    3. Select a learning catalog profile that will apply to all imported Udemy Business learning. The profile identifies who can see and manage the learning.
    4. Optionally 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.
    5. Validate the configuration.
    6. Optionally change the attribute mappings. These let you map certain Udemy Business attributes to attributes in Oracle Learning that you might have extended or changed.
  11. Import the Udemy Business content for the first time using the Tools > Scheduled Processes task and the Load and Synchronize External Course Data process. Keep Force Reload as No.

    This import adds the Udemy Business content to your Oracle Learning catalog as self-paced learning and might take many 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.
  12. 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 Reload is No Once per day

    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.
  13. If you set the provider content visibility to private, schedule the Reconcile User Groups process to run daily if it's not already scheduled.
    1. Go to Tools > Scheduled Processes.