LearnDash is a WordPress learning management system plugin that lets you create courses, quizzes, certificates, and manage your online learning platform. QuillCRM deeply integrates with LearnDash to automate enrollment workflows, track student progress, and personalize communications with rich merge tags.
The integration is automatic — no API keys or additional setup required. Once LearnDash is installed and activated, the integration becomes available in QuillCRM.
Triggers
LearnDash triggers let you start automation workflows based on student activity in your courses.
User Enrolled in Course
Fires when a user is enrolled in a LearnDash course, whether manually by an administrator, through a purchase, or via an enrollment rule.
User Left Course
Fires when a user leaves or is removed from a course.
Course Completed
Fires when a user completes all required content in a course and the course is marked as completed.
Lesson Completed
Fires when a user completes a lesson within a course.
Topic Completed
Fires when a user completes a specific topic within a lesson.
User Added to Group
Fires when a user is added to a LearnDash group by an administrator or through an automated process.
None of the triggers require configuration fields — they fire for any course, lesson, topic, or group. Use conditions within your automation to filter by specific courses or groups.
Actions
LearnDash actions let you manage course and group enrollment directly from your automation workflows. Each action requires selecting a specific course or group from a dropdown.
Add User To Course
Enrolls the contact’s WordPress user in a selected LearnDash course.
Configuration: Select a Course from the dropdown.
Remove User From Course
Removes the contact’s WordPress user from a selected LearnDash course.
Configuration: Select a Course from the dropdown.
Add User To Group
Adds the contact’s WordPress user to a selected LearnDash group.
Configuration: Select a Group from the dropdown.
Remove User From Group
Removes the contact’s WordPress user from a selected LearnDash group.
Configuration: Select a Group from the dropdown.
Note: All actions require the contact to have a WordPress user account with a matching email address.
Conditions
LearnDash conditions let you create branching logic in your automations based on the contact’s enrollment, completion, and activity data.
| Condition | Type | Operators | Description |
|---|---|---|---|
| Enrollment Courses | Multi-select | includes, not includes, includes all, not includes all | Check which LearnDash courses the contact is enrolled in. |
| Enrollment Groups | Multi-select | includes, not includes, includes all, not includes all | Check which LearnDash groups the contact belongs to. |
| Course Completed | Multi-select | includes, not includes | Check which courses the contact has completed. |
| First Enrollment Date | Date | before, after, on, between, within | Check when the contact first enrolled in any course. |
| Last Enrollment Date | Date | before, after, on, between, within | Check when the contact most recently enrolled in a course. |
| Enrollment Tags | Multi-select | matches any of, matches all of | Check if the contact is enrolled in courses with specific LearnDash course tags. |
| Enrollment Categories | Multi-select | matches any of, matches none of, matches all of | Check if the contact is enrolled in courses within specific LearnDash course categories. |
Merge Tags
LearnDash provides a rich set of merge tags that you can use in automation actions (emails, Slack messages, HTTP requests, etc.) to personalize content with course and enrollment data.
Trigger-Based Merge Tags
These merge tags reference the specific course, lesson, topic, or group from the event that triggered the automation:
| Merge Tag | Description |
|---|---|
{{learndash:candidate_name}} |
The display name of the user (student). |
{{learndash:course_name}} |
The name of the course from the trigger event. |
{{learndash:course_url}} |
The URL of the course page from the trigger event. |
{{learndash:lesson_name}} |
The name of the lesson (available when a Lesson Completed or Topic Completed trigger fires). |
{{learndash:topic_name}} |
The name of the topic (available when a Topic Completed trigger fires). |
{{learndash:group_name}} |
The name of the group (available when a User Added to Group trigger fires). |
Enrollment-Based Merge Tags
These merge tags reference the contact’s overall enrollment status across all courses and groups:
| Merge Tag | Description |
|---|---|
{{learndash:enrolled_course_names}} |
Comma-separated list of all courses the user is enrolled in. |
{{learndash:enrolled_course_with_links}} |
HTML list of enrolled courses, each linked to its course page. |
{{learndash:enrolled_group_names}} |
Comma-separated list of all groups the user belongs to. |
{{learndash:enrolled_group_with_links}} |
HTML list of enrolled groups, each linked to its group page. |
Contact Courses
The contact’s detail page includes a Courses tab that shows all LearnDash courses associated with the contact. For each course, you can see:
- Course name with a link to the course
- Status — Completed, In Progress, or Not Started
- Enrollment date
- Completion date (if applicable)
The contact is linked to LearnDash by their email address. The contact must have a WordPress user account with the same email to display course data.
Example Automations
Onboard new students when they enroll:
- Trigger: User Enrolled in Course.
- Action: Add Tags → “Student”.
- Action: Send Email → “Welcome to {{learndash:course_name}}! Here’s how to get started…”
Notify team and tag graduates on course completion:
- Trigger: Course Completed.
- Action: Add Tags → “Graduate”.
- Action: Send to Slack Channel → “{{learndash:candidate_name}} completed {{learndash:course_name}}!”
- Action: Send Email → “Congratulations on completing {{learndash:course_name}}! Check out your enrolled courses: {{learndash:enrolled_course_with_links}}”
Auto-enroll into an advanced course after completing the beginner course:
- Trigger: Course Completed.
- Condition: Enrollment Courses not includes “Advanced Course”.
- Yes branch → Action: Add User To Course → “Advanced Course”.
- Action: Send Email → “You’ve been enrolled in the Advanced Course!”






















