Ungraded quizzes and surveys are invisible in the Canvas to-do feed
Answer
Practice quizzes and surveys are excluded from Canvas's to-do feed unless an app explicitly asks for them (include[]=ungraded_quizzes) — and even then they only appear in a window from right now to one week out, with no backward window at all. A required survey can cost you participation points without ever appearing on your list.
What you see
Your instructor assigns a start-of-term survey, a syllabus quiz worth participation credit, or an ungraded practice quiz that the course still expects you to complete. Whichever it is, it never lands on your Canvas to-do list. You find out it existed when the participation points are already gone — or when a classmate mentions it in the group chat the day after it closed.
The same thing happens in reverse: a survey that was showing yesterday is not there today, because its due date has passed and there is no look-back at all. Regular assignments get a four-week backward window in the to-do feed (due_after: 4.weeks.ago, alongside the same feed's one-week forward limit). Ungraded quizzes get none.
Why it happens
Two separate mechanisms stack here.
First, they are opt-in. The to-do feed does not contain ungraded quizzes by default. An app reading the Canvas API has to pass the ungraded_quizzes include parameter to get them at all. Instructure's Users API reference describes the parameter plainly: it optionally includes ungraded quizzes "(such as practice quizzes and surveys) in the list," and notes they are returned under a quiz key instead of an assignment key — a different shape from the assignment items around it.
Second, when they do appear, the window is narrower. In Canvas's own source, the scope that assembles ungraded quizzes for the to-do feed takes due_after: Time.zone.now, due_before: 1.week.from_now as its defaults. Read that literally: the window opens at the current moment and closes one week out. Nothing overdue. Nothing further ahead than seven days. A survey due in ten days is not in the feed; the same survey is in the feed on day four; and one minute after it is due, it is out of the feed again, whether or not you completed it.
Neither behavior is a bug, and neither is stated in Instructure's Users API reference — the page documenting this endpoint. The result is that surveys, syllabus quizzes and ungraded checks can be required coursework and still never reach the list you are checking.
What you can do about it
- Check each course's Quizzes page directly. The Quizzes tab, where the instructor has left it visible, generally lists practice quizzes and surveys alongside graded ones — a better place to look than the to-do list. A short weekly pass through it is worth the two minutes.
- Use the Canvas calendar rather than the to-do list for anything dated. A survey with a due date shows on the course calendar, which reaches further out than the to-do window; an undated one will not appear on either. The calendar's own iCal export has hard limits of its own.
- Read the syllabus for participation requirements. Surveys and syllabus quizzes are frequently described in the syllabus and only loosely represented in Canvas. If participation credit is mentioned there and you cannot find the corresponding item in Canvas, ask the instructor rather than assuming it does not exist.
- Watch announcements and course email in the first two weeks of term. Start-of-term surveys cluster there, and the announcement is often the only notice you will get.
- If your course uses New Quizzes or an external tool, treat that tool's own list as the source of truth — items delivered through external tools behave differently again in the Canvas feed.
A note on Margin
Margin does not currently request ungraded quizzes, so these items are not captured — a real gap, stated rather than implied.
Evidence
-
canvas-lms,
app/models/user_learning_object_scopes.rb(master branch, retrieved July 2026), the defaults on the ungraded-quizzes scope used by the to-do feed:due_after: Time.zone.now, due_before: 1.week.from_now,For comparison, the regular-assignment scope in the same file (
assignments_needing_submitting) defaults to:due_after: 4.weeks.ago, due_before: 1.week.from_now,Line numbers move between releases; the scope and method names above are the durable anchors.
- Instructure Users API reference (
developerdocs.instructure.com/services/canvas/resources/users), on theungraded_quizzesinclude parameter, verbatim: "Optionally include ungraded quizzes (such as practice quizzes and surveys) in the list. These will be returned under a +quiz+ key instead of an +assignment+ key in response elements."
Evidence grade: PRIMARY (Canvas source plus Instructure's own documentation).