Our team is using Intelligent Agents to control enrollment in specific org units. So far, we've been doing this based on date (e.g. Classlist > Date of enrollment in current org unit), and this has worked extremely well for us. The primary use case we have for this is to unenroll participants after 90 days.
We are hoping to get a little more granular with this Intelligent Agent to not include participants who are enrolled in a different org unit. From what I can tell, the only applicable "other org unit" condition that is available is Classlit > Org unit enrollment, and this is truth-y in nature. The documentation on Release Conditions does note "You can set up intelligent agents with release conditions using the not operator", which sounds promising, but I have so far not been able to find it. Basically, we want to unenroll participants after 90 days only if they are not enrolled in a different org unit (the parent Department org).
To outline our examples with specifics, our intelligent agent:
- Currently:
- Scheduling: runs daily
- Criteria:
- Role in classlist: Users with specific roles = Participant
- Release conditions: All conditions must be met, last enrolled 90 days ago in the current org unit
- Actions:
- Change user enrollments: unenroll from current course
- Desired behavior:
- All the same except change release conditions to
- All conditions must be met, last enrolled 90 days ago in the current org unit AND NOT enrolled in org unit 1234
While this is focused on intelligent agents, other suggestions for how to solve this problem would be most welcome! Something else we looked into was enrolling these participants at the Department-level, but this does not accomplish our goal as we would have to make the participant role cascading (which in turn grants access to all courses for all participants).