Skip to Content
Wisteria is in beta — these docs are evolving fast.
TroubleshootingBulk user upload format

Bulk user upload format

To add many users at once, super_admins use the Bulk Upload feature at Users → Bulk upload. Wisteria provides a template .xlsx to fill in.

The template

Download from Users → Bulk upload → Download template. The file has columns:

ColumnRequiredTypeNotes
emailYestextMust be unique across Wisteria (not just your workspace)
full_nameYestextThe name on certificates
roleNotextDefaults to learner if blank
departmentRecommendedtextMust match an existing department exactly

Fill in one row per user. Save as .xlsx. Upload.

Allowed values for role

Exactly one of:

  • super_admin
  • content_manager
  • trainer
  • auditor
  • learner

Wisteria validates the column. Typos or non-matching values fail the row.

Allowed values for department

Must match an existing department in your workspace exactly — case-sensitive, whitespace-sensitive.

If you spell “operations” and the department is “Operations”, that row fails. Check your departments at Settings → Departments before uploading.

You can leave department blank for learners (they’ll have no department; no auto-assignment). For trainers, department is required (a trainer needs to be scoped somewhere).

Common validation errors

The upload page shows which rows passed validation and which failed. Common errors:

“Email already exists”

The address is already registered in some Wisteria workspace. Two cases:

  • Your workspace — the user already exists; you don’t need to re-add them.
  • A different workspace — they belong to a different customer. Contact support if you need to move them.

”Invalid email format”

The value doesn’t look like an email. Check for missing @, missing domain, etc.

”Department not found”

Spelling mismatch with your existing departments. Check Settings → Departments for the exact name. Common gotchas:

  • Trailing space (“Operations ” ≠ “Operations”)
  • Different case (“operations” ≠ “Operations”)
  • Hyphen vs space (“customer-service” ≠ “Customer Service”)

Fix by aligning the spreadsheet to the department name.

”Invalid role”

Spelling mismatch. The role must be one of the five exact values listed above. Common gotchas:

  • “Admin” → use super_admin
  • “Manager” → use content_manager
  • “Reviewer” → use content_manager
  • “Teacher” → use trainer

”Required field missing”

email or full_name is blank. Fill it in.

What happens after upload

For each valid row:

  1. Wisteria creates a Supabase Auth account with a randomly-generated temporary password.
  2. The account is linked to a profiles row with the specified role + department.
  3. A welcome email is sent to the user.

Each row takes about 100ms. A 1,000-row upload takes about a minute.

What if some rows fail and some succeed

The validation runs against ALL rows first. If any row fails:

  • By default — Wisteria stops the whole upload. You fix the errors and re-upload.
  • With “Skip errors” checked — Wisteria processes valid rows and skips invalid ones. The summary tells you which were skipped.

Recommended: leave Skip errors unchecked. A partial upload makes the data harder to track; full validation upfront is cleaner.

How big can the file be

The page handles up to 5,000 rows per upload. For larger uploads, split into batches.

Editing users after bulk upload

Bulk upload creates new accounts; it doesn’t update existing ones. To bulk-edit existing users:

  • Currently not supported in the UI. Contact support; we can do it manually.
  • Roadmap: a Bulk update feature that allows changes to existing rows by email match.

Bulk-deactivating users

Currently not a bulk feature. Deactivate one at a time from the Users page (each click is fast; not a bottleneck for typical workspace sizes).

For mass deactivation (e.g. a whole department leaving), contact support — we can run a script for you.

Template field tips

  • Don’t put quotes around values. Excel sometimes adds them on save; remove if present.
  • Don’t merge cells. Each row is one user.
  • Don’t use formulas. Save the file with values, not formulas.
  • UTF-8 names are fine. Wisteria handles non-ASCII characters in names correctly.

After upload — what learners experience

Each learner gets:

  1. A welcome email from noreply@getwisteria.com with their temporary password.
  2. On first sign-in, they’re forced to set a real password.
  3. They land on their dashboard with whatever courses are auto-assigned to their department.

If a learner’s department is blank and no courses are manually assigned, they sign in to an empty dashboard. That’s not broken — they just have nothing to do yet.

Last updated on