A Google Sheets integration with Canvas LMS that allows educators to fetch student data, download grades, and upload grades directly between Google Sheets and Canvas.
Click the button above to create your own copy of the Canvas Tools template
- Fetch student data directly from Canvas into your spreadsheet
- Download grades for individual assignments or the complete gradebook
- Upload grades to Canvas individually or in bulk
- Progress tracking with helpful toast notifications
- Configurable setup through the spreadsheet (no code editing required)
- Open the template spreadsheet
- Copy the spreadsheet to your Google Drive with all code included
- Continue to the Setup section below
- Enter your Canvas Course ID in cell B3
- Find this in the URL when viewing your course:
https://canvas.yourinstitution.edu/courses/12345
- Find this in the URL when viewing your course:
- Enter your Canvas Domain in cell B4 (e.g., https://canvas.chapman.edu)
- For the API Key, you have two options:
- Leave B5 blank and you'll be prompted when needed
- Enter it directly in cell B5 (not recommended, less secured)
- Log into Canvas
- Go to Account > Settings
- Scroll to "Approved Integrations"
- Click "New Access Token"
- Enter a purpose (e.g., "Google Sheets Integration")
- Set an expiration date if desired
- Click "Generate Token"
- IMPORTANT: Copy the token immediately - you cannot view it again!
- Ensure your Course ID and Canvas Domain are set
- Click "Canvas Tools > Fetch Course Users"
- Student data will populate in columns A-D starting at row 7
- Click "Canvas Tools > Fetch Complete Gradebook"
- The spreadsheet will be populated with:
- All assignments from Canvas (column E onwards)
- Points possible for each assignment (row 3)
- Average scores and percentages (rows 4-5)
- Assignment IDs (row 6)
- All student grades
- In row 6 of column E (or any empty column), enter the Canvas Assignment ID
- Find the Assignment ID in the URL when viewing the assignment:
- Example:
https://canvas.chapman.edu/courses/12345/assignments/67890β ID is 67890
- Click "Canvas Tools > Fetch Assignment Grades"
- Enter the column letter when prompted (e.g., "E")
- Grades will populate in that column aligned with student rows
- Ensure the column contains the Assignment ID in row 6
- Enter grades in the column aligned with student rows
- Click "Canvas Tools > Upload Assignment Grades to Canvas"
- When prompted, enter the column letter
- A summary will appear when complete
- Ensure Assignment IDs are in row 6 for all columns you want to upload
- Enter grades in those columns
- Click "Canvas Tools > Upload Grade Range to Canvas"
- Enter the starting and ending column letters when prompted
- A summary will appear when complete
- Click "Canvas Tools > Upload Complete Gradebook to Canvas"
- Confirm the action when prompted
- All grades in the sheet will be uploaded to Canvas
- A summary will appear when complete
- Your Canvas API key provides access to your Canvas account
- The key is stored securely in the Script Properties and not visible to others
- When entered in cell B5, it will be read once and then stored securely
Grade Tracking with Canvas API was designed with educational privacy laws in mind:
- All student data remains within your authorized educational systems (Canvas and Google Workspace)
- No student personally identifiable information (PII) is stored on third-party servers
- Data transmission occurs through secure API connections using your authenticated credentials
- The tool maintains the same level of privacy protection provided by Canvas and Google Workspace
- Works within existing data processing agreements your institution likely has with both Canvas and Google
Remember that when handling student data, you must follow FERPA requirements:
- Protect the confidentiality of student education records
- Only authorized individuals should have access to the spreadsheet
- Use the data only for legitimate educational purposes
| Problem | Possible Solution |
|---|---|
| "API Key not found" | Enter your Canvas API key in cell B5 or when prompted |
| "Course ID not found" | Make sure you entered your Canvas Course ID in cell B3 |
| "Canvas Domain missing" | Enter your institution's Canvas URL in cell B4 |
| "Assignment ID not found" | Ensure row 6 contains the correct Assignment ID |
| No grades appear | Verify students have submissions in Canvas |
| Upload errors | Check you have permission to edit grades in Canvas |
Grade Tracking with Canvas API for Google Sheets uses dual licensing:
- Code: All source code is licensed under the MIT License
- Documentation: All documentation, screenshots, and educational content are licensed under Creative Commons Attribution-ShareAlike 4.0 International License
Instructional Assistant Professor at Chapman University
Contributions are welcome! Thank you so much for your support!
Found a bug or have a suggestion to improve Canvas Tools? We'd love to hear from you!
Note: This tool is not affiliated with or endorsed by Instructure (Canvas) or Google.