Import Users
Complete guide for the real CSV import module in LoginSign: where to find it, how to import, which CSV format is required, what each result status means, and how to roll back safely.
Where to find the import module
- Log in to the Developer Portal.
- Select your project/app.
- Open Synchronisation in the left navigation.
- Scroll to the card Import Existing Users.
Direct location in product: /portal/synchronisation, section id import-existing-users.
What this module does
- Imports your existing user list via CSV and matches users by email against existing LoginSign accounts.
- Creates or reactivates app-connections for matched users in your selected project.
- Saves each import run as a source so you can audit and optionally rollback imported connections.
CSV format (required and optional columns)
Minimum required columns are user_id and email. Optional columns are name, registration_date, and last_login_date.
user_id,email,name,registration_date,last_login_date legacy_1001,user.one@example.com,User One,2024-01-10T09:00:00Z,2026-04-30T18:21:00Z legacy_1002,user.two@example.com,User Two,2023-11-05,2026-05-01
- Delimiter can be comma or semicolon (auto-detected).
- Header row is auto-detected.
- Maximum 10,000 rows per import.
- Date values should be ISO-like (for example
2026-05-01or2026-05-01T12:00:00Z).
Parameter reference (what can be imported)
You can import all key user fields below. The first two are required; the others are optional but recommended.
user_id required Unique external user ID from your platform email required User email used for LoginSign account matching name optional Display/user name for additional identity validation registration_date optional Account creation date in your platform last_login_date optional Most recent login date in your platform
Field meaning:
emailis used to find the existing LoginSign account.namecan triggername_mismatchif it differs from LoginSign profile name.user_idpreserves your external identity mapping for migration tracking.registration_dateandlast_login_dateenrich imported connection metadata.
Accepted header aliases (auto-mapping)
The module auto-detects common header names. If your export uses other names, map columns manually in the preview.
User ID aliases: externalUserId, user_id, userid, id, legacyid, customerid Email aliases: email, email_address, emailaddress, mail Name aliases: name, full_name, fullname, display_name, displayname Registration date aliases: registration_date, registrationdate, createdat, signupat, signupdate Last login date aliases: last_login_date, lastlogindate, lastlogin, lastseenat, lastactiveat
Step-by-step import flow in UI
- Click Download template to get a working CSV starter file.
- Set a Source name (example:
User Export 2026-05-03). - Click Upload CSV.
- Check Preview and column mapping; ensure User ID + Email are mapped.
- Click Start import.
- Review Import result and the Saved sources list.
Direct link to run it immediately in the Developer area: Open Import Existing Users module.
Import result statuses (what they mean)
imported: new app-connection created and linked.already_connected: connection existed (or inactive one was reactivated).not_found: no LoginSign account matched the email.name_mismatch: name in CSV does not match LoginSign profile name.invalid_row: missing required values, invalid email, or invalid date format.
Rollback / safety
Every run is stored as a source. If needed, use Delete source in the module. This removes connections that were created with status imported by that source.
How matching works
- Primary match key is the email address in your CSV.
- If
nameis provided and differs from LoginSign profile name, row is markedname_mismatch. - For existing connections, import refreshes shared app email and can reactivate inactive connections.
API endpoints behind the module
POST /api/developer/applications/:appId/import-existing-users/csv GET /api/developer/applications/:appId/import-existing-users/sources DELETE /api/developer/applications/:appId/import-existing-users/sources/:sourceId
Common errors and fixes
If import fails, check: required columns present, valid emails, ISO-style dates, and project selection. For OAuth-related login issues like invalid_grant, restart authorization and exchange a fresh code.