Canvas already knows every assignment your professors posted. What it does not do is tell you that three of them land in the same 48 hours, or remind you the night before, or show you what your grade looks like if you skip the discussion post. It gives you six course pages and leaves the arithmetic to you.

So most students end up doing the copying by hand. You open each Canvas course, scroll the assignments tab, and retype the due dates into a planner or a phone calendar. It takes an hour at the start of the semester and it is wrong by week three, because a professor pushed the paper back a week and you were the last person to hear about it.

Canvas Sync is Semora's way of skipping that copying step. Your Canvas assignments come across on their own, and when a professor moves a date, the change reaches Semora on the next sync.

The current Canvas connector and its limits

Semora connects to Canvas through your private Calendar Feed, the same link Canvas offers for adding your course calendar to Google Calendar or Outlook. There is no "Sign in with Canvas" button and nothing your school sets up on its side: the feed link is the whole connection.

Treat that link like a password, because anyone who has it can see your Canvas calendar. Keep it private, and follow your school's rules on connecting outside apps.

If the feed link does not work for you, or your school does not allow it, scan the course syllabus or copy the Canvas assignment list and paste it into the scanner on the web app. Both routes keep a review step before deadlines are added.

Connecting and importing courses

Start from Semora's connection screen and choose Canvas.

The screen asks for one thing: the private Calendar Feed link Canvas already gives you, under Calendar then Calendar Feed. Your school's Canvas address comes from that link, so there is nothing else to type. Semora checks the link is a real, secure Canvas feed and says what is wrong before attempting the connection.

Once the link is accepted, choose the courses you want to import and the Semora semester where they belong.

  • Open learning-platform connections in Semora and choose Canvas.
  • In Canvas, open Calendar, choose Calendar Feed, and copy the link.
  • Paste the link into Semora.
  • Choose the courses you want and the semester they belong to.

Choosing which courses come in

Semora reads your Calendar Feed and lists the courses it found dated work for. A course with nothing on your Canvas calendar does not appear, because the feed has nothing from it to bring across.

Everything that comes back is pre-selected. Tap any course to deselect it, or use Clear and Select all to flip the whole list at once. You also name the connection, it defaults to “Canvas”, and pick which semester the imported courses belong to, defaulting to your active one. If you have not created a semester yet, the screen links you straight to that step instead of failing on save.

Each course you keep becomes a real Semora course, not a read-only mirror. It gets a color from a rotating set of six, a book icon, and a permanent link back to its Canvas counterpart, and exactly one Canvas course maps to exactly one Semora course. From there it behaves like every other course in the app: rename it, add your own tasks alongside the imported ones, track grades in it.

The import is all-or-nothing. If something fails partway through — a network drop or an authorization error — Semora rolls back the connection and any courses it had started creating before reporting that nothing was saved. You do not end up with three of your five classes imported and no clear way to tell which two are missing.

What actually gets imported from each assignment

For every dated item in the courses you selected, Semora pulls what the Calendar Feed carries: the title, the date, and whatever description Canvas put in the entry. Descriptions arrive as plain text from the calendar entry, trimmed to a readable length, and a long one is cut at a sentence break rather than mid-word.

Semora also guesses a type for each item so your calendar is not one undifferentiated wall of “assignment.” The Calendar Feed does not say what kind of item something is, so the title is matched: midterm, exam, test, or a bare “final” becomes an exam, while “final draft” and “final paper” stay assignments; quiz becomes a quiz; project becomes a project; read, reading, or chapter becomes a reading; everything else stays an assignment. It is a keyword match, not comprehension, so a paper called “Unit 3 Response” lands as a plain assignment. You can change the type on any task in two taps.

