Automated Email Notifications from LearnDash LMS

    Tahseen Kazi
Listen to this article

advanced-notifications-blog-imageOnline learning management systems such as LearnDash have vastly changed the dynamics of education. It has dispensed education providers with a method to reach out to masses of students with extreme ease. It has also aided students to acquire knowledge while being located in any part of the world.

However, the one pitfall of this online learning management systems is that it reduces the level of personalization and interactivity that a student would otherwise have been exposed to in a classroom environment. That’s when the user experience largely known as UX comes into the picture.

Previously, I spoke about  Notifications Feature for LearnDash which was mostly associated with course enrollment. Here, we dealt with notifying users through email about courses they have enrolled for, courses that are about to expire, courses that have expired etc. These notifications would mainly be beneficial if courses being offered are on a subscription.

Today, we are going to deal with sending automated emails to students based on their progress of the course they have enrolled for.

An automated email will be sent to enrolled students at the occurrence of the following events

  1. On course completion
  2. On lesson completion
  3. On quiz completion
  4. On topic completion

These automated emails serve to address two objectives. The first is that it increases an online education provider’s interaction with enrolled students offering a sense of personalization to students. Additionally, automated emails also give the student a sense of accomplishment as he progresses with the course.

Automated Emails for LearnDash: An Overview

1. Use ‘Actions’ Provided By LearnDash

  • So, the task in hand is to send an email to students on the occurrence of the events listed above.
  • Thankfully LearnDash provides various actions which make this process a lot simpler than it would have been otherwise.
  • For example, the action that can be used when a course has been completed is as below.
add_action("learndash_course_completed", "function_name", x, y)
  • Here, “learndash_course_completed”  is the hook that has been provided by LearnDash, function_name is the name of the function where the logic for sending the automated email has been written, x denotes the priority of the action and y denotes the number of parameters of the function.
  • Similarly, there are hooks and actions that have been provided for other events such as lesson completion, quiz completion and topic completion.
add_action("learndash_course_completed", "function_name", x, y)
//action to use when course has been completed
add_action("learndash_lesson_completed", "function_name", x, y)
//action to use when lesson has been completed
add_action("learndash_topic_completed", "function_name", x, y)
//action to use when topic has been completed
add_action("learndash_quiz_completed", "function_name", x, y)
//action to use when quiz has been completed
  • Using these hooks and filters attributes such as course id, student id, course name etc can be fetched.
  • Once this has been done the task left would be to complete the programming logic to send the emails using these attributes.

2. Provide Settings in Dashboard

  • So, that was about including the feature into the system using hooks and actions. But once this has been done the next step would be to provide the admin with settings in the dashboard. These settings could be provided under the LearnDash tab as a separate menu.


  • On clicking the email notifications tab user will be presented with a settings page using which the admin can choose to either send or not send the emails to end users. Also, the admin can provide the email template in the text field provided.


  • While I have added the automated email notifications settings as a separate tab under LearnDash this positioning can vary based on users requirement.
  • For example, the setting could be provided on the course page if there is a requirement to send these emails on per course basis

So, if you incorporate this automated email feature in your LearnDash system you are not only personalizing the system for the user but also opening a door for interaction with the students and if used well can definitely add value to the online teaching environment.


Tahseen Kazi

Tahseen Kazi

Leave a Reply

Your email address will not be published. Required fields are marked *

Get The Latest Updates

Subscribe to our Newsletter

A key to unlock the world of open-source. We promise not to spam your inbox.

Suggested Reads

Join our 55,000+ Subscribers

    The Wisdm Digest delivers all the latest news, and resources from the world of open-source businesses to your inbox.

    Suggested Reads