Assignment attributes
Each user profile carries a set of attributes that determine which training assignment rules apply to them. When you create or edit a user, these attributes are matched against your assignment rules to produce the right training assignments automatically.
Administrators - Quality Admin, HR Admin, and Corporate Admin - can set and edit attributes on any user's profile.
Why attributes matter
Better Comply uses an attribute-based assignment model. Instead of manually assigning every training to every person, you define rules that say "anyone with activity X on line Y must complete training Z". When a user's attributes change, the system immediately re-evaluates all rules and creates any new assignments.
This means:
- A new hire on line 3 gets the right trainings from day one, not after a manual configuration step.
- Moving a worker to a different line or plant automatically queues any required re-training.
- You define the rules once; the system keeps the assignments in sync.
See Campaigns, assignments, and scheduling for how to create assignment rules.
The attribute dimensions
Each user profile can carry values for the following dimensions:
| Attribute | Type | Description |
|---|---|---|
| Department | Dropdown | The organisational department the person belongs to |
| Location | Dropdown | The physical site or facility |
| Activity | Free text | The job type or function (for example: "assembly", "quality inspection") |
| Plant | Free text | The plant or building within a site (for example: "Plant A") |
| Line | Free text | The production line (for example: "Line 3") |
| Workstation | Free text | The specific workstation or post |
Department and location are drawn from a fixed list that your operator has configured. Activity, plant, line, and workstation are free-text fields with autocomplete - the suggestions come from values already entered on other profiles, so consistent naming across your workforce is maintained naturally.
If some workers have "Line 3" and others have "line 3" or "Line3", assignment rules targeting that line will not match everyone. Check existing values using the autocomplete before entering a new one.
Setting attributes
At account creation
When you invite an email user or create an emailless employee, you can set all attributes in the creation dialog. Setting them at creation means assignments are computed the moment the account becomes active.
On an existing user
- Go to Users and find the person.
- Click their row to open the edit panel.
- Update any attribute fields.
- Click Save.
As soon as you save, the system evaluates all active assignment rules against the updated profile. Any rules that now match but did not before will create new training assignments. This recompute runs immediately and also queues a background check for consistency.
How attribute matching works
Assignment rules use AND logic across dimensions and OR logic within each dimension. An empty dimension in a rule matches any value.
Example: A rule with activity = "assembly" OR "quality inspection" AND line = "Line 3" matches any user who has one of those activities AND is on Line 3. A user with activity = "assembly" but on Line 5 does not match.
A rule with no activity or line restriction (empty dimensions) acts as a wildcard for those dimensions and matches everyone in the target department or location.
For the full rule configuration interface, see Assignment rules.
Custom attributes
In addition to the named dimensions, a user profile supports a free-form custom attributes object for values that do not fit the standard dimensions. Custom attributes are key-value pairs (for example: {"shift": "night", "certification": "forklift"}). Assignment rules can target specific key-value pairs, requiring all listed keys to be present with matching values.
Custom attributes are edited via the user edit panel under advanced settings, and are also accessible through your system operator's API for bulk import.
Recompute and the assignment queue
When attributes change, two things happen:
- The system immediately calls
apply-onboarding-rulesfor that user, creating any new assignments on the spot. - A row is added to an internal recompute queue as a backstop. A background drain job (scheduled by your operator) processes this queue to catch any assignments that the inline call may have missed due to a transient error.
This means attribute changes are effective immediately in nearly all cases. If a worker does not see expected assignments within a few minutes, contact your system operator to check the drain job.