Canvas LMS Synchronization & Frictionless Setup Guide โ
StudySync integrates directly with Instructure Canvas LMS to import your enrolled courses, assignment deadlines, exam dates, syllabus updates, and real-time academic standing into your unified planner.
Whether your university provides full student API access or strictly locks down third-party integrations, StudySync offers two streamlined connection methods to ensure a zero-friction setup experience.
๐ก๏ธ The 100% Read-Only Safety Guarantee โ
IMPORTANT
StudySync is strictly read-only.
StudySync interacts with Canvas exclusively using HTTP GET requests (server/canvasHandler.js). The server contains zero POST, PUT, DELETE, or PATCH requests directed at Canvas LMS.
Modifying grades, checking off assignments, or editing goals inside StudySync never modifies, submits, or deletes anything on Canvas LMS or your university transcript. All changes stay strictly confined to your private local SQLite database (study_sync.db).
Connection Method Decision Matrix โ
Choose the method that best matches your needs and university permissions:
| Feature | Method 1: Calendar Feed URL (.ics) | Method 2: Canvas REST API Token |
|---|---|---|
| Setup Time | ~30 seconds | ~90 seconds |
| Permissions Required | None (100% open to all students) | Student Access Token enabled by school IT |
| Enrolled Courses & Schedules | โ Included | โ Included |
| Homework Deadlines & Quizzes | โ Included | โ Included |
| Exam & Midterm Dates | โ Included | โ Included |
| Real-Time Letter Grades & Scores | โ ๏ธ Manual goal entry | โ Automated real-time pull |
| Cumulative GPA Calculation | โ ๏ธ Available via manual entries | โ Automated across all courses |
| AI Academic Advisor Guidance | โ Available with manual goals | โ Fully automated with live Canvas scores |
| Automated 5:00 AM Daily Sync | โ Supported | โ Supported |
Method 1: Canvas Calendar Feed URL (Easiest & Token-Free) โ
The Calendar Feed URL method uses Canvas's standard iCalendar subscription stream. It requires no API tokens, bypasses school IT security restrictions, and works for 100% of Canvas schools worldwide.
Step-by-Step Instructions โ
[Canvas Left Bar] โโโบ [Calendar (๐
)] โโโบ [Right Sidebar: "Calendar Feed"] โโโบ [Copy .ics URL] โโโบ [Paste in StudySync]Step 1: Open Your Canvas Calendar โ
- Log in to your university's Canvas portal in any web browser.
- In the global navigation bar on the far left (the navy or dark sidebar), click the Calendar icon (๐ ).
Step 2: Locate the "Calendar Feed" Button โ
- Look at the right sidebar of the calendar page (beneath the mini monthly calendar grid and the list of course checkboxes).
- Click the link labeled Calendar Feed (marked with an RSS broadcast icon ๐ก).
Step 3: Copy the Subscription Feed URL โ
- A dialog will pop up titled "Calendar Feed" with the message:
"Copy the link below and paste it into any calendar app that takes an iCal feed:" - Highlight and copy the complete URL.
- It will look like:
https://myschool.instructure.com/feeds/calendars/user_xxxxxxxxxxxx.ics(or start withwebcal://). - Both
https://andwebcal://URLs are automatically handled by StudySync.
- It will look like:
Step 4: Paste and Sync in StudySync โ
- In StudySync, open the top header and click Sync โ Canvas LMS Sync.
- Stay on the Calendar Feed URL tab (marked with the green "Easiest" badge).
- Paste your copied URL into the input field.
- Click Sync Schedule Now.
- You will see an immediate green confirmation message reporting the number of courses, class meeting times, and homework assignments imported.
Method 2: Canvas REST API Token (Full Sync with Live Grades) โ
For students whose institutions allow personal access tokens, the REST API connection unlocks live percentage grades, official letter grades, syllabus assignment weightings, and the AI Academic Advisor.
Step-by-Step Instructions โ
[Canvas Account (Avatar)] โโโบ [Settings] โโโบ [Approved Integrations] โโโบ [+ New Access Token] โโโบ [Connect in StudySync]Step 1: Determine Your Canvas School Domain โ
Identify your institution's Canvas base URL from your browser address bar:
- Format:
canvas.[school].eduor[school].instructure.com. - Common Examples:
- Harvard:
canvas.harvard.edu - UC San Diego:
canvas.ucsd.edu - University of Washington:
canvas.uw.edu - Ohio State:
osu.instructure.com - Generic:
myschool.instructure.com
- Harvard:
- Note: StudySync automatically normalizes your input. Entering
https://canvas.myschool.edu/or justcanvas.myschool.eduworks identically.
Step 2: Navigate to Approved Integrations in Canvas โ
- In Canvas, click Account (the top circle containing your profile picture or initials in the left sidebar).
- In the slide-out navigation menu, click Settings.
- Scroll down the page until you find the section titled Approved Integrations.
Step 3: Generate a New Personal Access Token โ
- Click the button labeled + New Access Token.
- In the pop-up form, configure:
- Purpose: Enter
StudySync(or any label you prefer). - Expires: You can leave this blank to maintain continuous synchronization, or select a date past finals week.
- Purpose: Enter
- Click Generate Token.
WARNING
Copy your token immediately!
Canvas only displays your raw API token once inside the confirmation box. As soon as you close or refresh the dialog, Canvas encrypts the token and will never show it again. If you lose it, you will have to generate a new one.
- Select the full token string (typically starts with
7~...or10~...) and copy it to your clipboard.
Step 4: Connect in StudySync โ
- In StudySync, click Sync โ Canvas LMS Sync in the top navigation.
- Select the Canvas API Token tab (marked with the blue "Full Sync" badge).
- Enter your Canvas School Domain (e.g.
canvas.myschool.edu). - Paste your Canvas API Access Token into the token field.
- Click Connect & Sync.
- StudySync will securely authenticate with Canvas, import your active courses and upcoming assignments, and pull all current percentage scores and letter grades.
๐ Institutional IT Restrictions & Fallback Guide โ
Some universities configure Canvas security policies that hide or disable the "+ New Access Token" button for undergraduate student accounts.
How to Check โ
Go to Canvas Account โ Settings. If you scroll down and do not see an Approved Integrations section or the + New Access Token button is greyed out/missing, your institution's IT department has disabled personal API tokens for students.
The Frictionless Fallback โ
If this applies to your school:
- Simply switch to Method 1: Canvas Calendar Feed URL.
- The iCalendar feed is an open standard that is enabled by default on every Canvas installation and cannot be disabled by student account tiers.
- Once your courses and deadlines are synced via the calendar feed, you can still track your grades! Simply open the Grades & GPA tab or the Course Manager in StudySync and enter your target letter grades manually. StudySync's AI Academic Advisor will perform all target final exam calculations just as if connected via API.
The "Grades & GPA" Hub โ
When connected via the Canvas REST API, open the Canvas Sync modal and click the Grades & GPA tab to inspect your live academic standing:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Cumulative Semester GPA: 3.74 [ Honor Roll โญ ] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ CS 101 Intro to Computer Science 94.5% (A) [ Safe ] โ
โ MATH 201 Linear Algebra & Calculus 78.2% (C+) [ Attention โ ๏ธ ] โ
โ PHYS 150 General Physics I 88.0% (B+) [ Safe ] โ
โ ENG 102 Academic Writing & Rhetoric 91.5% (A-) [ Safe ] โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ2
3
4
5
6
7
8
Cumulative Semester GPA โ
Calculated automatically across all graded courses on a standard 4.00 university scale:
- 3.50 โ 4.00: Honor Roll โญ (Emerald badge)
- 3.00 โ 3.49: Good Standing ๐ (Indigo badge)
- < 3.00: Needs Boost โ ๏ธ (Amber warning badge)
Course Risk Classifications โ
Every course is automatically categorized to protect your GPA before exams:
- Safe (
safe): Current score $\ge 83%$ (B or higher). - Attention (
warning): Current score between $75.0%$ and $82.9%$ (C+ range). Actionable warning banner recommends high-impact assignments. - At Risk (
critical): Current score $< 75.0%$ (C, D, or F range). Prominently flagged in the AI Assistant system prompt.
Custom Target Goals โ
Click Set Goal or Edit next to any course in the Grades tab to specify your desired final grade (e.g. A, 92%). The AI Assistant uses these targets when answering planning queries.
๐ค AI Academic Advisor Integration โ
Your synced Canvas grades are connected in real-time to StudySync's built-in AI Assistant:
- Real-Time Context: Every question you ask the AI Assistant automatically includes your course list, letter grades, percentage scores, and at-risk warnings.
- Weighted Syllabi Mathematics: The AI calculates required scores on upcoming tests and finals using weighted average mathematics: $$\text{Required Final Score} = \frac{\text{Target Score} - \left(\text{Current Score} \times (1 - \text{Weight})\right)}{\text{Weight}}$$
Recommended Prompts to Try โ
- "How are my current grades looking across all my classes?"
- "What grade do I need on my MATH 201 final exam to finish with a B+?"
- "Which assignments due this week have the biggest impact on my GPA?"
- "Give me an emergency study schedule for the courses where I'm in the caution zone."
โฐ Automated Daily 5:00 AM Background Sync โ
StudySync includes an automated background scheduler (server/scheduler.js) that runs every morning at 5:00 AM:
- Automatic Pull: Fetches new assignments, rescheduled due dates, syllabus updates, and updated submission grades.
- Sleep Mode Catch-Up: If your laptop or desktop was asleep or your server was offline at 5:00 AM, StudySync detects the missed schedule upon waking and immediately executes a catch-up sync.
- Manual 1-Click Refresh: You can force an immediate refresh anytime by clicking Sync Schedule Now or Sync API Now in the Canvas Sync modal.
๐งน Managing & Filtering Enrolled Courses โ
How to Prevent Old or Past Semester Classes from Syncing โ
If past semester courses or club pages appear on your calendar:
- In Canvas on the web, click Courses in the left sidebar โ All Courses.
- Click the star icon (โญ) next to only your current semester courses.
- Canvas calendar feeds and API endpoints prioritize starred courses.
- In StudySync, open Sync โ Canvas LMS Sync and click Sync Now. Past courses will no longer sync.
Disconnecting or Resetting Canvas โ
To pause or remove your Canvas connection:
- In StudySync, click Sync โ Canvas LMS Sync.
- Click the red Disconnect button in the bottom left of the modal.
- Confirm the prompt.
- Safety Guarantee: Disconnecting removes your stored token or feed URL and stops automatic syncs, but all previously imported courses, homework, and study blocks remain safely in your StudySync planner.
โ Troubleshooting & Frequently Asked Questions โ
Q: I received an error: "401 Unauthorized" or "Invalid access token". โ
- Cause: The API token was copied with missing characters, expired, or was deleted in Canvas Settings.
- Solution: Return to Canvas Account โ Settings โ Approved Integrations, delete the previous token, generate a brand new token, and copy the full string immediately into StudySync.
Q: I received a "403 Forbidden" error when connecting the API token. โ
- Cause: Your university Canvas administrator has restricted student permissions for API token generation.
- Solution: Switch to Method 1: Canvas Calendar Feed URL. It takes 30 seconds and works on 100% of Canvas instances without IT approval.
Q: Does StudySync send my Canvas token to any third-party servers? โ
- Answer: No. Your Canvas token and calendar feed URL are stored exclusively in your local SQLite database (
study_sync.db) on your own computer. All HTTP requests are made directly from your local Node.js server (server/canvasHandler.js) to your school's Canvas server. Zero data is sent to external clouds or third parties.
Q: Will syncing submit my homework or change my grades? โ
- Answer: Never. StudySync's Canvas integration is strictly read-only. It only issues HTTP
GETrequests and cannot write, submit, or delete anything on Canvas.
Q: Can I sync multiple Canvas feeds or courses from different schools? โ
- Answer: Yes. If you take courses across multiple Canvas portals or community colleges, you can import deadlines from the primary school via API and add additional calendar feeds via the Apple Calendar & iCloud integration or manually add courses via the Course Manager.