Intelligent agents automatically send emails based on student activity in UBLearns. This email can go to a student, instructor, or TA, or any combination.
For example, I can create an agent that emails any student who has not come into my UBLearns course space in the last seven days. This can encourage drifting students to re-engage with the course, and seek support (from me or a UB office) if they are struggling.
Tip! This guide will familiarize you with agents, how the work, and how to create them. But consider the various combinations of frequency and release conditions available. You can probably come up with innovative ways, specific to your course or program, to use Intelligent Agents.
Managing Intelligent Agents
The Intelligent Agent Toolset is available on the course Admin Page.


On the Agent List Page, you can see any agents already created in the course, whether they are active, and some details about any previous operation.

To enable, disable, or delete an agent, check the box next to it and click the button at the top of the grid. Upon creation, I can choose to enable an agent right away. But If I copied agents into a class space with other previous course content, I'll need to enable each of them before they will operate in the new course. A circled X icon next to an agent indicates that it is disabled.

A disabled agent will perform no action. An enabled agent is active and when it runs, it will send email if any course member meets the agent's criteria.
Rather than run at the instant a course member meets their criteria, agents run at intervals, dates and times we specify. Each time they do, they investigate if certain enrolled accounts in the course, (usually students,) have completed an action or have yet to complete an action. This criteria is the condition necessary for the agent to send an email; if one, two, or every student meets the criteria when the agent runs, the agents sends email.
For example, an agent sends an email to any student who has not logged into a UBLearns course space within the last 7 days. The agent does not send an email the very second a particular student or students reach 168 hours, or 7 x 24-hour days since last having visited the course in UBLearns. Instead, the agent runs at the same time each and every day, and if any student(s) are past having logged into the course space in 7 days, the agent then emails the student(s).
In the Last Run Date you can see the day and time the agent last ran, whereas in the Next Run Date column you can see when the agent is scheduled to run next.

If they agent sent no email (and no class members met criteria) the agent will report 0 users identified. If the agent sent emails, click the users identified link to see which users met criteria and were sent emails.
If I click the dropdown menu caret next to the agent's name, you can take several steps, including:
- manually run the agent right away, by clicking Run Now.
- run a "practice run," which sends no emails but identifies students who meet the agent's criteria.
- View (and Export) history provides a list of the agent's runs and their results.

Tutorial Video: Managing UBLearns Intelligent Agents

Creating an Intelligent Agent
On the Manage Agent page, click the blue New Agent button in the upper left.

The New Agent and Edit Agent pages are quite similar and present options for constructing and modifying your intelligent agent.
Start by entering a name for the agent. A description is optional but can help you, other instructors, TAs, or support personnel identify your agents.

Under Scheduling, set the times when the agent will or will not run. Choose a Frequency from the dropdown menu, and then add the interval of days (1 is most common) that the agent will run.

Choose the time of the day when the agent runs.

Under Schedule Dates, set the beginning (Start Date) and ending (End Date) calendar dates for the agent. For example, I may open my Fall class in July so my students can get an early start, but that is optional and I do not want the agent sending emails to students who have not logged into the class space before the first day of class. So I set my start day on or just after the first day of class.
Under Criteria, choose those people, by role, for whom the agent runs. In most cases this will be students. Click the radio button next to Users with specific roles, and then check the box next to Student.

Under Take Action on Activity there are three different kinds of criteria conditions availabe. The first, Login Activity, is in most cases not useful; it checks if anyone (students) have logged into the UBLearns platform. For a specific class that has no relevance.
Instead, Course Activity may be useful; the agent will check if anyone has logged into UBLearns within a period of days. For example, if I add 7 to the box within the User has not accessed the course in the last _ Day(s) box, the agent will email any student who hasn't stopped into my course space in UBlearns within the past week (as a 7-day interval, rather than a calendar week.)

Another option for criteria are Release Conditions, a common toolset found across UBLearns. Here, I can set conditions based on assignments, quizzes, discussions, group membership, grades, and more.
For example, I might have the agent auto-email students an offer for additional support, if they score particularly low on an assignment or exam, by establishing a Grade value on a grade item release condition for the agent.

Or, I might use a No completed quiz attempt release condition, together with an agent's start times and frequency, to have an agent auto-email any student who has not submitted a quiz attempt by a certain date.

Under Actions, create the email an agent sends each time someone in the class (probably a student) meets the criteria. But before that, determine if the agent can send an email just once per class member, or every time any class member meets criteria conditions.

The last step is the email blank. Here, like any email, add in recipients (To:, CC: and, BCC:), a subject, and message. However, UBLearns has replacement strings that add custom text when the email sends. For example, if I want the agent to email individual students, I click What special email addresses can I use?, copy the code {InitiatingUser} in the dialog, . This ensures that any student's individual email address is installed in the To: block.
I can also manually enter email addresses. For example, I may wish to have all emails sent or cc'd to my teaching assistant.
In the subject and message body, I type in the email's subject line and body text, respectively. Here, too, there are replacement strings. Click What replace strings can I use in the subject and message? to see the full list.

To manually enter in the course title into the subject line, use the code {OrgUnitName}. This can be helpful if you copy agents between various courses for reuse. Add the {InitiatingUserFirstName} replacement string to the message body greeting, so that it has a recipient student's first name.

Once the email is complete, click the blue Save and Close button at the bottom of the screen to create or update the agent.

Tutorial Video: Assignment Reminder
Create an intelligent agent that emails students a reminder about an upcoming assignment deadline, if they have not already submitted a file for the assignment.

Tutorial Video: Last Login Alert
Create a tutorial video (the example above) that emails any student who has not logged into your UBLearns course space in the last 7 days.

Custom Email Values
A good tip that (somewhat) personalizes the agents, is changing the email sender identity, and reply-to email address. This will not change the email address from which students receive intelligent agent emails, but it will identify me as the sender, and allow recipients to quickly reply to the email, sending directly to me..
To do this, I click Settings in the upper right, and on the following screen then click the radio button next to “Set custom values for this course.”

I enter my name and email address, and the click the blue save button.