Skip to main content

LinkedIn Learning

Visualize LinkedIn Learning courses, learning paths, videos, content taxonomy, learners, and per-learner engagement (completions, views, progress) in the JupiterOne graph. Track training completion as compliance evidence, identify gaps in skill coverage, and map learners to the content they engage with through queries and alerts.

Installation

info

LinkedIn Learning credentials are scoped to two key typesContent (learningAssets + learningClassifications) and Report (learningActivityReports). The integration accepts up to two credential pairs, one per scope, but only one pair is required. See the Authorization tab for the full breakdown of how credential combinations behave.

Prerequisites

  • A LinkedIn Learning Enterprise account.
  • An administrator with permission to Generate LinkedIn Learning REST API Applications from the LinkedIn Learning admin console.
  • Access to JupiterOne with permission to configure integrations.

Generate API credentials in LinkedIn Learning

LinkedIn provisions credentials at the application level. You can either create one application with both key types selected (recommended for new installs) or create two separate applications, one per scope.

  1. Sign in to LinkedIn Learning as an administrator. If you are not already in the Admin area, click Go to Admin.

  2. In the side navigation, open Access content and reports via API and expand Generate LinkedIn Learning REST API Application.

  3. Click Add application.

  4. Enter an Application Name (e.g. JupiterOne Integration) and an Application description (e.g. Reads LinkedIn Learning content and activity into JupiterOne for compliance reporting).

  5. Under Choose keys, select Content, Report, or both depending on which data surface you want to ingest:

    • Content authorizes the asset catalog: courses, learning paths, videos, and the content taxonomy.
    • Report authorizes per-learner engagement: completions, views, progress, and seconds-viewed.
  6. Click Next and accept the Terms and Conditions.

  7. Copy the generated Client ID and Client Secret — save them securely. You will paste these values into JupiterOne in the next section.

    tip

    If you create one application with both Content and Report keys selected, you only have to copy a single pair. The same Client ID / Client Secret authorizes every endpoint and you only need to fill one of the two pairs in JupiterOne.

  8. (Optional) Repeat the steps above if your organization requires separate applications for the two scopes (e.g. because Content and Report access are owned by different teams). You will end up with two distinct credential pairs, one per scope.

Configure the integration in JupiterOne

To install the LinkedIn Learning integration in JupiterOne, navigate to the Integrations tab in JupiterOne and select LinkedIn Learning. Click New Instance to begin configuring your integration.

Creating a LinkedIn Learning instance requires the following:

  • The Account Name used to identify the LinkedIn Learning account in JupiterOne. Ingested entities will have this value stored in tag.AccountName when the AccountName toggle is enabled.
  • Description to assist in identifying the integration instance, if desired.
  • Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as DISABLED and manually execute the integration.

Authentication fields

Fill in at least one of the credential pairs below. For full guidance on which combination matches your application setup, see the Authorization tab.

FieldRequiredDescription
Content Client IDConditional — at least one pair is required.OAuth Client ID for the LinkedIn Learning application authorized for the Content scope. If your application has both Content and Report keys selected, filling this pair alone authorizes every endpoint.
Content Client SecretRequired when Content Client ID is provided.OAuth Client Secret paired with Content Client ID.
Report Client IDConditional — at least one pair is required.OAuth Client ID for the LinkedIn Learning application authorized for the Report scope. Only set this when you generated a separate application for the Report keys.
Report Client SecretRequired when Report Client ID is provided.OAuth Client Secret paired with Report Client ID.

Advanced — Activity Lookback Days

The integration's user-activity steps query LinkedIn's learningActivityReports endpoint, which caps each request at a 14-day window. The integration transparently chunks longer lookback windows into multiple ≤14-day requests on each sync.

FieldDefaultOptionsDescription
Activity Lookback Days1414, 30, 90, 180, 365How far back to fetch learning activity on each sync. Larger values increase the number of API calls per run: 14 days → 1 window per activity step; 365 days → 27 windows per activity step.

How it affects data volume: Larger lookback windows ingest more historical engagement, which produces a denser User -[:ASSIGNED]-> Training relationship graph but multiplies the request count per sync. For day-to-day compliance reporting, 14 is sufficient on a daily polling cadence. Choose 90 or longer only when you need a historical backfill or when your polling cadence is weekly/monthly.

Click Create once all values are provided to finalize the integration.

Next steps

Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.