Select which courses go in Calendar Feed


Currently all of the courses for which I am registered go into my calendar feed. This is problematic for me. I want to be able to select which courses show up in the calendar feed, or to have a separate feed for each course.

Instructure Alumni
Instructure Alumni

 @sg1224 ​, is currently open for voting. Does it essentially capture what you've just requested? If it does, please add your feedback and vote to the existing idea--and if it does not, please provide some additional examples that will help the Community differentiate between your idea and the existing one.

Community Novice

I am confused. If the idea is open for voting Wed June 1 through Sept. 7, 2016, then why is it still open for voting?

The whole vote up / vote down system makes little sense. How long does it take for Instructure to make a decision about new product features?

Instructure Alumni
Instructure Alumni

That's a good question,  @sg1224 . I noticed the same thing, but decided not to look a gift horse in the mouth. Smiley Happy

I suspect it was merely an oversight. Feature ideas have to be opened and closed by a very small team of Community Managers, and it is a tedious manual process. Since you have called it out as an exception to the rule, I will bring it to their attention so that they can close it.

And in that case, assuming there are no other duplicates extant, your new idea will most likely be put forward for voting in the upcoming voting cycle.

Instructure Alumni
Instructure Alumni

​ should have been closed for voting on September 7, 2016, and has now been archived.

Community Team
Community Team

This idea has moved to the next stage and will be open for voting among the Canvas Community, from Wed. October 5, 2016 - Wed. January 4, 2017.

Check out this doc for additional details about how the voting process works!

Community Novice

Please put this update on the fast track. The ability to select what courses are part of the calendar feed would be a tremendous improvement to those of us who need to sync Canvas to Outlook. I am part of several courses within my district, but only need one or two of their calendars synced. Thanks so much.

Community Contributor

While this isn't a fix, I made my own workaround. My district uses Canvas Calendar to push PD times/dates to us and I also wanted to be able to filter those out in my Google Calendar.

So, I wrote a Google Apps Script that I manually configured to trigger once a day.

It's not a pretty solution, but it is "easy" to use. You can make your own copy and somewhat easily configure it to use your Canvas Calendar feed (must be imported to Google Calendar).

Here's the source code on Google Apps Script.

Community Team
Community Team

The Radar idea stage has been removed from the Feature Idea Process.  You can read more about why in the blog post Adaptation: Feature Idea Process Changes.


This change will only impact the stage sort of this idea and will not change how it is voted on or how it is considered during prioritization activities.  This change will streamline the list of ideas 'open for voting', making it easier for you to see the true top voted ideas in one sort, here.

Community Explorer

For instructors, it would be helpful to be able to add only the scheduler appointments to the feed. I don't need to know when my students' assignments are due, but I do need to know when they'll be coming to my office.  Thanks!

Community Member

I am having numerous teachers requesting this feature.  The amount of classes we have loaded is cumbersome at best and should be an easy fix.

Community Novice

I have 10 different canvas section/courses that I have on my dashboard this term.... I only want 1 of those to show up in my personal calendar... 

Community Champion

Hi, Alex,

Do you think this would still work with the change Google has made with the Apps Scrpt API replacing the Apps Script Editor?

Community Novice

I was surprised three years have passed since this idea was put here 😞

I do need this feature. I put every plan and due date (either private or academic stuff) on Google Calendar. However, one course I am in has too many schedules I don't attend, and many important ones I have to remember from the other groups are hidden on Google Calendar. The filtering system in Calendar feed is necessary!

Please accept this idea and make it possible!

Community Contributor

Hi  @rislis ,

I've been away from the Canvas Community for awhile, but I just tested this script and it still works! Let me know if you still want to use it and I can write a more detailed tutorial on it. Smiley Happy

Community Champion

Thank you, Alex! I'll give it a whirl.

Community Novice

This would be especially helpful for teachers who are "observers" supporting students that are not in their classes. When I embed my calendar into my google site the those classes that I'm observing also get added to the calendar which mucks up the calendar visually. 

Please make this a priority for teachers participating in remote learning.

Community Member

I agree this needs to be a priority during remote learning.  Many of us need a way to efficiently and effectively communicate with our parents about due dates (even when not doing remote learning).  Being able to add each course I teach (without seeing my courses or PLC courses' due dates) to my website would keep my parents and students informed and I wouldn't have to maintain multiple calendars.  

Community Contributor

 @bmfrank ‌ and others,

Here's a more detailed tutorial on how to set up the CanvasCalendarFilter Google Apps Script:

Setup and Configuration

  1. Make sure you've subscribed to your calendar already (See: How do I subscribe to the Calendar feed using Google Calendar as an instructor?)
  2. Make a copy of the script for yourself: CanvasCalendarFilter - Google Apps Script
  3. Find the section that says "BEGIN CONFIGURATION"
    1. canvasCalendarID is Google Calendar's unique ID for your Canvas Calendar
      1. Click the dropdown arrow next to your calendar in the Google Calendar left sidebar
      2. Click "Calendar Settings"
      3. Find the section labeled "Integrate calendar" and find "Calendar ID"
      4. Paste it between the quotes on the line that says:
        1. var canvasCalendarId = "";
    2. courseList is a list of the courses that you want to make calendars for. This should match the name of the course in your calendar feed. (ie. if an event is called "Lesson 1.1 [Algebra I]", then you should put "Algebra I" in the list.
      1. Make sure they match the example (quotes and commas!)
      2. var courseList = ["English 9", "Social Studies 9", "Algebra I"];


Using the Script


  1. After finishing the setup, you should manually run the script by selecting "updateCalendarsForCourses" and clicking the play button at the top of Google Apps Script to initially sync all of the calendars: 353969_pastedImage_9.png
  2. This will manually create separate calendars for each of the courses you named in courseList, but won't keep them updated.

Automatically (recommended)

  1. You can create what's called a "trigger" to have Google Apps Script automatically run the script on a schedule.
  2. We're going to create a "Manual trigger" to run the sync every 12 hours.
  3. Switch to the "" in the left sidebar.
  4. select "installTriggers" and click the play button at the top: 353970_pastedImage_18.png
  5. If you'd like to tweak the trigger to run on a different schedule, read more here: Installable Triggers  |  Apps Script  |  Google Developers 
  6. I do recommend still running the sync manually at least once before waiting on the trigger to kick in!

Disabling the Automatic Trigger

  1. Go back to and select "deleteTriggers" from the list of commands (just like when you installed the trigger).
  2. Alternatively, delete the whole script file from the File menu!

Hope this helps!

Community Member

As far as I can tell there is no way to export an individual course calendar. I'm hoping that you will develop a way to separate the course calendars allowing for the exporting options so that you can export and individual course calendar from that course and not have to export them all together.

Community Contributor

Although it isn't exposed (as far as I can tell) in the UI you can get an iCal feed for a course through the API. This is accessible to all users through the courses API. For example if you are in the course: 

then insert '/api/v1' after the hostname to get:

then in the returned data (JSON) you will see a 'ics' field which you can use to subscribe to in your favourite calendar tool (eg Google Calendar).