TutorLMS Integration: Enrollment, Completion, and Quiz Triggers
Krom Automation Pro connects to TutorLMS, giving you four triggers and three actions covering student enrollment, course completion, lesson progress, and quiz results. Use this integration to build automated student journeys — welcome emails on enrollment, certificate delivery on completion, and pass/fail follow-ups after quizzes.
No API key or configuration is required. Krom Automation detects TutorLMS automatically when it is active.
Requirements #
- Krom Automation Pro installed and activated
- TutorLMS installed and active
Available triggers #
User Enrolled
Fires when a user is enrolled in a TutorLMS course.
| Data field | Description |
|---|---|
user_id | WordPress user ID |
user_email | User email address |
user_display_name | User display name |
user_first_name | User first name |
user_last_name | User last name |
course_id | TutorLMS course ID |
course_title | Course title |
course_url | Course URL |
enrollment_date | Date of enrollment |
Common use: Sending a welcome email with course access details, notifying the instructor, or adding the student to a CRM list.
Course Completed
Fires when a student completes all lessons and quizzes required in a TutorLMS course.
| Data field | Description |
|---|---|
user_id | WordPress user ID |
user_email | User email address |
user_display_name | User display name |
user_first_name | User first name |
user_last_name | User last name |
course_id | Course ID |
course_title | Course title |
course_url | Course URL |
completion_date | Date the course was completed |
Common use: Emailing a completion certificate, alerting the instructor via Slack, offering an upsell to an advanced course, or tagging the student in an email marketing platform.
Lesson Completed
Fires when a student completes a TutorLMS lesson.
| Data field | Description |
|---|---|
user_id | WordPress user ID |
user_email | User email address |
course_id | Course ID |
course_title | Course title |
lesson_id | Lesson ID |
lesson_title | Lesson title |
completion_date | Date the lesson was completed |
Common use: Sending lesson-specific resource emails, tracking progress in Google Sheets, or notifying the instructor of student milestones.
Quiz Attempt Ended
Fires when a student submits a TutorLMS quiz. Use a condition on {{pass}} to branch the workflow based on whether they passed or failed.
| Data field | Description |
|---|---|
user_id | WordPress user ID |
user_email | User email address |
course_id | Course ID |
course_title | Course title |
quiz_id | Quiz ID |
quiz_title | Quiz title |
pass | Boolean — true if passed, false if failed |
score | Score value |
percentage | Score as a percentage |
completion_date | Date the quiz was submitted |
Common use: Sending a congratulations email on pass, a supportive retry guidance email on fail, or updating a Google Sheet with quiz results.
Available actions #
Enroll in Course
Enrolls a user in a TutorLMS course programmatically.
| Field | Required | Description |
|---|---|---|
user_id or user_email | Yes | Identify the user by ID or email. Use merge tags from your trigger. |
course_id | Yes | The TutorLMS course ID to enroll the user in. |
Unenroll from Course
Cancels a user’s enrollment in a TutorLMS course.
| Field | Required | Description |
|---|---|---|
user_id or user_email | Yes | The user to unenroll. |
course_id | Yes | The TutorLMS course ID. |
Mark Lesson Complete
Programmatically marks a TutorLMS lesson as complete for a user.
| Field | Required | Description |
|---|---|---|
user_id or user_email | Yes | The user to update. |
lesson_id | Yes | The TutorLMS lesson ID to mark as complete. |
Real-world automation examples #
Enrollment welcome email Trigger: User Enrolled Action: Send Email to {{user_email}} with a welcome message, the {{course_title}}, and a link to {{course_url}}.
Completion certificate email Trigger: Course Completed Action: Send Email to {{user_email}} congratulating them on completing {{course_title}}, with a certificate attachment or download link if generated externally.
Quiz pass/fail branching Trigger: Quiz Attempt Ended Condition: pass equals true Yes branch: Send Email (congratulations + next steps) No branch: Send Email (encouragement + retry tips)
Instructor Slack alert on completion Trigger: Course Completed Action: Slack Send Message to #courses with {{user_display_name}} just completed {{course_title}}.
Pre-built templates #
Install these from Krom Automation > Templates:
| Template | What it does |
|---|---|
tutor-enrollment-welcome | Welcome email on TutorLMS course enrollment |
tutor-course-completion | Completion email on course completion |
tutor-quiz-failed | Follow-up support email when a student fails a quiz |
Troubleshooting on TutorLMS integration #
TutorLMS triggers aren’t appearing
Krom Automation detects TutorLMS using the tutor() function. Confirm TutorLMS is installed, active, and fully initialised. Try deactivating and reactivating Krom Automation Pro if triggers don’t appear after TutorLMS is activated.
The Quiz Attempt Ended trigger fires on both pass and fail- I only want to act on one.
Add a condition on pass equals true (or false) to restrict the workflow to the outcome you want. The trigger itself fires on all quiz submissions — conditions are how you separate the paths.