Best Practices for Building a Pluralsight Connector/Integration

Step 1:

Review type of integration you want to build as highlighted below in the Type of Integrations section.

Step 2:

Once the integration is built, please review the Request for Pluralsight Partners to add header section below.

Step 3:

Please send an email to [email protected] with below details:

  • Email: To receive important notifications about APIs your integration is using such as deprecation communication, new releases etc. Make sure to send an email distribution list or multiple email addresses.
  • Company Logo: This will be used on our integration/partnership pages.
  • URL that hosts integration details: This will be used on our integration/partnership pages. If the webpage doesn't exist, please provide link to any other URLs that you want to route our joint users to get more information, such as your company website homepage.

Types of Integrations

1. Video Course Integrations

Below are the most essential parts to integrate to your other systems such as Learning Management Systems (LMSs) and Learning Experience Platforms (LXPs).

  • Course Catalog: Catalog of essentially all the video courses that are, and have been, published on the Pluralsight Skills platform.

    • Why: To make sure your learners can discover the content that will help them take the next step in their learning/development journey.

    • How: When requesting the course catalog, we recommend to pull the entire catalog each time and simply replace the old data. It is possible to define whether you want to pull all the courses (including retired and removed), or just published. When a course has served its purpose, we don't completely remove them; instead, we change the status to retired; they will still be available. If your system is mapping the completion data towards the course catalog, it can be wise to pull all of the courses, but not display the retired and removed content to the end user. This data is updated once every 24 hours. We also recommend setting the showOffPlanContent filter to false to ensure you only display courses that your users have access to.
      For more information, see courseCatalog.

  • Course Progress: Information about which courses a user on the Skills platform has watched.

    • Why: To make data available in your LMS/LXP so that employees can easily see what content they have consumed. And to help managers/leaders/L&D team to get deeper insights on learnings.

    • How: This will return the data of how a user's progress is within respective courses. It is possible, via filters, to only retrieve data if a course has been completed. This won't give the full picture, since full courses might not be relevant to all users. It is recommended to specify startDate when this data is requested; otherwise, the dataset will become quite large. If data is fetched once every day, then simply save the updatedOn value from the last record and use it in the startDate filter next time you request data. This data is updated once every 24 hours.

    For more information, see courseProgress.

    • There is a note at the top of the courseProgress docs about how to fetch deltas for this entity. It may be good to just use that as a canonical reference instead of duplicating here.

2. Other Content Type Integration

Pluralsight does not only provide video courses as stand alone content, but also provides other content types.

  • Paths: Multiple pieces of content that have been curated into one learning journey.

    • Why: To help learners discover content that has been curated by Pluralsight experts. Learners can upskill from A to Z within a specific skill by watching content of that specific skill path.

    • How: If you desire to display these you can simply make a request to the contentCatalog and specify that you are looking for the contentTypes PATH.


3. Skill Assessments Integration

Pluralsight provides 400+ assessments that learners can use to assess their proficiency within specific skills.

  • Skill IQ Catalog: All Skill IQs available on the Skills platform.

    • Why: To give the employees the opportunity to discover Skill IQs directly from other systems in your organization.

    • How: To pull all the Skill IQs provided by Pluralsight, simply make a request to the skillAssessmentCatalog.

  • Skill IQ Result: The Skill IQ result will show within which quintile (Novice/Emerging/Average/Above Average/Expert) for that particular skill a user is within.

    • Why: To give the user an immediate overview of what their current skill levels are from other platforms than Pluralsight Skills. To give the employees and managers/leaders/L&D to see a holistic view in regards to their proficiency levels by combining Skill IQ data with; for example, self assessments in the LXP.

    • How: When pulling the data, there are some important aspects to consider. You will get all of the takes a user has done; isCurrentScore indicates that it was the latest one.
      For more information, see skillAssessmentResults.

      • Note: This level of analytics is available on Enterprise plans. If on a Professional plan, use skillIqsSummary, which gives you aggregated data.

4: Channels Integration

  • Channels: Provides a way to organize content on the Pluralsight platform by creating learning paths that are aligned with your organization's specific needs.

    • Why: To enable employees to easily find content that has been curated to their and/or your organization's specific needs.

    • How: By consuming channels, it is possible to get channels and their descriptions. It is also possible to pull which content resides within each channel by making a request to channelContent. In addition to this, it is possible to get data about which employees are part of a specific channel (channelMembers), and how the progress looks for these (channelProgress).


Request for Pluralsight Partners to add header

Logging/tracking of Integrations API requests helps Pluralsight product teams to track, triage, and fix any specific defects reported by our joint customers with respect to the integration.


Steps:

We now require all of our integration partners to include a partner-specific clientversion header value with each API request sent.


For example:

Set clientversion to <partner_name> <type_of_connector> connector

  • Note: Please use underscores if your company name or connector has multiple words
    • Eg: Acme skillIQ_assessment connector and Acme content_catalog connector

Note: A single connector can call multiple GraphQL endpoints, but if you create multiple connectors for different use cases or integrations, please uniquely identify each connector by name.