WeBWorK is an online assessment platform that integrates with Canvas and is used primarily in mathematics and science. Students can access practice problems and assignments anywhere, and instructors can limit the number of attempts for each problem. By completing problems at their own pace and receiving instant feedback each time, students are empowered to practice and understand new concepts and learning goals.

Some key features are:

  • Display of complex mathematical notations and formulas (LaTeX)
  • Automatic grading to provide students with instant feedback
  • Randomly generated numbers and functions within problems to prevent students from sharing answers
  • Instructors can author their own problems or choose from thousands of problems in the National Problem Library

There are 3 main assignment types in WeBWorK:

  1. Homework Sets are untimed problem sets used for homework. Instructors select Opens and Closes dates for each homework set, as well as an Answers Available date to reveal the correct answers to students. Instructors may also choose to Hide Hints from Students while they work on the homework problems. Lastly, homework sets can be made Visible/not Visible, which is a useful feature to hide homework sets from students' view during exams.

  2. Gateway/Quizzes are timed assessments used for quizzes and exams. Their options include the same as homework sets, plus additional exam-related settings: instructors can set a specific Test Time Limit instead of letting the assignment expire at the Close date, and they may choose the Number of Tests per Time Interval to set the number of attempts each student will have during the exam. To help deter cheating, instructors can choose to Order Problems Randomly as well as choose not to Show Scores on Finished Assignments.

  3. Proctored Gateway/Quizzes are password-protected Gateway/Quizzes. Students must enter credentials, which are provided by the instructor, to access the exam. The default setting requires credentials only once: the first time the student accesses the exam. If you instead want your WeBWorK course to require credentials every time students access their exam and upon submitting their exam, please refer to the page below:

Integrating WeBWorK into Canvas

Instructors will need to create their WeBWorK course from within Canvas at the start of each term, using the process described below.

  1. Log into Canvas.
  2. Click Assignments.
  3. Click + Assignment.
  4. Enter an Assignment Name such as "WeBWorK Link".
  5. Scroll down to Submission Type.
  6. Select External Tool from the drop-down menu.
  7. Next to Enter or find an External Tool URL, click Find.
    • Note: If you skip this step and manually enter a URL without using the Find function, WeBWorK will not sync with Canvas.
  8. Find and select WeBWorK, and click Select.
  9. Select Load This Tool In a New Tab.
    • Note: If you skip this step then WeBWorK will not sync correctly with Canvas.
  10. Click Save and Publish.
  11. Click on Load [Assignment Name] in a new window.

Once a general link has been created in Canvas, instructors and students will be able to access WeBWorK via this link.

Note: The course navigation WeBWorK link in Canvas can provide students with an entry point to the WeBWorK course site, but will not automatically sync the WeBWorK assignment grades to the Canvas grade book. To sync WeBWorK grades with Canvas, please see the instructions below for Setting Up Canvas Grade Sync.

Setting Up Canvas Grade Sync

In Canvas, it is possible to sync the grades of WeBWorK assignments with Canvas’s gradebook. This functionality is not automatic and requires the creation of individual assignment links in Canvas for each specific WeBWorK assignment rather than using a general WeBWorK link. To set up individual Canvas assignments for WeBWorK-Canvas grade sync, follow the instructions below.

Note: if you already have an assignment in your WeBWorK course that you would like to set up Grade Sync for, you may skip the instructions, "How to create a problem set in WeBWorK".

  1. In your WeBWorK course, click Hmwk Sets Editor in the navigation menu.
  2. Click the Create tab.
  3. Enter a name for the set, and click Take Action!.
    • Note: When creating names, spaces are not allowed in the name. To substitute, you can use "_" instead.
    • Remember the name of this assignment - you will need this to set up the Canvas Grade Sync.
  4. Click the number under the Edit Problems column next to the set.
  5. Under the General Information section, select the Assignment type you would like: "homework", "gateway/quiz", or "proctored gateway/quiz".
  6. Set the due dates, description, and any other parameters, then click Save Changes.

