This is the third post in the course personalization series. You may want to review the first two posts:

  1. Part I - Replace Strings
  2. Part II - Release Conditions

This is a long post, so use this menu to access the different topics.

Intelligent Agents can assist instructors, administrators, and students by providing an automated notification when defined activity occurs in a course or when there is a lack of login or course entry. Notifications can be customized using replace strings.

You can access the intelligent agents tool in two locations, the Course Admin screen or the Class Progress screen.

First, you can go to the Course Admin link on the navbar then select Intelligent Agents.

Figure 1 - Accessing Intelligent Agents from the Course Admin page.
Access Intelligent Agents from the Course Admin page

Second, you can select the Class Progress tool from the Tools menu on the navbar or the Course Admin page, then select Use agents to automate feedback.

Figure 2 - Accessing Intelligent Agents from the Class Progress screen.
Access Intelligent Agents from the Class Progress screen

Once you access the Intelligent Agents tool, you will see the Agent List screen with a New button for creating agents and a listing of all previously created agents, if any.

Figure 3 - Access Intelligent Agents settings on the Agent List screen.
Access Intelligent Agent settings on the Agent List screen

As a best practice, you should first change the settings for intelligent agents by selecting the Settings link in the upper right corner of the Agent List screen; then choose Set custom values for this course. Put your name and Daytona State email address in the relevant fields then save this information. You will be returned to the Agent List screen. This setting ensures that any replies to any email messages sent by an agent will return to you. Note that you must update this setting in each course you teach.

Figure 4 - Change Intelligent Agents settings.
Change intelligent agent settings

On the Agent List screen, select the New button. On the New Agent screen, first give the agent a required name and optional description. As a best practice, you should always include a description that includes, at a minimum, the criteria for the agent and anything that will need updating when you copy a course forward, such as schedule, etc. Next, decide if the agent is enabled. If it is not enabled, the agent will not run. Think of this as draft mode. Note that you can save an agent at any point once you have provided a name, and you can come back and edit it at anytime.

Figure 5 - Naming an agent.
Naming an agent

Specify agent criteria
  1. Choose to run the agent against a specific role or all users. In most cases, you should run an agent specifically against the Astudent role.
  2. Choose whether you want to set the agent to run based on:
    • Login activity for Falcon Online (but not course access)
    • Course access activity
    • A set of release conditions
    • You can use a combination of any or all of these criteria.
Figure 6 - Specifying agent criteria.
Setting criteria for an agent

Specify agent actions
  1. Decide how often you want the agent to take action.
    • Only the first time it runs
    • Every time it runs
  2. Decide if the agent should send an email and to whom.
    • Not required. Agent can still run, and you can see the history of who met the criteria. More on this later.
    • Use replace strings to customize and personalize the email.
      • If you want an email to go to the students that meet the criteria, you should use the {InitiatingUser} replace string in the To: field. This will insert the email address for each student that meets the criteria. Note that each student will receive a separate email.
      • As a best practice, insert the {OrgUnitName} string in the subject, which will insert the course name. You can add any additional information after the variable
      • Notice that the email body uses the standard HTML editor. This allows you to include links to relevant course material. For instance, if the agent references a topic the student has yet to access, you can provide a link to that topic in the email.
Figure 7 - Specifying agent actions.
Specify agent actions

Specify agent schedule

This is not required as you can always manually run the agent whether it is set to run on a schedule or not. If you want to set a schedule:

  1. Select the check box for Use Schedule
  2. Select the Update Schedule button
  3. On the Update Agent Schedule popup:
    • Choose whether to repeat daily, weekly, monthly or annually.
    • Depending on what you choose, specify the additional Repeats Every: information.
    • ALWAYS set a start and end date. Note that you may have to scroll down to see the date settings.
    • Select Update and then you will be back on the previous scheduling screen.
Figure 8 - Specifying agent schedule.
Specify agent schedule

Remember to save the agent by using the Save and Close or Save button at the bottom of the New Agent screen. Choosing Save allows you to continue to edit the agent. Choosing Save and Close will put you back on the Agent List screen.

Figure 9 - Saving agent.
Save agent

