External Activity helps you incorporate learning that happens outside of Thought Industries into your courses. In this article, you’ll find an overview of how External Activity works and the different ways to set it up.
Use Case Information
As learners are completing a course on your platform, you may want them to go to an external platform to complete an activity. Examples of this are virtual labs, proctored exams or external screenings. Thought Industries also has the ability to receive information back about if that learner completed the activity and/or what their score was.
External Activities use JWT authentication and API keys to securely communicate with third-party providers.
Setting Up External Assignment Activity
This uses the Assignment page type to link users out to an external application. The learner is redirected to that application with a token that provides information regarding that learner that the external application can parse so they know who the learner is. JWT tokens are signed using either your Primary API Key or a vendor-specific key (if configured).
Here are the steps to set this up:
- From your homepage, select Courses > All Courses.
- Click the course title where you want to use external assignment activity.
- Click the plus sign in your course outline > hover over the Add Page icon and click.
- Select Assignment page type.
- Expand the Assignment Options section. Then enable External Activity?.
- In the External Activity CTA Button Text field, enter the Call to Action you want the learner to see on the button that will redirect them to the external application (e.g. Go to Virtual Lab).
- In the External Activity CTA Button URL field, enter the URL of the external application you want the learner to go to. Make sure to append this slug to generate a JWT token at the end of the URL:
/?jwt={{jwt}}
Note
It is important that the external application you are sending learners to can parse a JWT token in order to read who this learner is. Work with your partner to ensure they can receive the data.
Note
External Activity authentication uses API keys to sign the JWT token.
If the domain of the External Activity URL matches a vendor domain configured in Settings Security Vendor API Keys, the platform will use that vendor’s key to sign the JWT.
If the domain does not match a configured vendor entry, the platform will use the Primary API Key.
Important: If you add a Vendor API Key for a domain that is already used in an existing External Activity URL, the platform will immediately begin using the vendor key instead of the Primary API Key. Coordinate with your provider before saving the vendor entry.
- Once configured, the learner will click the CTA button and navigate to the activity.
- The learner's action will generate a JWT token that contains the payload sent from Thought Industries to the external application. Thought Industries sends the following information to the external application through the JWT:
- Learner Credentials
- First Name
- Last Name
- Refs 1-10
- Course Information
- Course Title
- SKU
- ID
- Custom Content Fields
- A special returnTo URL with another JWT token for the learner to be navigated back to the platform.
Tip
This JWT token in the returnTo URL will be what you need to pass back information to Thought Industries via JWT.
-
Example External Activity Payload:
{ "courseTitle": "External Activity", "courseSku": "ext1234", "courseId": "aed59c4d-06d6-421b-b384-fee36123c47a", "returnTo": "https://school.thoughtindustries.com/learn/externalActivity?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdGF0dXMiOiJjb21wbGV0ZWQiLCJyZXR1cm5VcmwiOiIvbGVhcm4vbWFuYWdlci9jb3Vyc2UvYWVkNTljNGQtMDZkNi00MjFiLWIzODQtZmVlMzYxMjNjNDdhL3NlY3Rpb25zL2xlc3Nvbi80NTEzYjYxZi0yMjM3LTQxMmYtYTBmYy03YmM1N2NhNzQ2NWYvdG9waWMvNmY3ZjllNjktOGU0My00ZjUyLWFkZjktMzhiN2U0YjM4MzFhP3RhYj1jb250ZW50IiwiYXNzaWdubWVudElkIjoiNmY3ZjllNjktOGU0My00ZjUyLWFkZjktMzhiN2U0YjM4MzFhIiwibGVhcm5lcklkIjoiM2I1OTdiZmEtMTgwNS00OTEyLWE5ZWItYjMzM2M5MDM3ZDBiIiwiaWF0IjoxNzIwNzk0MjIyfQ._5WBJwHfebqy-CQwH4GMLufdpdZU_Atygbaocpp2hzM", "email": "philip.smith1234@gmail.com", "externalCustomerId": null, "firstName": "Philip", "lastName": "Smith", "role": "admin", "ref1": null, "ref2": null, "ref3": null, "ref4": null, "ref5": null, "ref6": null, "ref7": null, "ref8": null, "ref9": null, "ref10": null, "iat": 1720794222 }How to Pass Back Results Information to Thought Industries
In the above-mentioned returnTo URL, the external application can send back the following information:
- Assignments Status / Grade
- Status (Completed or Incomplete)
- Assignment ID
- Learner ID
- Grades can be crafted into the returnTo URL JWT.
-
Example Return to Thought Industries Payload:
{ "status": "completed", "returnUrl": "/learn/manager/course/aed59c4d-06d6-421b-b384-fee36123c47a/sections/lesson/4513b61f-2237-412f-a0fc-7bc57ca7465f/topic/6f7f9e69-8e43-4f52-adf9-38b7e4b3831a?tab=content", "assignmentId": "6f7f9e69-8e43-4f52-adf9-38b7e4b3831a", "learnerId": "3b597bfa-1805-4912-a9eb-b333c9037d0b", "iat": 1720794222 }
- Assignments Status / Grade
- Learner Credentials
Tip
As with other assignments, External Activity assignments will appear in the Grading tab of the admin interface after Thought Industries receives the submission. Grades and statuses can be adjusted for the activities.
Using a LTI Page
The LTI page type allows external applications to be launched within the Thought Industries course frame in order for the learner to view or complete content on that application. While the learner will be authenticated into the application via the LTI page type, you cannot pass any information back to Thought Industries regarding whether the learner completed the external activity or earned a grade.
- From your homepage, select Courses > All Courses.
- Click the course title where you want to use external assignment activity.
- Click Add Page, then select LTI page type.
- Enter the following information in fields provided:
- LTI Tool URL: Enter the URL of the external application you want the learner to launch.
- Consumer Key and Consumer Secret: These two items you will need to get from the LTI tool. Most will not open without them. However some LTI tools do not require them.
- Height and Width: Adjust these as need to launch the tool within course frame.
- The end result will allow the learner to view and interact with the external application within a course frame.
Note
Learner is authenticated to launch the tool, but no information is passed back to Thought Industries regarding what the learner completed or what score they earned.