User CSV File: Design Guide and Field Reference

The column reference for the bulk import CSV — every supported column, what values it accepts, and which columns are required.


The bulk import CSV uses a defined set of columns. Required columns must be present in every row; optional columns let you populate richer user profiles. This article is the field-by-field reference. For the upload flow that uses this template, see Uploading Your User File (Bulk Import).

To download the latest template, open Admin → Users → Add Users → Import/Update Users → Download Template.


Before you fill the file

The CSV template is a fillable form, but a few decisions shape what the file should contain. Make these calls before you start populating cells — revisiting them later means re-syncing every user.

Unique identifier — customer/employee ID or email

Continu uses one field to recognize a user across uploads. The standard template uses Email, and most customers stay with that. Be aware of the trade-off: if a user's email changes (marriage, name change, preferred-email update), the next upload treats them as a new user and creates a duplicate account. The old record stays and learning history splits across two profiles.

If your organization sees frequent email changes, ask your CSM about switching to a customer/employee ID as the unique identifier instead. IDs from your HRIS rarely change over a user's lifetime, which avoids the duplicate-account problem. Switching is a one-time migration — plan it deliberately.

Department and Location are 3-level hierarchies

Department and Location aren't flat fields. Continu stores each as a three-level hierarchy that cascades parent-to-child:

  • Department 1 — top of the structure (Finance, Engineering, Sales)
  • Department 2 — sub-department (Finance > Accounts Payable)
  • Department 3 — the most specific level

The same applies to Location 1, 2, and 3 (country / region / city, for example).

A user can have Department 1 with no Department 2 or 3. A user cannot have a Department 3 without a Department 2 above it, and cannot have a Department 2 without a Department 1. The hierarchy is parent-required. The most common first-upload failure is filling in Department 3 without Department 2.

These fields drive content audiences through Smart Segmentation. Anything you want to assign content by — for example, "all of Finance" or "everyone in the United States" — needs to be expressible through these hierarchies.

Some fields are reporting-only — map structured fields for segmentation

Not every field on the file is suitable for driving content audiences. Some are best treated as reporting-only — useful for filtering reports, showing on user profiles, and giving admins context, but not reliable for assignment rules.

Common reporting-only fields:

  • Job title — usually free text, varies per employee ("Software Engineer," "Sr. Software Engineer," "Software Engineer II")
  • is_manager or similar boolean flags — useful for filtering, but too coarse for content scoping on their own

If you need a value to drive Smart Segmentation or Automation assignment, map it to a structured field that Continu can leverage cleanly. Use one of the additional values (or a custom attribute) and populate it with a finite, shared set of values from your source system — job code, position type, career level, or any other structured grouping that gives your assignment rules predictable inputs.

Said another way: bring reporting fields through for visibility, but route the values you actually want to assign by into the columns Continu's segmentation rules can read.

Calculated columns — for values that aren't a single field in your source system

If the value you want to sync isn't a single field in your HRIS, you can add a calculated column to the file. The export step computes the value and writes it as a regular column. Common cases:

  • Compliance jurisdiction flags — "subject to GDPR," "subject to California training laws"
  • Tenure milestones — "past 90-day mark," derived from hire date
  • Eligibility flags — "has completed prerequisite training," "is on active assignment"
  • Source/brand tags for multi-instance feeds

Calculated columns are a clean way to encode rules you'd otherwise maintain inside Continu. The trade-off: the formula lives in the source system, not in Continu, so a broken formula breaks the column for every user on the next upload. Test calculated columns against sample data before relying on them for assignment logic.

Required Columns

First Name. The user's first name.

Last Name. The user's last name.

Email. The user's email address. This is the identifier Continu uses to match existing users (for updates) and the address SSO maps to. Must be a valid email format.

Provisioning Status. Where the user is in the provisioning lifecycle. Acceptable values are typically:

  • inviting — user invitation sent, not yet activated
  • provisioning — user has been added and is being set up
  • active — user is active and can sign in
  • suspended — user is suspended

Your exact valid values may depend on your instance configuration. Use the values present in the downloaded template.


Role / Permissions Column

The Role column determines what the user can do in Continu. Acceptable values:

  • User — Learner role. Can view, like, comment on, and complete assigned content.
  • Creator — Can add content, Workshops, external content, and Learning Tracks.
  • Admin — Full access. Can add and edit all content types, view analytics, create Workshops, and manage users.
  • External User — Can only view content, Workshops, and Learning Tracks specifically segmented to External Users. See External Users.

One role per user. To learn more about what each role includes, see User Roles.


Optional Columns

Hired Date. The user's hire date (or equivalent — start date, activation date). Format: YYYY-MM-DD. Include this if you plan to use hire-date-based Automations (e.g., onboarding triggers, anniversary milestones).

Department. The user's department. Used for segmentation and reporting. Values must match existing Departments in your instance — new Department values won't be created automatically.

Location. The user's location (typically office or region). Same matching behaviour as Department.

Manager. The manager's email. Continu uses this to build the org chart and manager-scoped reports. The manager must already exist in Continu as a user.

Level. The user's level (e.g., IC, Manager, Director, VP). Used in segmentation rules.

Skills. Skills tagged to the user. Comma-separated if multiple.

Teams. Teams the user belongs to. Comma-separated if multiple. Teams are auto-created if they don't exist (unlike Departments). See Creating and Editing Continu Teams.

Groups. Groups the user belongs to. Comma-separated if multiple. Groups must already exist.

Time Zone. The user's time zone for Workshop and notification display.

Language. The user's preferred interface language (e.g., en, es, fr). Only valid if language support is enabled on your instance.


Custom Attributes

If your organization has set up custom user attributes (Region, Tier, Cohort, etc.), they appear as additional columns in the template. Custom attribute values are typically text strings — match exactly what your segmentation rules expect.


Formatting Notes

UTF-8 encoding. Save the file as UTF-8 to handle special characters correctly. In Excel: File → Save As → CSV UTF-8.

Comma-separated, double-quoted strings if needed. Standard CSV format. Use double quotes around values that contain commas.

One row per user. A user appearing in multiple rows produces a duplicate error.

Dates as YYYY-MM-DD. Hire Date and any other date columns use ISO format.


Common pitfalls

Pitfall Symptom Fix
Email-as-identifier with name changes Duplicate user accounts after marriage/name change Switch to customer/employee ID as the unique identifier; ask your CSM about the migration
Free-text job title used as the segmentation field Assignment rules don't fire reliably (too much variation across employees) Use a structured role field in one of the Team columns; keep job title for reporting only
Department 3 set without Department 2 Hierarchy errors on upload Always populate parent levels — no Department 3 without Department 2, no Department 2 without Department 1
Department or Location values don't match what's in Continu Values get dropped silently — new values aren't created automatically Confirm exact value spelling matches existing Departments/Locations in your instance before upload
JIT (just-in-time) SSO enabled alongside CSV uploads Users self-create through SSO before the file is uploaded, then the upload fails to match Disable JIT; make the CSV upload the only path through which users are created
Calculated column formula breaks Every user's value comes through wrong Validate the formula against sample data before depending on it for assignment
Same user appears in multiple rows Upload errors or unpredictable results — only one row is kept One row per user. Deduplicate before upload.

See Also


Required: First Name, Last Name, Email, Hire Date, Provisioning Status. Role accepts User, Creator, Admin, External User. Department and Location must match existing values; Teams can auto-create.

Was this article helpful?
0 out of 1 found this helpful