Note: To add problems to your empty set, follow these instructions for adding existing problems from Library Browser or creating custom problems. You can do this now, or come back to this after you have set up Canvas Grade Sync for this assignment.

  1. Create your assignment(s) in WeBWorK (see above instructions to create a WeBWorK assignment)
  2. Log into Canvas.
  3. Click Assignments.
  4. Click +Assignment.
  5. Give the assignment link a name such as "WeBWorK Assignment01".
  6. Int the Point field, enter the point value of the WeBWorK assignment.
  7. Select External Tool from the dropdown menu
  8. Click Find
    • Note: You must click Find to properly set up the WeBWorK link in your course.

  9. From the list of External Tools, select WeBWorK, and click Select.
  10. In the URL field, append the following parameter to create a link to a specific WeBWorK assignment:


    • the assignment_name is where you enter the specific name of the assignment you are creating a link for. If you followed the previous steps to create a new WeBWorK assignment, enter the name of your newly created assignment here.
    • Note: This is the name of the assignment in WeBWorK, not the name of the assignment link that you created in Canvas.
    • For example, if your assignment is called HW1, then the URL should read:


  11. Check the box next to Load This Tool In A New Tab.
    • Note: If you skip this step then WeBWorK will not sync correctly with Canvas.
  12. Set a due date for the assignment link (recommended that the due date be the same as the WeBWorK assignment's closing date).
    • Note: the '''available from/until''' dates in Canvas only control the visibility of the assignment link in Canvas and do not control the availability of the WeBWorK assignment. In other words, setting the dates in Canvas does not automatically update the associated WeBWorK assignment.
  13. Click Save and Publish.

  • Accessing the assignment: Students must access each WeBWorK assignment exclusively through their respective Canvas assignment links in order for grades to sync properly between WeBWorK and Canvas.

  • Grade sync: Grade sync between WeBWorK and Canvas occurs approximately every 8 hours, and will capture the state of the WeBWorK grade at that time. In the meantime, some students may see a difference in their grades between WeBWorK and Canvas; therefore, it may take another grade sync (8 hours) to capture the new/final grade state and override the partial grade.

  • Editing a student's WeBWorK assignment grade: To edit a student's grade, instructors must edit the grade in WeBWorK and not Canvas as WeBWorK’s grade sync would override the grade change in Canvas. See instructions to edit WeBWorK grades here.

  • Auto-scaling point values: The grade sync between WeBWorK and Canvas auto-scales the grades, meaning that if a student received 2/3 in WeBWorK (66.6%), and the Canvas assignment was worth 2 points, the Canvas grade would be 1.33/2 (66.6%).

  • Canvas assignment due date v.s. WeBWorK assignment closing date: It is recommended that instructors use the same date for the Canvas assignment due date and the WeBWorK assignment closing date.

  • Late submission tags in Canvas gradebook: Since the grade sync doesn't occur automatically (~8 hours), it is possible that instructors/students may see WeBWorK assignments marked as "late" in the gradebook. Currently, WeBWorK does not pass submission times back to Canvas but rather uses the sync time as a marker. For example, if a student completed an assignment 6 hours before the closing date and it took ~8 hours for the grade to sync to Canvas, the assignment in Canvas would be marked as late (essentially 2 hours late). Therefore, instructors may want to notify their students of this delay and potential "late" tags in the Canvas gradebook. Or, if instructors wish to prevent the "late" tag altogether, they may avoid adding a due date to the Canvas assignment.

Working with WeBWorK

For more information and in-depth instruction guides about working with WeBWorK, please visit our full WeBWorK documentation on our UBC wiki page:

  • UBC WeBWorK Documentation
  • Learning technology support

    If you have any questions or if you would like to report an issue regarding a learning technology, please don’t hesitate to contact us at LT.support@science.ubc.ca. For in-person support, please join our LTRs at one of our drop-in sessions.