How do I import people from a file?
For admins: bring your roster in from a CSV file when Flow has no adapter for your HR system, match your own column headings to Flow's fields, check the rows, and see what the import will do before it runs.
Only a company admin can import people. A manager reads results and nothing else.
Flow connects directly to HaileyHR, Workday, SAP SuccessFactors and Velory. For every other HR system, export your people to a file and import that instead. The roster you end up with is the same one a sync would have built, reporting lines included.
In this guide:
- Step 1 — Export your people to CSV
- Step 2 — Turn on file import
- Step 3 — Choose your file
- Step 4 — Match your columns
- Step 5 — Check the rows
- Step 6 — See what it will do, then import
- What a file can contain
- Importing again
Step 1 — Export your people to CSV
Export a list of your employees from your HR system, your payroll system, or a spreadsheet you keep by hand.
Flow reads CSV files. In Excel, use File, then Save As, and pick CSV. In Google Sheets, use File, Download, then Comma-separated values. Both semicolons and commas work, so a file saved in a Swedish or German Excel is read correctly.
The file needs a heading line, and one person per line under it. Column headings can say whatever your HR system calls them. You match them to Flow’s fields in Step 4.
The file must be under 10 MB and hold at most 5000 rows. For a bigger roster, export it in parts and import each part.
Step 2 — Turn on file import
- Open People, press Add people above the table, then Import CSV. A side panel opens.
- Press Turn on file import. A file needs no credential, so there is nothing to fill in.
The panel now shows Import people from a file with a file picker. Next time, Import CSV opens the file picker straight away.
If HaileyHR, Workday, SAP SuccessFactors or Velory is connected, the Import CSV panel says so and turns nothing on. Disconnect that system under Connect HR system first.
Turning on file import replaces whatever was connected before. If you had HaileyHR, Workday, SAP SuccessFactors or Velory connected, the stored token is deleted and so is the record of that system’s last sync. Your people and teams stay as they are.
Flow also forgets the IDs the old system used for your people, because a spreadsheet numbering people 1, 2, 3 would otherwise be matched against them. The same happens when you press Disconnect. Your first import after either matches everyone by email address, and picks the IDs up again from your file.
Step 3 — Choose your file
Press Choose a CSV file and pick your export.
The file is read in your browser. It is never uploaded. Only the rows you confirm in Step 6 are sent to Flow, and nothing else about the file is kept.
Have nothing to export? Download a template gives you an empty file with Flow’s own headings. Fill that in and Step 4 is already done for you.
Step 4 — Match your columns
Flow shows every field it can fill, and which column of your file it will read for each one.
The common headings are matched for you. Employee ID, Primary Work Email, Manager Email, Efternamn and most of what Workday, BambooHR, Personio and HaileyHR export are recognised as they are.
Anything left over is passed to a model, which suggests a match. A suggested row is marked Suggested. Read it and change it if it is wrong: nothing is imported on a suggestion you did not confirm. The model is sent your column headings only. No name, no address and no other cell from your file is used to make a suggestion, and if the suggestion does not come back you match the columns yourself.
Three fields are required: Email, First name and Last name. Continue stays disabled until all three have a column.
Everything else is optional: Employee ID, Job title, Department, Manager email, Status, Start date and End date. Set a field to Not imported to leave it out. Columns you match to nothing are ignored, and the panel says how many.
Step 5 — Check the rows
Flow checks every row and tells you how many are ready.
Rows with a problem are listed with the row number from your spreadsheet, and the value that needs fixing sits in a box you can type in. The first 50 are shown; if a file has more than that, fix the rest in your spreadsheet and choose the file again. The problems are:
- A required field is empty.
- An email address is not shaped like one.
- A date is not written as
2026-03-01. Flow refuses03/04/2026, because that is two different days depending on who wrote the file.
Fix what you can here. A row you leave broken is not sent at all, so it counts towards nothing in the next step and nobody from that line reaches your list. The rest of the file still imports. Press See what this will do when you are ready.
If your file has rows with more cells than the heading line, Flow says how many. The extra cells are not read, and a stray comma is the usual cause.
Step 6 — See what it will do, then import
Flow shows the totals before anything is written: how many people it will add, how many it will update, how many it will mark inactive, and how many it will skip. It also names any team it will create. The totals cover the rows you fixed or left alone, never the broken ones you did not send.
Press Import to run it, or Back to the rows to keep editing. After the import, the same figures stay on the panel under Last sync.
Anything the import could not write is listed by the row number in your file, so you can find that line in your spreadsheet.
What a file can contain
- Email is how a person signs in, so it is required.
- First name and Last name become the name Flow shows.
- Employee ID is what Flow matches a person on between imports, when your file has one. Without it, the email address is used instead. Give people the same ID every time and someone can change their address without becoming a second person on your list.
- Job title becomes their role in Flow.
- Department becomes their team. A department that matches a team you already have joins that team instead of creating a second one.
- Manager email sets who they report to, when that manager is also in the same file. When the manager is not in the file, the reporting line is left empty and the import says how many people that affected. Those people are still imported.
- Status says whether someone is still with you. Words like
Terminated,InactiveandAvslutadmark someone inactive. Everything else, including a word Flow does not recognise and an empty cell, counts as active, so an unusual spelling never takes a working employee off your list. There is no separate state for someone who has not started yet or is working their notice; both are active. - Start date and End date are read when they are written as
2026-03-01.
Anything you edit by hand under People stays yours, field by field, exactly as it does with a connected HR system. An import fills the blanks and updates what it manages.
Importing again
Import a new file whenever your roster changes. People already on your list are matched and updated. New people are added.
People missing from a file are left alone. A file is whatever list you happened to export, so Flow never reads someone’s absence from it as a departure. This is the one way a file import differs from a connected HR system, where an export is the whole company and a missing person is marked inactive.
To mark someone inactive from a file, include them with a Status column that says so.
Good to know
- Nobody is ever deleted by an import. A person marked inactive keeps their past results.
- Your file is never uploaded, never stored, and never written to a log. Only the rows you confirm are sent, and they go straight into your roster.
- Only your column headings are ever sent to a model, and only for the columns Flow did not already recognise. See what happens to your data.
- If someone asked us to delete their data, an import will not bring them back. Their record is skipped and counted under “skipped”.
- An import does not invite anyone or send any email. Sending an assessment is a separate step. See sending an assessment.
- Employment type (employee, contractor, or partner) is not read from a file. It stays a judgment you make under People. See setting up your company.