Canvascal
Welcome to Canvascal! Pick the courses you want from your Canvas feed. You get a subscription URL for any calendar app, with cleaner titles and reminders.
Create a subscription
Change or repair an existing subscription
Change an existing Canvascal subscription
Repair a subscription after Canvas reset the feed link
Connect via Canvas (advanced)
Connect with your Canvas account instead of a feed link
Status
Waiting for your Canvas feed link.
Your subscription
Add this URL to your calendar app as a subscribed or internet calendar. Keep it private: it grants access to the calendar generated from your Canvas feed.
Save this separately. It lets you replace an expired Canvas feed without changing the subscription URL. Anyone with it can replace your source feed.
- Open the subscription URL
- Subscribe with your default calendar app (webcal link)
- Add to Google Calendar (opens in a new tab, and gives the URL to Google)
One calendar per course
If you would rather subscribe to each course separately, use these instead.
Subscription repaired
The calendar URL stayed the same. Calendar apps will pick up the replacement feed on their next refresh.
This is the same private repair link. Keep it saved for any future Canvas feed reset.
Limits
- Canvas caps each feed at 1000 events per category, so a very busy term can be cut short at the source.
- A Canvas feed covers only 30 days back to 366 days ahead. Nothing outside that window can appear.
- Concluded courses do not appear in the feed at all.
- Canvas does not say which events are quizzes, so quizzes and assignments look the same here.
Privacy
- No accounts or sign-in. Your configuration is encrypted and stored in Cloudflare Workers KV.
- Your subscription URL contains a random identifier, not your Canvas feed link or preferences.
- Your Canvas feed link is never shown back to you by this page and is never written to a log.
- The private repair link is separate from the calendar subscription URL. Its secret is stored only as a one-way hash.
- Canvascal needs no Canvas API token and can only read what your feed link already exposes.
- If Canvas rejects the feed link, Canvascal puts a warning event in the calendar. New subscriptions can keep the same calendar URL by using their separate private repair link.
- The "Add to Google Calendar" link below your result hands your subscription URL to Google. That URL is private. Use the plain URL instead if you would rather it did not.