[Notifications] Email Notification once a student finishes all the requirements in a module/course

Problem statement:

We would like to inquire if there is a functionality within Canvas that allows administrators or instructors to receive email notifications once a user completes all the modules and requirements of a course. This feature is crucial for our program as it enables us to promptly issue online diplomas to participants upon their course completion. Your prompt assistance in enabling or configuring this notification feature would be greatly appreciated. If this functionality is not currently available, could you please advise on any possible workarounds or if there are any plans to implement such a feature in the near future?

Proposed solution:

To solve the problem of enabling email notifications within Canvas for administrators or instructors when a user completes all modules and requirements of a course, we can design a solution that leverages Canvas's API and its existing notification system.

Here is a detailed step-by-step solution:

  1. Define Completion Criteria Ensure that each module in the course has clear completion criteria, such as: Submitting assignments Passing quizzes Viewing content pages
  2. Utilize Canvas API Canvas provides a robust API that can be used to track module completion.
    1. Here's how you can use it:
      1. Monitor Module Progress API Endpoint: GET /api/v1/courses/:course_id/modules/:module_id/items This endpoint retrieves the completion status of each item in a module for a user. API Endpoint: GET /api/v1/courses/:course_id/modules This endpoint retrieves all modules for a course and can be used to check if all modules are completed by a user.
      2. Check Course Completion API Endpoint: GET /api/v1/courses/:course_id/completion This endpoint retrieves the completion status for users in a course.
  3. Automate Notification Create a backend service or a script that regularly checks the completion status of users and sends notifications when all modules and requirements are completed.
    1. Backend Service Workflow: Fetch User Progress: Use the Canvas API to fetch module completion status for each user.
    2. Check Completion: Determine if all modules are completed by comparing the fetched data against the completion criteria.
    3. Send Email Notification: When a user completes all modules, use an email service (e.g., SendGrid, AWS SES) to send an email notification to the designated administrators or instructors.
User role(s):

admin

1 Comment
nathanatkinson
Community Team
Community Team
Status changed to: Open