The Agent List screen will list all previously created agents by name and description as well as a link to the results of the last run, the last run date, and the next run date for each agent. You can also:

  • enable/disable or delete agents in bulk by selecting the checkbox for one or more agents and selecting the relevant link at the top of the list
  • restore deleted agents using the More Actions button at the top
  • edit an agent by selecting its name
  • access the action menu for an agent by selecting the dropdown arrow next to an agent’s name. The access menu allow you to:
    • Edit
    • Copy
    • View history of all runs, not just the last. Includes practice runs.
    • Perform a Practice Run (does not send an email).
    • Manually run the agent, even if it is set to run on a schedule.
    • Delete
Figure 10 - Agent List screen and options. Agent list screen and options

Editing an Agent

If you choose to edit an agent, you will see the Edit Agent screen. This screen is the same as the New Agent showing the properties for the selected agent. You can change any of the properties to update the agent.


Running an Agent

An agent can run three ways:

  1. Practice run from the action menu. This allows you to ensure the agent is running correctly. A practice run doesn't send any notifications but does show in the agent history.
  2. Run now from the action menu. This is a manual run. Each run shows in the history. A manual run will send notifications. When you set an agent to run manually, you will see an indicator manual run iconnext to the agent name on the Agent List screen. When you run an agent manually, it sends a confirmation email to the user that requested or set up the agent. This email contains the following information: org unit code and name, which agent ran, time and date the request was submitted, time and date the request was finished, and whether the agent took action.
  3. Preset schedule. This is the schedule you set when creating the agent. Scheduled agents will run at approximately 8:00 PM (Eastern) on the specified dates. Each run shows in the history. A scheduled run will send notifications. When a scheduled agent runs, it sends a confirmation email to the user that set up the agent. This email contains the following information: org unit code and name, which agent ran, and whether the agent took action.

Viewing an Agent's History

You can view an agent's history three ways:

  1. select the link for the last run on the Agent Listscreen
  2. select View History from an agent's action menu dropdown which will show each time an agent has run
  3. select the View History button on the Edit Agent screen which will also show each time an agent has run

The agents history shows the date and time of each run, a link to the results for each run, the type of run and who initiated the run.

Figure 11 - Agent Run History
agent run history

Select an individual result to see a list of users that matched the agent's criteria and any action taken. You can select an individual action for details.

Figure 12 - Agent run details
agent run details

Select the link for an individual action to see a copy of the email sent to that student.

Figure 13 - Email sent by agent
email sent by agent

There are numerous ways to use intelligent agents in your course. A couple are listed here. Use the previous screenshots to create either of these examples.


Example 1 - Lack of course entry/access
  • Why: To see which students are not "attending" class.
  • When: Daily, or at least a couple of times a week.
  • How: Set to check for NO course access over the past 5 to 7 days.
  • What: Send an email directly to the student when they haven't accessed the course during that time period. Or choose to have the agent run but not send an email. Then you can review the run history and decide whether an email is warranted. If you choose to not have the agent send the email automatically, ignore steps 8 - 11 below.

Here are the properties to set for this agent.

  1. Name: Lack of Course Entry
  2. Description: This IA will check to see which students have not entered this course during the designated time period.
    1. Current time period = no entry for 5 days.
    2. This IA is run automatically every Monday, Wednesday, and Friday, through the final class date.
    3. This IA sends an email to the student or this IA does not send an email but runs so the instructor can review the run history.
  3. Status: Agent is enabled
  4. Role in classlist: Astudent
  5. Agent Criteria: User has not accessed course for at least 5 days
  6. Action repetition: Take action every time the agent is evaluated and the agent's criteria are satisfied for a user
  7. Schedule: Evaluated every 1 weeks on Monday, Wednesday, Friday starting Monday, August 26, 2018 until Saturday, December 18, 2018
  8. Email Format: HTML
  9. To: {InitiatingUser}
  10. Email Subject: Absent from {OrgUnitName}
  11. Message: Hello {InitiatingUserFirstName}, You have not entered the {OrgUnitName} course shell during the past five days. Let me know if you need any assistance.

Example 2 - Successful completion of module activities
  • Why: To reassure students that they have completed all the class expectations for a module.
  • When: When the student has completed the activities.
  • How: Use release conditions for the required items, triggering IA when all conditions are met.
  • What: Send an email to the student (CC yourself, if desired) encouraging them to keep up the good work.

