People Data & Roster Management

Last updated: October 27, 2026

Your roster is the list of people and teams Span reports on. This article covers where roster data can come from, what each person field does, and how HR system integrations work.

Why it matters

Every team view, manager permission, and per-person metric depends on the roster. A person with the wrong team shows up in the wrong reports. A person without a Git username mapped has no PRs or commits counted. Keeping the roster current is the first step to numbers you can trust.

How it works

Ways to keep people data current

  1. An HR system integration. Good for large or fast-growing organizations. Options include BambooHR, HiBob, Okta, Rippling, Workday, Workday Custom Report, ADP Workforce Now, Dayforce, Google Workspace, SFTP, Deel, Leapsome, Microsoft Entra ID, Personio, and UKG Pro.

  2. The Span Sync API, which sends people and team hierarchies as JSON. See Using Directory Sync for Roster Management.

  3. Manual edits on Settings → People Management (Add member → Add manually). Good for smaller teams or stable headcount.

  4. CSV upload (Add member → Sync from CSV). See CSV Import of People + Team Data.

Your HR system and the Sync API feed Directory Sync, which stages each change for review before it applies.

Person fields and how Span uses them

  • Email, First name, Last name: email is how Span matches a person across syncs and tools.

  • Member type: Team Member or Observer. Team Members appear in team and management hierarchies, and new people default to Team Member. Example: a VP of Engineering who should appear on the org chart. Observers can log in to Span but sit outside team and management hierarchies. Example: a finance partner working on cost capitalization. Someone with direct reports can't be set to Observer.

  • Start date: required. Used for onboarding reporting and to bound the days a person can count in metrics.

  • Code Contribution: Contributor or Non-contributor. A person synced with a Git username is marked Contributor. People added by hand default to Contributor. See What determines contributor status in Span user profiles?

  • Git usernames: link a person's code activity to them. A person can have several. Ways to get them into Span:

    • Sync them from a field in your HR system or the Sync API. This is the preferred method.

    • Include them in your CSV upload.

    • Have managers add them on the person's profile when someone joins.

    • Use the Data Quality Issues drawer on People Management. It lists recent Git contributors who don't match anyone, with Add person or Ignore. To attach a login to someone already in Span, edit that person's usernames instead.

  • Manager: sets reporting lines. Anyone with direct reports joins the built-in Managers permission group automatically.

  • Teams: which teams the person belongs to. Teams appear across Span's team reporting pages. A person can belong to more than one team. Edit teams on the person's profile or on Settings → Team Management.

HR system integrations

Span uses Kombo as the integration layer for all HR systems. Kombo maps data from many HR systems into one common format and keeps it current, so Span can sync from Kombo instead of maintaining a separate integration for each system. Kombo is a subprocessor listed on Span's subprocessors page, so its use is governed by Span's MSA or Terms of Use, including the DPA, which extends to all approved subprocessors.

HR syncs supply people, managers, and start and termination dates. They can also supply teams and team memberships from your HR system's groups. Some providers also supply absences, which Span can use for out-of-office days.

Setting up an HR system

  1. Choose the system you'll use and check that it holds the fields Span needs: name, email, manager, start date, and ideally job title, level, and Git username.

  2. Go to Settings → Integrations, pick your HR system, and connect it in the secure window that opens.

  3. Wait for the first data load, about 10 minutes. Then return to the integration and, under Departments, select the parts of your organization to sync. You must pick at least one. People data is always included. Click Save.

  4. Tell your Span contact which departments you chose. Span checks the data with you, then turns on syncing into your roster. This quality step makes sure the right people come through before anything changes.

Our most common HR systems are listed on Settings → Integrations. If yours isn't listed, contact your Span team.

Things to know

  • One HR system at a time: each organization can connect one HR system.

  • Synced fields are read-only: fields that come from your HR system can't be edited on People Management or Team Management. Change them in the source.

  • People are terminated, not deleted, by default: when someone leaves your HR system or CSV, Span terminates them and keeps their history. Span can turn on an option that permanently deletes people missing from a directory sync instead. Ask your Span team which applies to you.

  • Contractors: Span doesn't use the employment type from your HR system. To keep contractors out of team metrics, mark them Observer or Non-contributor, or leave them out of the roster.

  • Okta (HRIS) is not SCIM: Okta as an HR source brings in people fields. It doesn't provision access. SCIM, set up separately, grants and revokes Span access for people who already exist in Span, and never creates people or sets teams or managers. You can also use Okta for single sign-on.

  • Google Workspace: like Okta, it works as an HR source if it holds the people fields you want in Span.

  • Switching HR systems: Span matches people by email, so people carry over when emails match. You'll pick departments again in the new system. Team IDs differ between systems, so teams from the new system can show up as new teams, with the old ones removed. Plan the switch with your Span team.

  • Worked example: you connect BambooHR and select only the Engineering department, which has 85 people. 12 designers sit in a separate Product department. Span syncs the 85 engineers. The designers aren't synced, and if they were already in Span from an earlier CSV, the first applied sync terminates them. Select the Product department too, or before you connect, ask Span how to keep them.

Related articles

Using Directory Sync for Roster Management

CSV Import of People + Team Data

Connecting Okta as an HRIS Integration

Workday HRIS Integration

Setting Up SCIM Provisioning for Span

Setting up SSO with Span

Need help?

Contact your Span account team or reach out to support@span.app.