Directory
Org axes & units
Camper does not force a single four-level hierarchy. Real orgs differ:
- One HRIS field may encode nesting:
department = "Corporate > TechOps > IT Engineering" - Teams are often a separate, nestable, multi-membership object
- A person can belong to units on several axes at once
Axes
An axis is one independent slice of the org. A person sits on every axis at once — one department, one office, several teams — so most attributes deserve their own axis rather than being forced into a single tree.
| Source | Use when |
|---|---|
| One profile attribute | One field becomes units; optional delimiter for nesting; optional multi-value |
| IdP groups (SCIM) | Units come from SCIM Group push (Teams) |
| One attribute per level (advanced) | Several attributes must form a single nested tree — see Levels |
Membership
- Single — one placement per person on that axis (e.g. department)
- Multi — many placements (e.g. several teams); string-array attributes are multi
Abbreviation — used as {{org_unit.abbrev}} in naming templates. Set dept on Department, div on Division, team on Teams. Nested levels can each have their own short form. Built-in defaults cover the usual kinds (department → dept, division → div, sub department → subdept, team → team) until you override them.
Defaults for a new workspace
- Department —
departmentattribute, single placement, splits on>, abbrevdept - Teams — SCIM groups, multi-membership, abbrev
team
If your IdP sends division or subDepartment as their own fields, add an axis for each rather than stitching them into one tree — unless you need Levels for subtree links across those fields.
Creating an axis
Start from New axis in the org catalog. Camper lists attributes your IdP actually sends — with how many people carry each one, how many distinct values, and samples. Pick one and Camper preselects sensible defaults (multi-membership for arrays, delimiter when values contain > or /).
Saving an attribute axis resolves every stored profile immediately, so units appear as suggestions without waiting for the next SCIM push.
If the attribute you want is missing, the IdP is not sending it yet — Custom attributes.
Settings → Mappings is the full editor (placement preview, advanced levels, multi-axis drafts). From the catalog, the active axis also has Edit axis and Delete.
Editing axes
From the catalog
Open the axis tab → Edit axis. You can change name, source attribute, membership, delimiter, and metadata fields. The slug locks once units exist under it. Delete removes the axis; if it still has units, Camper asks you to confirm cascading those units (resource links on them go; the downstream resources themselves stay).
From Settings → Mappings
Each axis is a row you expand. Saving is per axis — each has its own Save. Unsaved drafts live in the browser; navigating away asks before discard.
Levels (advanced)
Most orgs do not need levels. Prefer one attribute per axis.
Use one attribute per level only when several attributes must form a single nested tree — typically so a resource linked to a division covers every department below it (subtree membership). That is the one thing separate axes cannot do.
The option is under Advanced in the axis editor. Level order is the hierarchy; reorder with the arrows.
Metadata attributes
Each axis can define typed metadata fields its units carry — a Jira team id, cost center, wiki URL. See Org catalog → Metadata.
Placement preview
In Settings → Mappings, pick anyone in your directory to see where today’s mappings would place them. Attribute axes re-resolve against that person’s stored profile, so draft edits apply before you save.
If an axis reports no matching profile attributes, the mapped key is not present in that person’s profile — check the exact name your IdP sends (SCIM).
Suggested vs imported
- SCIM or directory sync suggests units when a new attribute value or group appears.
- Operators import the units they want to manage (unit, with children, or bulk).
- Ignore removes noisy values from the suggestion queue; memberships still refresh on sync.
- Link resources only to imported units.
- Empty suggestions go away when no active people still map to them. Imported and ignored units stay.
A count next to Catalog in the sidebar means units are waiting. Walkthrough: Org catalog.
People
The People table lists all axis memberships for each person. The Org placement column shows primary unit with a +n more hint when someone sits on several axes. Export CSV includes every placement.