As instructors, we often find ourselves managing grades across multiple platforms. Canvas LMS is excellent for course organization and student interaction, while Google Sheets offers powerful calculation and analysis features that Canvas lacks. What if we could combine the best of both worlds?
Today, I’m excited to share Grade Tracking with Canvas API for Google Sheets – an open-source tool I’ve developed that creates a seamless bridge between Canvas and Google Sheets. This integration allows instructors to fetch student data and grades from Canvas, work with them in Google Sheets, and then upload the revised grades back to Canvas – all without manual copying and pasting.

Why I Created This Tool
As an Instructional Assistant Professor at Chapman University, I experienced firsthand the frustration of managing grades across different systems:
- Having to manually copy grades from Canvas to perform custom calculations
- Spending hours transferring data between systems after each assignment
- Worrying about transcription errors affecting student grades
- Needing to track student progress in ways Canvas couldn’t easily display
I knew there had to be a better way. After exploring the Canvas API, I developed a solution that automates this entire process while maintaining security and accuracy.
What Can Grade Tracking with Canvas API Do for You?
The tool offers several powerful features that will transform how you work with Canvas grades:
1. Import Student Data
With a single click, you can fetch your entire course roster – complete with student names, SIS IDs, and email addresses – directly into Google Sheets. No more manual copying or CSV exports.
2. Download Assignment Grades
Need to work with grades from a specific assignment? Simply enter the Canvas Assignment ID in your spreadsheet and click “Fetch Assignment Grades.” The tool will:
- Match students automatically using SIS IDs
- Populate grades in the column you specify
- Handle any missing submissions appropriately
3. Import Complete Gradebook
For more comprehensive grade management, you can download your entire Canvas gradebook with a single click. This includes:
- All assignments and their point values
- Current student grades for each assignment
- Class averages and statistics
4. Upload Grades Back to Canvas
After analyzing or modifying grades in Google Sheets, you can send them back to Canvas with minimal effort. Options include:
- Upload grades for a single assignment
- Upload a range of assignments simultaneously
- Upload your entire gradebook at once
The tool handles all the API communication, matches students correctly, and even provides progress updates as it works.
Getting Started: It’s Easier Than You Think
The beauty of this tool is its simplicity. You don’t need coding experience or technical knowledge to use it. Here’s how to get started:
Step 1: Make Your Own Copy of the Template
I’ve created a ready-to-use Google Sheets template with all the code already installed:
Step 2: Configure Your Sheet
After creating your copy, you’ll need to:
- Enter your Canvas Course ID in cell B3 [Find this in the URL when viewing your course:
https://canvas.yourinstitution.edu/courses/12345
→ ID is12345
] - Enter your Canvas Domain in cell B4 (e.g., https://canvas.chapman.edu)
- The API Key can be entered in cell B5 or added securely when prompted

Step 3: Generate Your Canvas API Key
To connect to Canvas, you’ll need an API key:
- Log into Canvas
- Go to Account > Settings
- Scroll to “Approved Integrations”
- Click “New Access Token”
- Enter a purpose (e.g., “Google Sheets Integration”)
- Click “Generate Token” and copy the key
- The tool will securely store this key for future use
For more information on Canvas API, feel free to check out my other blog post: https://www.jlouisbru.com/guide-to-canvas-api/
Step 4: Start Using the Tools
You’re all set! Now you can use the “Canvas Tools” menu to:
- Fetch student data
- Download assignment grades
- Upload grades back to Canvas
Real-World Applications: How Instructors Can Use Grade Tracking with Canvas API
Custom Grading Formulas
Canvas has limitations when it comes to complex grading schemes. With Grade Tracking with Canvas API, you can:
- Download quiz grades to Google Sheets
- Use spreadsheet formulas to drop the lowest scores automatically
- Apply curve adjustments based on class performance
- Calculate weighted averages with different formulas for different students
- Upload finalized grades back to Canvas
This approach gives you complete flexibility in grading while maintaining Canvas as your official grade repository.
Teaching Team Collaboration
For courses with multiple sections or teaching assistants, coordination is essential. Grade Tracking with Canvas API facilitates:
- Standardizing grading across sections by using shared formulas
- Allowing multiple graders to work simultaneously in Google Sheets
- Implementing quality control checks before uploading grades
- Maintaining a central record while preserving Canvas as the student-facing platform
This collaborative approach ensures consistency and reduces administrative overhead.
Secure By Design
Security is a top priority with Grade Tracking with Canvas API:
- Your Canvas API key is stored securely in Script Properties, not visible in the spreadsheet
- No student data is sent to any third-party servers
- All communication happens directly between Google Sheets and Canvas
- The tool uses only the permissions needed to read and update grades
Remember that when using any grade management tool, you’re responsible for maintaining Family Educational Rights and Privacy Act (FERPA) compliance by limiting access to authorized individuals and using data only for legitimate educational purposes.
Open Source and Free to Use
I believe in the power of open educational resources, which is why I’ve made this tool completely free and open-source under the MIT License (code) and Creative Commons Attribution-ShareAlike 4.0 International License (documentation).
The complete source code and documentation are available on GitHub:
Contributing and Feedback
I’d love to hear your experiences with the tool and any suggestions for improvement:
- Found a bug? Report an issue
- Have a feature idea? Request a feature
- Want to support development? Buy me a coffee
If you find this tool helpful, please share it with your colleagues. The more instructors who benefit, the better!
0 Comments