Locating the Context ID for Zoom LTI Pro Integration

Community Contributor
3 7 2,740

If you are creating Zoom meetings for your faculty using the Zoom API and are interested in having those meetings import into the Canvas Zoom integration, you'll need to locate the context id for each course. Zoom architected their Zoom Meeting upload tool with the context id instead of with the canvas course id. The problem is the context id is not easily available in a canvas report and it is not in canvas data. This context id is only available when an LTI launch is made.

To solve for this, I created a small PowerShell script that will take a CSV file with two columns (canvas_course_id and meeting_id) and loop through the file to find and locate the context ID for each Canvas course. The PowerShell uses the External Tool Sessionless Launch API.

When a Sessionless launch is made, a one time URL is provided. The PowerShell script will launch that one time URL. This is the equivalent of actually launching the tool within the course. The PowerShell script holds all the HTML of the web page into a variable and will locate the context_id string:

<input type="hidden" name="context_id" id="context_id" value="#####" />


When the script locates this string, it will remove everything but what is within the value and add that as a record to a CSV file formatted for upload into the Zoom LTI Pro interface.

Once the script loops through all the courses, you'll have a properly formatted file for upload.

PowerShell Script: https://github.com/jwadec/Canvas/blob/main/Get-Context-ID/LTI-Context-ID-Scrapper-Tool.ps1

If you use this script, please let me know! Also, this is as-is and without warranty.


-Justin Carrell