Here are the properties to set for this agent.

  1. Name: Successful Completion of 1st Module Activities
  2. Description: This IA will send an email to the student (CC Instructor) to assure them that they have completed all the required first module activities for the course.
    • Edit this agent if the required activities change in a future term.
  3. To access this item, users must satisfy: All conditions must be met
  4. Visits the content topic: Course Syllabus
  5. Receives equal to 100.00 % on the quiz: Syllabus Quiz
  6. Adds 1 threads to discussion topic: General Course Info/Course Introductions
  7. Email Format: HTML
  8. To: {InitiatingUser}
  9. CC: instructor@college.edu (instructor's email would go here)
  10. Email Subject: {OrgUnitName} First Week Activities Completed!
  11. Message: Congratulations {InitiatingUserFirstName}!
    • You have completed all of the required activities for the first module of {OrgUnitName}. My records indicate that you have:
      • Visited the Course Syllabus in Content
      • Scored 100% on the Syllabus Quiz
      • Posted your course introduction in a new thread on the Discussion Board
    • All indications are that you are off to a good start for this course. Now that you have completed those activities, you should see the next content module and you can begin work on that now, if you like. There are a couple of deadlines next week, so pay attention to all the requirements, just as you did in week one.
    • Keep up the good work.
      Professor Bink

Other examples include but are not limited to:

  • sending an email reminder to students that haven't completed an activity such a discussion post or assignment submission
  • sending an email to students that may have performed below a certain threshold on an assignment or quiz with recommendations on what they might do to improve on the next
  • sending an email to students congratulating them on performing well on an activity

While Intelligent Agents are a great tool, there are a few recommended best practices and possible pitfalls to consider.

Best Practices
  • Sanity check - Use Intelligent Agents when there isn't a better way of communicating:
    • Can a D2L Notification work better?
    • Can a News Announcement work better?
    • Can a personally crafted email work better?
    • Would a discussion board posting work better?
  • Use Intelligent Agents sparingly
    • Too many repetitive emails may lose their effectiveness
    • Reserve use for the most important items
  • Should the agent send an email? There are various examples of when you might want to NOT automatically send an email to the students.
    • By having an agent run and you review the history, you have one more chance to determine whether that email to the student might be warranted.
    • Maybe the student told you in advance that they would be out of the country and disconnected for 10 days. Do you really want to send that student an automatic email asking them to submit an assignment?
  • Mix it up between Automatic and Manual. Carefully consider the implications of Manual versus Automatic running of Intelligent Agents:
    • Automatic Agents will run once a day, or less often, as scheduled.
    • You should set starts and stop dates to automatic agents.
    • Manually triggering the Agent allows you to determine when the timing is right.
    • Manual run also executes immediately when you select it, rather than waiting until the designated time of day for automatic runs. NOTE: Automatic agents run at 8:00PM Eastern.
    • Names and descriptions are your friends. Use the Agent name and description fields to your own benefit:
      • Name your Agent well to easily pick it from the list.
      • Describe what the Agent is intended to do and when it will be used.
      • Add a reminder to yourself in the description about info that needs to be changed from term to term (due dates, office hours, etc.).

Potential Pitfalls
  • Replace strings (or Replacement Strings) are great, but..
    • Ensure that your replace strings are properly formed. No one wants to see this in their email: Hi {Initaiting UserrFirst Mane}!
    • Use "name" strings sparingly, as you would when speaking with the student. Every other sentence is a bit unnatural.
    • Also, the replace strings can only use the names that are recorded in the D2L database. If a student only wants to be called by a nickname, the FirstName Replace String will only pick up the name in the database.
  • Copying a course from term to term
    • Intelligent Agents will copy but they will be disabled in the new course, which is a good thing. You don't want agents running before you are ready! Remember to update properties and re-enable agents in the new course.

For more information, consult the Falcon Online Intelligent Agents help or view these videos. This is a playlist of five videos. They will play through automatically once you start them or you can access the individual videos by using the hamburger icon in the upper left corner of the video.

I encourage you to subscribe to this blog to receive notifications of future posts and give us your comments or contact us in the Faculty Innovation Center.

Photo of Bill Harrison

Bill Harrison
Senior Instructional Designer/Instructional Technologist
william.harrison@daytonastate.edu | 386.506.4306