> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Automatic course assignment

> How to assign courses to employees automatically by department and position: rules, when they run, exceptions and assignment to current employees

Automatic assignment saves HR from granting courses by hand. You set a rule once, for example “everyone who joins
the sales department as a manager”. After that, every new employee who matches the rule is added
to the course group and gets access automatically.

Rules are set for a **course group**: a matching employee is added to exactly this group. So the course
must have at least one group. To learn how to create a group, see [Creating groups](https://faq.exode.biz/en/general/groups/creating-groups.md).

## How rules work

A rule consists of **blocks**, and a block consists of **conditions**.

* Conditions inside a block are combined with **AND**: the employee must match all conditions of the block.
* Blocks are combined with **OR**: matching any block is enough.

| Condition | Who matches |
| - | - |
| **To a department** | Employees of the selected department, without nested ones |
| **To a department (or a child one)** | Employees of the selected department and all departments nested in it |
| **To a position** | Employees with the selected position in any department |

> [!NOTE]
>
> The conditions of a block are checked within one assignment of the employee. The block “Department — Sales **and**
> Position — Manager” works for a manager in the sales department. But it does not work for a person who works
> as an analyst in the sales department and as a manager in another department.

### Example

The “Service standards” course must go to all cashiers and the whole “Samarkand” branch:

* Block 1: **To a position**: Cashier.
* **OR**
* Block 2: **To a department (or a child one)**: Samarkand branch.

## Setup

**1. Open the course group**

Open the course, go to **Groups**, choose a group and the **Settings** tab. Find the
**Automatic assignments** block.

**2. Turn on the rules**

Turn on the **Assign the course by rules** toggle.

**3. Add conditions**

Choose the condition type and the department or position. To narrow a block, click **Add AND condition**.
To add an alternative, click **Add rule block (OR)**.

**4. Save**

Click **Save**. From this moment, the rules apply to new changes in the organization structure.

**5. Assign to current employees**

Saving does not affect people who already work in the company. To assign the course to them, open the menu next to the
toggle and choose **Assign to current**.

A summary of the rules of all course groups is shown on the course's **Access & assignments** page in the
**Automatic assignments** block: “Turned on” or “Turned off” and the list of conditions.

## When automatic assignment runs

| Event | What happens |
| - | - |
| An employee was added to a department: manually, via a link, through Verifix or the API | All company rules are checked, and matching courses are assigned |
| An employee was transferred to another department | The rules for the new workplace are checked |
| An employee's position or grade was changed | The rules for the new position are checked |
| A dismissed employee was rehired | The rules are checked as for a new employee |
| You clicked **Assign to current** | All active company employees are checked |

Changes in the organization structure are processed in the background, usually within a minute. **Assign to current** goes
through employees in batches of 100 people, so it takes longer in a large company.

### Assign to current

When you start it, the system asks who to assign the course to:

| Option | What happens |
| - | - |
| **Only those not assigned yet** (default) | Matching employees who are not in the group get the course. The system does not touch people whose course was taken away manually |
| **All matching employees** | The course also comes back to people whose course was taken away manually |

The **Assign to current** item is not available while the rules have unsaved changes.

## Rules and limits

* To turn on the rules, you need at least one block, and each block needs at least one condition: “Add at least
  one rule”.
* The same condition cannot be repeated in a block: “The rule is already added to this block”. The system merges identical blocks
  on its own.
* Up to 50 blocks in a rule and up to 50 conditions in a block.
* Departments and positions in conditions must exist in the company: “The selected department or
  position is unavailable”.
* Courses are assigned only to active employees. Dismissed employees do not get courses.
* Automatic assignment only adds. If an employee was transferred or their position changed, the courses assigned earlier
  stay with them.

## Exceptions: if a course was taken away manually

If a group has rules set up and an administrator manually removed an employee from the group or took away their
course access, the system remembers it. Automatic assignment no longer brings them back to this group, even if they
match the rules.

The exception is removed if:

* you manually add the employee to this group again;
* you run **Assign to current** with the **All matching employees** option: then all exceptions
  of the group are removed.

## Edge cases

* **The rules changed during assignment to current employees.** The unfinished assignment stops. Run
  **Assign to current** again.
* **An employee matches the rules of several courses.** The rules of each group are checked independently, so
  the employee gets all matching courses.
* **The employee is already in the group.** They are not added again, and their progress does not change.
* **The employee is on vacation.** An absence does not prevent automatic assignment: the course is assigned.

## Who can set it up

You need the “Staff browsing” permission and one of: “Course management”, “Product management” or
“Company user management”. Without the “Staff browsing” permission, a no-access message is shown in place of the block.
See [Roles and permissions](https://faq.exode.biz/en/corporate/roles.md).

## Frequently asked questions

> **I saved the rules, but the department's employees did not get the course. Why?**
>
> Saved rules apply only to new changes: hiring, transfer, position change. To give the course
> to people who already work in the company, click **Assign to current**.

> **How quickly does a new employee get a course?**
>
> Usually within a minute after being added to a department or changing position.

> **Will the system take a course away if an employee is transferred to another department?**
>
> No. Automatic assignment only grants courses. If a course is no longer needed, remove the employee from the group manually.

> **I removed an employee from a group, and “Assign to current” did not bring them back. Is this a bug?**
>
> No. Manual removal creates an exception. Choose the **All matching employees** option or add
> the employee to the group manually.

> **I need to assign a course to a whole department, including nested ones. Which condition should I choose?**
>
> **To a department (or a child one)**. The **To a department** condition covers only employees of the department
> itself.

> **How do I assign a course to employees with a specific position in a specific department?**
>
> Create one block with two conditions: **To a department** and **To a position**. Conditions inside a block
> are combined with AND.

> **Why are the rules not saved: “The group is not linked to a product”?**
>
> The group does not belong to the course. Automatic assignment works only for course groups.

> **Will dismissed employees get the course with “Assign to current”?**
>
> No. The assignment checks only active employees. If a dismissed employee is rehired, the rules
> run for them automatically.

***

*Updated: 2026-10-15 18:32 UTC*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.