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.

SourceUse when
One profile attributeOne 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 (departmentdept, divisiondiv, sub departmentsubdept, teamteam) until you override them.

Defaults for a new workspace

  • Departmentdepartment attribute, single placement, splits on >, abbrev dept
  • 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

  1. SCIM or directory sync suggests units when a new attribute value or group appears.
  2. Operators import the units they want to manage (unit, with children, or bulk).
  3. Ignore removes noisy values from the suggestion queue; memberships still refresh on sync.
  4. Link resources only to imported units.
  5. 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.