Canvas Assignment for Zoom Attendance

Community Novice

Faculty at my institution have been asking for a way to record attendance for Zoom video lectures within a Canvas assignment as attendance makes up a very small percentage of final grades. There is no inbuilt functionality to do this within Canvas so I created a python script that takes a Zoom meeting report, creates a new assignment within Canvas and gives a points score to all attendees. 


Caveat: I am not a proficient coder and the script is utilized at the users own risk. We are considering developing it into a production application with GUI or built into Canvas, but have no near term plans to do so - purely a proof of concept at this stage. That being said, I would still appreciate any feedback or information on any modifications you make to it. 


Initial Configuration

The script uses the Canvas API to create and grade a new assignment. An access token is required to use the API and this will provide the same level of access as your Canvas account.

  1. In Canvas, click Account then Settings
  2.  Scroll down to Approved Integrations and at the bottom of the integrations list, click + New Access Token
  3. Provide a purpose and expiry date (N.B. Use <2wks to minimize risk. Do not leave the date blank!) and click Generate Token
  4. Copy the access token (When you close this window, you will not be able to view the token again)
  5. Open the python script in your favorite text editor or IDE
  6. Near the end of the script, replace <YOUR API KEY HERE> with your copied access token
  7. A few lines further down, replace <YOUR CANVAS URL> with the URL for your Canvas instance
  8. Save the python script



The Python script does three things: (1) create a new assignment, (2) take the provided Zoom meeting report and extract attendees, (3) add a grade to the assignment for students that attended the Zoom meeting

To use the script

  1. On your Canvas site, go to the Zoom page and click on Previous Meetings
  2. Click Report next to the meeting you want to record attendance for
  3. Click Export as CSV File and save to your computer
  4. Run the Python script. You will be prompted for four things (Variable input does slow down script so you could hard code the course ID and points score) :
    1. Course ID (e.g. 3157 (the four digit number in a URL for any page on the course site))
    2. Name for new assignment (e.g. Attendance 7/27)
    3. The Zoom report file (Browse for the saved CSV file)
    4. Point score for present students (e.g. 1)

If you now navigate to the Assignments section of the Canvas site, you will see a new assignment created with the name provided. In the Grades section (if visible to you) this assignment will be graded for all students that attended the Zoom meeting.