People and attributes
People and the attributes that describe them live at the organization level, not inside any one model. Add someone once and they’re available to every model; rename a role and the change is reflected everywhere it’s used.
People
Section titled “People”A person is a record of somebody who could occupy a position. Adding a person to Resorcerer does not give them a login — that’s invitation to the workspace, which is separate.
| Field | Notes |
|---|---|
| Name | Required. |
| Required, and the key used to recognize someone on re-import. | |
| Title | Free-text job title, as distinct from the structured Role below. |
| Department | Free-text grouping. |
| Company | Free-text company name, as it comes from your directory or as typed. Distinct from the Company attribute below, which is derived from it. |
| Location | Free-text office or location, likewise distinct from the Location attribute. |
| Role, Level, Location, Company | The person’s own attributes. Worked out from the fields above by each attribute’s match expression, or pinned by hand as an override. |
| Manager | Another person. A people-level reporting line, separate from the slot-level one inside a model. |
| Start / end date | When they join and leave the organization. |
| Photo | An image URL, used in the org chart and people views. |
| Active | Off for someone who has left. Inactive people stay on record, shown dimmed, so a plan that named them still makes sense. |
People are added by hand, imported from a CSV, or provisioned from your identity provider where that’s configured.
The People page and a model’s People view both have an active-status filter, so you can narrow the list to active people only, to inactive people only, or show everyone.
Deleting a person is reversible — they go to the trash — and any slot they occupied simply becomes vacant. The structure you planned survives the person leaving.
People versus slots
Section titled “People versus slots”It’s worth being precise about the difference, because both carry the same four attributes:
- A person’s attributes describe them: Priya is a Senior Engineer in London.
- A slot’s attributes describe the position: this is a Senior Engineer post in London, whoever fills it.
They’re allowed to disagree, and the disagreement is often the interesting part — a person acting up into a more senior post, say. The Problems view lists mismatches so you can decide whether each one is deliberate.
Groups
Section titled “Groups”Groups are named, optionally nested sets of people — a way to reflect the teams, departments, or distribution lists your identity provider organizes people into (or any grouping you create by hand), independently of the units and slots inside any one model.
- Name and an optional description.
- Parent group — a group can nest under one other group, forming a tree. Resorcerer refuses any edit that would make a group its own ancestor.
- Members — any number of people, and a person can belong to any number of groups. Membership isn’t something an integration can own, so you can always add or remove a member by hand, even on a group that’s otherwise synced.
Like people, a group can be managed by an integration: the same managed fields mechanism locks whichever fields the integration syncs — name, description, parent group, or active status — and leaves the rest editable by hand.
Deleting a group is reversible — it goes to the trash along with its memberships, so restoring it brings members back too. Its child groups aren’t deleted with it: they’re re-parented to the deleted group’s own parent (or promoted to root groups, if it had none), so the rest of the tree stays intact.
Group names don’t have to be unique, because identity providers often repeat them. When groups in the same place share a name, the Groups page tells them apart by their description and member count and, if those match too, by a number showing the order they were created in (#1, #2, and so on), and the tree lists them in that order. The same labels appear in the tree, the Parent group picker, and the warning you see when you type a name that’s already taken. They also appear on the People page, in a person’s Groups field and in the group filter, which list groups the same way as the Parent group picker, with each group shown by its full path (for example “Sales / Twin”).
The Groups page address always points at the group you have open, so you can reload, bookmark, or share it. A link to a group that has since been deleted, or that you can’t access, opens the page with a short notice instead.
You can work the group tree from the keyboard. Tab moves into the tree as a single stop. The up and down arrow keys move between groups, right expands a group or moves into it, left collapses it or moves to its parent, and Home and End jump to the first and last group. You can also type the start of a name to jump to it, or type the same letter again to step through the groups that start with it. Press Enter or Space to show the details of the group you’re on. To add a child group, select a group and choose Add child group from its actions menu. When you create it, its parent opens and you land on the new group in the tree. On a touch screen with a screen reader, each group that has child groups also has an Expand or Collapse button.
Groups are available everywhere people are: the app’s Groups page, the REST API, and the MCP tools an AI assistant uses.
Attributes
Section titled “Attributes”Four attributes describe both people and slots. All are optional, all are defined by you, and all are used for filtering, grouping in the breakdown views, and matching cost profiles.
Derived for people, chosen for slots
Section titled “Derived for people, chosen for slots”A slot’s attributes are set when you create the position. A person’s attributes
are derived: each role, level, location and company carries a match
expression — a rule against the person’s fields, such as title:~engineer or
email:*@contractor.com — plus a priority and, optionally, a default flag.
Whenever a person is saved, the first attribute whose rule matches them wins;
failing that, the default; failing that, none. Change a rule and everyone is
re-evaluated. Match people to attributes has the
full language.
When the rule is wrong for one person, override it from the person’s form: pin a specific attribute, or pin none. An override shows an Override badge on the People page and is left alone by imports, syncs and rule changes until you set it back to Automatic.
Company and Location: text versus attribute
Section titled “Company and Location: text versus attribute”A person has both a free-text Company and a Company attribute, and likewise
for Location. The text is the raw value — what Entra or your HR system calls the
person’s employer or office, or what someone typed. The attribute is the shared,
tidy value Resorcerer derives from it, and the one that filters, groups and costs.
Two people whose text reads Contoso Ltd and Contoso Limited can both land on a
single Contoso company through one rule, company:~contoso.
The job function — Engineer, Designer, Product Manager. A role can also carry a
category, which groups related roles together so the breakdown views can report
at either granularity.
Levels
Section titled “Levels”The seniority tier — Junior, Mid, Senior, Lead. Each level has a rank, a
number that sets its order. Rank is what makes levels sort meaningfully rather than
alphabetically, so give them ranks in the order you’d read them.
Locations
Section titled “Locations”The site or working arrangement — London, NYC Office, Remote.
Companies
Section titled “Companies”The employer. Each company is marked as internal or contractor, which is what lets the breakdown views separate employees from contingent workers and report on each.
Labels on units
Section titled “Labels on units”Units are classified with labels rather than attributes:
Department, Team, Squad. A unit can carry several. Labels are managed on the
Labels page, each with an optional colour, and the same labels also tag models.
Deleting an attribute
Section titled “Deleting an attribute”Resorcerer checks what an attribute is being used by before it lets it go:
| Situation | What happens |
|---|---|
| Not used anywhere | Deleted straight away. |
| Assigned to people or slots | You’re warned how many, and can go ahead — those records simply lose that attribute. People whose attribute was derived pick up whatever the remaining rules produce on their next save or recompute. |
| Used by a cost profile | Blocked. Remove it from the cost profile first, so costing can’t silently change underneath you. |
Related
Section titled “Related”- Units and slots — where attributes get applied to positions.
- Cost profiles — turning attributes into money.
- Import people — bulk-loading people from a CSV.
- Match people to attributes — the rules that derive a person’s attributes.