Here is what ends up on each imported task:

  • The title, and the description as plain readable text.
  • The due date and time, converted to your device's local clock from the absolute timestamp Canvas returns, so an 11:59 p.m. deadline stays 11:59 p.m. instead of drifting by your UTC offset.
  • Not grades. The Calendar Feed carries dates, not marks, so points and scores stay yours to enter in Semora's grade tracking.
  • Not submission status. The Calendar Feed carries no record of what you have handed in, so completion in Semora is yours to set.
  • A link back to the assignment's own Canvas page, opened straight from the task in Semora.

How refreshing works after the first import

Refreshes use the same Calendar Feed link as the initial Canvas import. Semora shows the current connection state so you can tell whether imported coursework is up to date or needs attention.

While the feed link works and your device is online, Semora can refresh coursework during normal app use. If a refresh fails, the connection records a status instead of silently presenting the import as current.

You can also force one. Every connection in Settings has a “Sync now” button, and it reports back exactly what happened: how many assignments were updated, and how many were skipped for not having a usable due date. Each connection carries a plain-language health state you can read at a glance — never, syncing, success, partial, error, or credentials required.

After each successful sync, Semora reschedules the reminders on your tasks. That is the part that makes a moved deadline actually useful: when a professor pushes a paper from Tuesday to Friday, the notification moves with it instead of firing on the old date.

A Calendar Feed link does not expire. If you reset it in Canvas, Semora marks the connection as needing attention and a Reconnect action accepts the new link in place.

What Semora can do with a Canvas connection

For Canvas, Semora reads one thing: the dated items in the Calendar Feed link you pasted. That feed carries no grades and no submission state. Moodle works the same way, from the personal calendar export link you copy out of your own Moodle: dates, and no grades or submission state either. Blackboard, which connects with a school-issued token, can also read gradebook columns. Semora never submits coursework, posts, edits, or deletes anything in your learning platform.

There are guardrails on any school address you enter. Semora accepts only a secure (https) link, refuses addresses that point inside a private network, and will not follow a link that redirects away from your school's own address.

Disconnecting removes the connection from Semora. Coursework already imported into your planner, including your completion history and grades, remains available unless you delete it separately.

What a sync will never overwrite

Every synced assignment is matched to the exact Canvas assignment it came from. Running a sync twice does not create duplicates, and the same import repeated ten times produces the same result as running it once.

Nothing gets deleted, either. If an assignment disappears from Canvas, Semora keeps the task along with your completion state and any grade attached to it, and the task screen labels it as no longer listed in the LMS but kept in Semora. Semora only marks a task that way when the feed came back clearly complete, because a feed cut off partway can make a perfectly valid assignment look like it vanished.

Canvas refreshes the fields you have not touched — title, description, type, due date, due time, and which course an item belongs to. The moment you edit one of those yourself it becomes yours, and syncs stop overwriting it. The rules are specific rather than vague:

  • A field you edit is yours from then on. Rename an assignment or move its date and later syncs leave your version alone.
  • One deliberate exception: if Canvas moves a deadline EARLIER than the date you set, the earlier date wins, because being protected from a deadline that moved up is not protection. Semora flags the disagreement so you can see what changed.
  • Grades are never touched by a sync. The Calendar Feed carries no scores, so the number you typed in cannot be overwritten by an import.
  • Completion is yours alone. The Calendar Feed carries no submission state, so whether you have handed something in is something only you tell Semora — and no sync un-checks it.
  • The same applies to the late flag: once something is marked late, a later sync will not quietly clear it.
  • Because the feed carries no submission time, Semora leaves the completion time unknown rather than stamping the sync time, which could make on-time work look late.

Blackboard and Moodle, honestly

Semora also connects to Blackboard and Moodle, both free on every plan. Moodle connects the way Canvas does, with the personal calendar export link Moodle gives every user by default, so there is nothing for an administrator to enable. Blackboard uses a token your school issues, so whether it works depends on your school.

When Blackboard import is available, Semora can read course lists and gradebook columns for titles, due dates, and point totals. Depending on the institution's setup, score or submission detail may be more limited than Canvas.

