Manages student enrollments in Canvas LMS courses for late-joining students. Handles reading student lists from CSV files, searching for courses, identifying enrolled vs. unenrolled students, enrolling missing students, and sending personalized private messages about assignment policies.
Use this skill when you need to manage student enrollments in Canvas, particularly for students who have joined a course late (e.g., after changing majors) and have missed initial assignments. The skill automates the process of enrolling students from a provided list and notifying them of relevant grade policies.
Name,email (case-sensitive headers).filesystem-list_directory to explore /workspace/dumps/workspace or similar directories.filesystem-read_file to parse the list of students.canvas-canvas_list_account_courses with a search_term. You may need to first get the root account ID using canvas-canvas_get_account.canvas-canvas_get_course.canvas-canvas_list_account_users with the email as the search_term. Record the id for each found user.canvas-canvas_get_course_grades. This returns an array of enrollment objects containing user_id.user_ids (from Sub-step B). Students whose IDs are not in the enrollment list need to be enrolled.canvas-canvas_enroll_user.course_id: The ID of the target course.user_id: The Canvas ID of the student.role: "StudentEnrollment"enrollment_state: "active"canvas-canvas_create_conversation for each student.recipients: An array containing the single student's user ID (e.g., ["75"]).subject: A clear subject (e.g., "Important: First Assignment Grade Policy for New Students").body: The personalized message. Use the student's first name from the CSV data.Name field in the CSV (typically the first word) to personalize the message.filesystem-list_directoryfilesystem-read_filecanvas-canvas_get_accountcanvas-canvas_list_account_coursescanvas-canvas_get_coursecanvas-canvas_list_account_userscanvas-canvas_get_course_gradescanvas-canvas_enroll_usercanvas-canvas_create_conversation