Set up the LinkedIn Learning integration
  • 26 Oct 2023
  • 7 minutes to read

Set up the LinkedIn Learning integration


Article Summary

This integration allows Site Administrators and content creators to browse and import content from LinkedIn Learning to a Totara site. Learners can seamlessly browse and access LinkedIn Learning courses from within Totara, and completion and tracking of this learning are integrated into Totara's reporting.


Prerequisites

Prerequisites for using the Totara / LinkedIn Learning integration:  

  • Totara 15 (and above) Learn
  • Professional LinkedIn Learning subscription

Integration setup

Before setting up the integration in Totara, you will first need to obtain your Client ID and Client secret from LinkedIn.

  1. As an administrator, navigate to the LinkedIn Learning admin interface.
  2. Hover over Me in the top-right corner, then select IntegrateNavigating to Integrations in LinkedIn Learning.
  3. Select the Access content and reports via API tab.
    Using the Integrate tab.
  4. Expand the Generate LinkedIn Learning REST API Application section.
  5. Click Add application.
  6. Complete the form, explaining how the integration will be used and referencing your Totara site.
  7. Select Content for the Choose keys option.
  8. Click Next. Once you have saved the application you will be able to copy and paste the Client ID and Client secret.

To start setting up the LinkedIn Learning integration in Totara, follow these steps:

  1. Navigate to Quick-access menu > Content Marketplaces. 
  2. Click Set up next to LinkedIn Learning, then select Enable.
  3. Click the cog icon (cog) next to LinkedIn Learning.
    The content marketplace overview.
  4. Enter your Client ID and Client secret from LinkedIn Learning.
  5. Click Save changes.

You can edit these settings by clicking the cog icon (cog) next to LinkedIn Learning, or you can disable the integration by clicking the eye icon (eye_open).

Enable tracking of learning event progress and completion

Next you need to configure the integration to enable the tracking of learning progress and completion.

  1. Go to Quick-access menu > Server > OAuth 2 > OAuth 2 provider details.
  2. Click Add provider.
  3. Give the provider a Name (e.g. 'LinkedIn Learning') and Description, then click Add provider.
  4. Make a note of the details in the new section (LinkedIn Learning, or the name you gave in step 2), or leave this tab open.The OAuth 2 providers screen with a LinkedIn Learning provider configured.
  5. In LinkedIn Learning, go to Configure reporting integrations.
    Configuring reporting integrations in LinkedIn Learning.
  6. Expand the Configure xAPI section.
  7. Select Add integration.
  8. Choose an Integration name and set the User type to Email.
  9. Enter the URLs, Client ID and Client secret from step 4.
  10. Click Enable.The OAuth 2 providers screen with a LinkedIn Learning provider configured.
There will be a time delay for LinkedIn Learning catalogue items to appear in Totara. Please allow up to one hour for all content to be synced.
By default LinkedIn Learning will report completion events, but not progress events, back to Totara. If you want LinkedIn Learning to send updates about partial completion of courses (to be reflected as activity and course progress) then contact your organisation's LinkedIn Learning representative and request that xAPI progress events be enabled for your account.

To ensure your learner completion results are reflected correctly in Totara, you need to have completed the following steps:

  1. Configuration within LinkedIn Learning admin completed.
  2. The email address of the Totara user must exactly match the email address of the LinkedIn Learning user who completed a course.
  3. The user's email address must not be used by multiple different users on the Totara site (the email must uniquely identify a user).
  4. The Totara user must be enrolled in the course in Totara.

You can use the manual course completion editing process as a workaround for any cases where a learner has used different email addresses in LinkedIn (when they completed a course in LinkedIn Learning) and Totara.

OAuth provider capability

You may want to assign a user to manage your site's OAuth providers (such as LinkedIn Learning), without giving them wider administrator capabilities and privileges. If required, you can provide specific users with the totara/oauth2:manageproviders capability at the system level. A user with this capability at the system context will be able to see the list of OAuth2 providers, create new ones and delete existing ones.

To add this capability to a role, follow these steps:

  1. Navigate to Quick-access menu > Permissions > Define roles.
  2. Edit the role for which you would like to add the capability, or create a new role if required.
  3. Scroll down to and check the Allow box for Manage OAuth 2 providers (totara/oauth2:manageproviders).
  4. Scroll down and click Save changes.
  5. Assign the role to the user(s) you want to manager OAuth providers.
When upgrading a site the totara/oauth2:manageproviders capability will be granted to the any roles that currently have the moodle/site:config capability.

Troubleshooting