Moodle is available to anyone with a Moodle account, because the link comes from your own Moodle rather than from an administrator: open Calendar, then Import or export calendars, then Export calendar, then Get calendar URL, copy the URL, and paste it into Semora. Your Moodle password is never typed into Semora — you sign in to Moodle itself, in your own browser. The one place it is harder than Canvas is that trip out to the browser, since Canvas's link is already on the calendar page you are looking at. Like Canvas, the feed carries dates rather than marks: no grades, no submission status, and an assignment with no due date set never becomes a calendar event, so it does not appear.

What it costs, who it is for, and where it gets awkward

Connecting Canvas, Blackboard or Moodle is free on every plan, and it does not use your free AI action. Pro, at $4.99 per month or $29.99 per year, is for what sits around the sync, such as more AI actions, a second semester and the study tools. The pricing page compares the two plans.

Canvas Sync is not for everyone. If your professor never posts assignments to Canvas and keeps everything in the syllabus, scanning the syllabus is the better path and it is free. If you want to submit work or message your instructor, Canvas stays where that happens — Semora is an organizing layer on top, deliberately read-only. And a few edges are worth knowing before you connect:

  • Assignments with no due date in Canvas are skipped. Semora marks the connection “partial” and tells you exactly how many were skipped, so it is visible rather than silent.
  • If you already created a course by scanning its syllabus, importing that same class from Canvas creates a second course. Semora does not merge the two — pick one route per class.
  • Semora does not pull instructor names from the Canvas course list, so imported courses arrive with the instructor field blank. You can fill it in yourself.
  • Semora reads at most 1,000 items from a Calendar Feed, so an unusually long history can arrive truncated; when a response looks incomplete Semora keeps what it already imported rather than deleting from it. A Moodle calendar export link is read the same way, with a 5,000-item ceiling of its own. Blackboard, which syncs course by course with a token, covers up to 50 courses at a time.
  • There is no per-course on/off switch after import. To change which courses sync, disconnect and reconnect with a different selection.

Frequently asked questions

Is Canvas import free?

Yes. Learning-platform import is free on every plan. The free plan also covers the same job from the syllabus side: one AI action for the lifetime of the account to spend on a scan, unlimited classes synced free from Canvas, Blackboard or Moodle plus one course you add by hand within one semester, unlimited deadlines and tasks you add yourself, grade tracking with weighted averages, and same-day reminders.

How does Semora connect to Canvas?

With the private Calendar Feed link Canvas gives every student. In Canvas on the web, open Calendar, choose Calendar Feed, copy the link, and paste it into Semora. That link is the whole connection.

What if I would rather not connect Canvas at all?

Scan the syllabus, or paste the Canvas assignment list straight into the scanner. Both routes run through the scanner, so on a free account either one spends your single lifetime AI action, and if your professor keeps everything in the syllabus rather than posting to Canvas, scanning is the better path anyway.

What actually gets imported?

The courses that have dated work in your Calendar Feed, and only the courses you choose. For each item you get the title, the description, a link back to Canvas, the due date and time converted to your device's local clock from the absolute timestamp Canvas returns, and a type guessed from the title, so your calendar is not one undifferentiated wall of “assignment” — titles containing quiz become quizzes, and titles containing midterm, final, exam or test become exams. The feed carries no points, grades or submission status.

Will a sync overwrite work I have already done?

No. A re-sync refreshes titles and dates but leaves your own state alone. The feed carries no submission time, so Semora leaves the completion time unknown rather than stamping the sync time, because using sync time could make on-time work look late.

Does it work with Blackboard and Moodle?

Yes, and both are free on every plan, exactly like Canvas. They differ in setup. Moodle connects the way Canvas does, with the personal calendar export link you copy from your own Moodle under Calendar, then Import or export calendars, then Export calendar — no token, and nothing for your school to approve, though you do have to step out to your browser once to fetch it. Blackboard uses a school-issued token, so its availability depends on your institution, and a sync covers up to 50 courses at a time.