> For the complete documentation index, see [llms.txt](https://docs.itsaffinity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.itsaffinity.com/product-guides/campaigns/auto-enrollments.md).

# Auto-Enrollments

## Auto-Enrollment Rules

Auto-enrollment rules automatically add new learners to a training program in one of your campaigns - so employees hired during a campaign get their required training without anyone having to add them by hand.

Once a rule is set up, Affinity checks it every day. Any learner who matches the rule's criteria and isn't already in the program is added automatically.

### When to use auto-enrollment

Auto-enrollment is designed for the common compliance scenario where training is already underway when new employees join:

* **New hire onboarding during a live campaign.** Your annual compliance campaign runs January through June. Anyone hired in that window should get the same training as everyone else, automatically.
* **Rolling cohorts.** You want everyone whose start date falls in a given quarter to be enrolled in a specific program, without checking back weekly.
* **Targeted follow-ups.** Only new managers in specific departments or states need to be added to a supplemental program.

If you just need to add today's roster to a program once, use the normal **Add Learners** flow instead - auto-enrollment is for keeping a program's roster up to date over time.

### Setting up a rule

1. Open your campaign and find the program you want learners added to.
2. Open the program's **actions menu (⋮)** and choose **Auto-Enrollment**.
3. Click **Create Rule**.
4. Configure the rule (fields explained below) and save.

That's it - the rule begins running on its start date, once per day, until its end date.

<figure><img src="/files/ldNjHyG4i0RLEFvONmJi" alt=""><figcaption><p>View enrollment rules; you can have more than one per program</p></figcaption></figure>

<div><figure><img src="/files/gQHvF7NlUIUyiPTHDIeB" alt=""><figcaption><p>Select auto-enrollment from the dropdown</p></figcaption></figure> <figure><img src="/files/kMxx4Qo8xazt8ZBNcag5" alt=""><figcaption><p>Create/Edit the enrollment to match the targeted learner population</p></figcaption></figure> <figure><img src="/files/a9NxNPZxJ2RdXh7x2gGU" alt=""><figcaption></figcaption></figure></div>

#### Rule schedule

| Field                     | What it does                                                                                                                                        |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Rule Start / End Date** | The window during which the rule runs. The rule checks for matching learners once per day, every day in this window, including the end date itself. |
| **Timezone**              | The timezone used to decide when each "day" begins and ends for this rule. Usually your organization's home timezone.                               |

After the end date passes, the rule automatically moves to **Completed** and stops running. No action needed from you.

#### Who gets enrolled

A learner is added by the rule when **all** of the following are true on the day the rule runs:

* They are an **active learner** in your organization.
* Their **Start Date** (from their learner profile) falls within the rule's **Learner Start Date window** - this is how the rule targets *new hires* rather than your whole roster.
* They match every **audience filter** you set (below).
* They are **not already in the program**.

Learners whose assignments have been turned off by an admin are never enrolled by a rule.

#### Audience filters (optional)

Leave these empty to target all eligible learners, or narrow the audience:

* **Include specific departments / divisions / states** - only learners matching the selection are eligible.
* **Exclude specific departments / divisions / states** - learners matching the selection are skipped.
* **Manager audience** - all learners, managers only, or non-managers only.

{% hint style="info" %}
**Learners with a blank field:** excluding a department (for example, "Sales") does **not** exclude learners who have no department on their profile - they're still eligible, because they aren't in Sales. To exclude learners with a blank department, division, or state, add the **None** option to your exclusion list.
{% endhint %}

### What happens when learners are enrolled

* **If the program is live**, enrolled learners immediately receive the program's training assignments, exactly as if you had added them manually - including notifications and due dates.
* **If the program is still in draft**, learners are added to the program's roster and will receive their assignments when the program is activated.
* Learners already in the program are always skipped - a rule never creates duplicate assignments.

{% hint style="warning" %}
**If you remove a learner from the program manually**, and they still match an active rule, the rule will add them back on its next daily run. To keep someone out of the program, adjust the rule's filters so they no longer match, or pause the rule.
{% endhint %}

### Managing rules

Each rule shows its status, its schedule, its filters, and the result of its last run.

| Status        | Meaning                                                                                                   |
| ------------- | --------------------------------------------------------------------------------------------------------- |
| **Active**    | The rule runs daily within its date window.                                                               |
| **Paused**    | The rule is temporarily stopped. No learners are added while paused. Resume any time before the end date. |
| **Completed** | The rule's end date has passed. It no longer runs.                                                        |

Available actions on each rule:

* **Edit** - change dates, timezone, or filters. Changes take effect on the next daily run.
* **Pause / Resume** - temporarily stop and restart the rule.
* **Run history** - see every daily run (below).
* **Delete** - permanently removes the rule and its run history. Learners the rule already enrolled **stay in the program**; deleting a rule never removes anyone's training.

Rules on **archived campaigns** never run. If you unarchive the campaign before a rule's end date, the rule picks back up automatically.

### Run history

Every rule keeps a daily audit trail. For each run you'll see:

| Column               | Meaning                                                                     |
| -------------------- | --------------------------------------------------------------------------- |
| **Run Date**         | The day the rule ran (in the rule's timezone).                              |
| **Status**           | Succeeded, skipped, or failed.                                              |
| **Matched**          | How many learners met all the rule's criteria that day.                     |
| **Added**            | How many of those were newly enrolled in the program.                       |
| **Already Assigned** | How many matched but were skipped because they were already in the program. |

This is your evidence trail: for any given day, you can show exactly who the rule considered and what it did. A day with **Matched: 5, Added: 0, Already Assigned: 5** simply means everyone who qualified was already enrolled - the rule is working as intended.

### Frequently asked questions

**Can I have more than one rule on the same program?** Yes. Each rule runs independently - for example, one rule for new hires in Sales and another for new hires in Operations. A learner matching multiple rules is still only enrolled once.

**What happens to learners enrolled by a rule if I pause or delete it?** Nothing - they keep their program enrollment and all assignments. Pausing or deleting a rule only affects *future* enrollments.

**Does a rule enroll people retroactively?** On every run, the rule considers anyone whose Start Date falls in the learner window - including people hired before the rule was created. If they match and aren't in the program, they're added on the rule's first run.

**When during the day does the rule run?** Rules run once per day, shortly after the day begins in the rule's timezone. The exact time isn't configurable; if you need learners enrolled by a specific moment, add them manually.

**What if a run fails?** Failed runs appear in the run history and are retried automatically the same day. If a rule shows repeated failures, contact Affinity support.

**What due date do the auto-enrolled learners receive?** They receive the same due date that the program was set up with for each of the trainings. There are no rolling due-dates or due-date offsets with auto-enrollments.

**How do auto-enrollments differ from recurring schedules?** They are a separate way of adding learners into campaigns. It was directly built for campaign related learner additions, whereas recurring schedules are more suited for training related assignments. There is a subtle difference here. We recommend using auto-enrollments when you want to utilize campaigns. Otherwise, recurring schedules are usually the best choice.