The initial configuration of Totara and LinkedIn to support this integration involves a few different steps. We'd recommend working through these steps, and if you still need assistance, please create a support ticket (including the relevant details and screenshots as described below).

For LinkedIn Learning completion to work there are a number of prerequisites. 

Firstly the site must be on the public internet (so LinkedIn can contact it). If the site is behind a firewall then at least the following URLs need to be made publicly accessible:

  • SITE_URL/totara/oauth2/token.php
  • SITE_URL/totara/xapi/receiver.php

Then, for a completion event to get tracked the following must be true at the time the completion event occurred in LinkedIn Learning:

  • The organisation must have configured the tracking of learning event progress and completion.
  • The email address of the user completing content in LinkedIn Learning must match the email address of the Totara user. Note that it must be the LinkedIn Learning account’s email address, not any LinkedIn account that’s associated with the LinkedIn Learning account.
  • The email address must not be used by multiple different users on the Totara site (the email must uniquely identify a Totara user).
  • The Totara user must be active (not suspended or deleted).
  • A Totara course containing the associated piece of LinkedIn Learning content must exist on the Totara site.
  • Course and activity completion must be enabled and correctly configured in that course (that will be the case if the activity was imported via LinkedIn Learning).
  • The Totara user with the matching email address must be enrolled in the Totara course that contains the LinkedIn Learning activity.

If all the above is true the completion event should be sent and processed by the Totara site and the completion received.

Further troubleshooting steps

There are some additional situations where Totara completion can occur after completion in LinkedIn has occurred. Consider an example where a user works through LinkedIn Learning content which is later added to Totara:

  1. The LinkedIn Learning integration has already been configured.
  2. Progress or completion occurs in a piece of LinkedIn Learning content.
  3. That content is then imported into Totara.
  4. The user with the same email address is later enrolled on that course.
  5. As of Totara 16, completion will be marked at the time of enrolment.

For the site to receive ‘progress statements’ (i.e. partial completion as a percentage rather than only when content is completed), the organisation’s LinkedIn Learning account must be configured to have this feature enabled. Please contact your LinkedIn Learning representative and ask for xAPI progress events be enabled for your account.

We recommend checking and providing the following screenshots to the Totara Support team:

  • The OAuth2 provider details page on the Totara side (Quick-access menu > Server > OAuth2 > Oauth2 provider details). The specific client should be expanded, but the client ID and secret can be blurred out.
  • The xAPI configuration on the LinkedIn side (Me > Integrate > Configure reporting integrations > Configure xAPI expanded, then click the edit icon next to the specific integration and take a screenshot of the dialog.
  • The LinkedIn user’s Learning history page (My Learning > Learning History) showing the course that is complete.
  • The activity page in Totara showing the same piece of content as not complete, including the full page so we can see who is logged in in the top-right corner.
  • The Totara user’s profile, showing their Totara email address.
  • The LinkedIn Learning user’s profile page, showing their LinkedIn Learning email address. This can be accessed by going to LinkedIn Learning Admin > People > Users, then clicking on the user’s name.
  • The Totara course enrolment page, showing that the user is enrolled (with enrolment date if possible).

Providing additional support and identifying further problems

If the integration appears to be correctly configured, and new completions still aren't received, we’ll need additional information to investigate what is happening.

We will need the HTTP access and error logs for the five minutes around the time of a completion event occurred in LinkedIn, along with the exact time the LinkedIn completion occurred. We will be looking for the existence and HTTP status code of requests of the format:

  • POST SITE_URL/totara/oauth2/token.php
  • POST SITE_URL/totara/xapi/receiver.php

If these requests don't exist this suggests that there is a problem on the LinkedIn Learning side, either with configuration of the integration or a temporary LinkedIn Learning issue.

If the requests do exist but have HTTP status codes other than 200, that suggests there is a problem receiving the data. You will need to enable debugging and send us the full stack traces of any failed requests for those files.

If the requests do exist and have HTTP status codes of 200, that suggests that the data was received correctly. This indicates either a configuration issue with course completion or some other problem locally within the site. To debug that we will need access to a copy of these database tables (or at least the rows from around the time of the successful events described above):

  • totara_xapi_statement
  • marketplace_linkedin_user_progress

Next steps

Content_marketplace_academy_iconThe Totara Academy has a whole course dedicated to using the Content marketplace in Totara. Here you can learn more about setting up GO1 and LinkedIn Learning integrations, see best practice, and give it a go yourself.

© Copyright 2024 Totara Learning Solutions. All rights reserved.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.