You can import employees from a CSV file to create draft employee profiles in bulk, without the need to do it individually, one by one. If you have an HRIS system in place, you can export your employee data and follow the steps below to import it into Workable.
Important:
- Before you get started, make sure you have configured your default or custom profile templates under the Profile templates tab.
- By default, all employees will be uploaded as draft profiles. Employee profiles that do not go through onboarding will need to be published manually.
Things to know before you import
A few extra details worth knowing before your import:
| Topic | What to know |
| Employee ID | If you don't include an Employee ID column, Workable generates IDs automatically. To keep your own IDs, add an "Employee ID" column and populate it for every row. |
| Custom fields | You can import any custom field that already exists on the profile template by adding a column using the exact name of the custom field as the header. If a custom field has a validation rule attached (e.g., a minimum or maximum value, or a specific format), your data must satisfy it, or that row fails. |
| Profile templates | Decide in advance which profile template applies to each employee. If a location is assigned within a custom template, that template won't appear in the available dropdown for employees outside that location. Bulk-assigning profile templates isn't supported; this is set per employee in the final step of the wizard. |
| Draft profiles and email display | Before publication, an employee's profile displays their personal email under their name. Once published, this switches to their business email. |
| Conditional logic fields | If a field's logic unlocks a dependent field, that dependent field can't be left blank. Fill in both fields or neither. |
| Pay rate fields | A pay rate field needs both a numeric amount and a currency (ISO 4217 format, e.g. USD). It can't be set with only one of the two. |
| Fields with multiple entries | Fields that normally accept multiple entries (e.g. more than one phone number or address) only support one value, the primary entry, through CSV import. Add any additional entries manually after the import, or contact Workable support to handle this in bulk. |
| Scheduling updates | Scheduled updates only apply to active (published) employees, not draft profiles. A future update scheduled for someone still in draft isn't applied. |
Import steps
To get started, navigate to the Employees tab of the main menu, and then select the option Bulk import employees under the 'Actions' menu.
A full-page modal will open from where you can import employee data through a four-step wizard.
-
1. Upload CSV
-
Upload your CSV file and indicate whether the first row of the file is a header and includes field names (recommended). The CSV file size limit is 1 MB. If your file is larger, you'll need to split your data into two files.
- Download this example import template you can use as a reference: Employee Import Template (Excel)
- Check our formatting rules
💡How to use the import template?
1. Download the template and open the file in Excel
2. Edit the existing fields or add new ones to the document by adding new columns for each extra field you wish to capture. Note: Any extra employee profile fields you add should already exist under the default profile template.
3. A sample data set is provided in the third row so that you can better understand what should be included in each column.
4. Please delete the instructions (column A and rows 2 and 3) before uploading the file
5. When your file is complete, save it as a CSV and upload it in Workable. To save as a CSV:
- Click File in the main menu
- Click Save As
- Select "CSV" from the "Save as type" drop-down menu
- Click Save
-
2. Map employee profile fields
-
Here you will map the fields found in the file with employee profile fields. Leaving a field empty means that the data in this column won't be imported to Workable.
- [Recommended] If you indicated that there are field names in the first row (checkbox), then those field names will be presented as a list.
- If the file doesn’t have a header with field names, then the fields will be listed as Column1, Column2, …., ColumnX, where X is the number of columns in the uploaded file.
To create draft profiles, you need to map at least the following profile fields:
- First name
- Last name
- Job title
- Start date
Though not required to create a draft profile, mapping the following fields gives you a more complete profile from day one:
- Contract effective date or employment type
- Department
- Manager
- Entity
- Work schedule
Adding salary data? If you include any salary information for an employee, the following fields all become mandatory for that row: Salary Effective Date, Salary Pay Type (Salary, Hourly, or Commission Only), Salary Pay Rate, Salary Pay Currency, Salary Pay Schedule, Salary Frequency, Salary Overtime Status (Exempt or Non-exempt), and Salary Reason. Leaving any one of these blank causes the row to fail.
Next time that you upload the same or a similar CSV file, the mapping will be pre-filled in if the system recognized similar field names. In the above example, the system auto-mapped the Job title field.
After clicking the Next button, if any errors are detected in the CSV file, they will be displayed. You have the option to either correct the errors and restart the process or proceed anyway with the employee data that do not contain any errors.
-
3. Map drop-down values
-
Here you will see all fields in the file that have been mapped to a dropdown employee profile field. If there are no such fields this step will be skipped. You need to map values from the csv columns to values of employee profile fields e.g. the value Single from the csv is mapped to the value Single of the employee profile.
-
4. Select employees to import
-
Here you will select which employees you want to import and which profile template you would like to use for each one of them. The default profile template will be pre-selected but you can change this selection.
In the last step of the wizard select Import employees to start the process. The modal closes immediately, and a bulk actions monitoring widget appears at the bottom of the screen. The widget shows the import progress in real time as your file rows are processed.
Once the import is complete, select View details in the widget to review the results.
A drawer opens with a summary chart showing successful and failed rows:
- Successful tab: lists the created employee profiles. Select any name to open the profile directly.
- Failed tab: lists rows that were not imported, grouped by error. Select an employee name to edit their profile manually, or download the CSV file to correct the errors and start a new import.
A completely failed import will be flagged with a red X in the widget. You can dismiss a bulk action from the widget once you have reviewed any errors.
Import guidelines for the Manager field
Setting the Manager of an employee during the import will ensure a correct org chart upon profile publication. Follow these guidelines when filling out the Manager field in your import template:
- If managers of imported employees don't exist as employees in your account, make sure you include them in the CSV file. This will ensure that both the employee and their manager profiles will be created in Workable with a single import.
- If managers of imported employees exist as employees in your account, make sure you use the exact same name as the one in their employee profile, e.g., if it's William Smith in the profile and Will Smith in the file, then an error will occur.
- If a manager listed in your file has since been offboarded, update the file or that employee's profile with their current manager before importing.
- Watch out for circular reporting lines, e.g. Employee A is set as the manager of Employee B, while the file also lists Employee B as the manager of Employee A. A circular hierarchy has no valid top of the chain, so the import fails.
Check the next section for the accepted format of the Manager field.
Tip: if you have identical location or department names under different entities (e.g. "Workable - Greece" and "Workable 1 - Greece"), the importer defaults to whichever was created first. Rename or consolidate duplicates before importing to avoid employees landing under the wrong entity or department.
Formatting rules
When importing employees using a CSV file, you must stick to the specific formats that Workable can recognize. Download this example import template and modify it to ensure you don’t encounter any issues when importing your employees.
When reviewing your CSV file, ensure that each field follows the rules below:
| Field | Accepted format |
| Start Date, Hire Date, or other date fields | mm-dd-yyyy, yyyy-mm-dd, mm/dd/yyyy, yyyy/mm/dd❗Don't add characters in date fields. If needed, you can leave a field blank. |
| Work Email | <string>@<domain> (eg. johnsmith@gmail.com) |
| Mobile |
Accepted characters: '0-9', '(', ')','+', '-', '.' While you can add a number without the country prefix, we advise adding a prefix to the phone numbers to avoid incorrect import e.g., '+30 (keep the apostrophe) |
| Manager | Both “First Name Last Name” and “Last Name First Name” formats (eg. John Smith). ❗There should be no comma added between the names. |
| Salary Pay Rate | Numerical values are only supported without ',' |
| Salary Pay Currency | Must be a valid ISO 4217 currency code |
| Entity | The location of the entity, not its name. A second-level location is supported. |
| Department | Must exactly match the name of a department that already exists in Workable. |
| Work Schedule | Must exactly match the name of a work schedule already created in Workable. |
| Boolean Fields (Yes/No) | Accepted values only: True, False, T, F. |
| Numeric Fields | Numbers only, with no letters or symbols mixed in (e.g. "1235a" isn't valid). If a field genuinely needs to hold text, set it up as a text field rather than a numeric one. |
| Profile Picture URL | Must be a public URL (not a private or internal link) with no typos. |
Common CSV import errors
Below are the most common errors you may face when importing your employees via CSV and how to fix them.
| Error | Solution |
| Manager does not exist |
1. If the Manager doesn't exist as an employee in your account, make sure you include them in the CSV file. 2. If there is a comma between the first and last name, remove it. |
| Value is required for column x | This means that the field is required, so you will need to provide a value. |
| Email already exists in the account | This means there is already an employee with the same work email, so you can remove this employee if it's a duplicate. |
| Invalid date format for column Start Date | Ensure that your date format is supported: mm-dd-yyyy, yyyy-mm-dd, mm/dd/yyyy, yyyy/mm/dd |
Error for the Location String field |
The address must match an existing address in Google Maps so that the employee can be published. |
Error for Salary Frequency |
For employee Salary frequency field, it needs to be one of the: hour, day, week, month, quarter, year, pay, period, piece. |
Error "Department does not exist in your account" |
Make sure that the departments included in the CSV file exist in Workable. |
| Circular reference in manager assigned to employee | A direct or indirect report is being set as someone's manager (e.g. Employee A manages Employee B, and the file also lists Employee B as Employee A's manager). Review and correct the reporting line. |
| Invalid email format for column x | The value must follow the standard <string>@<domain> format, e.g. name@company.com. |
| Invalid numeric format for column x | Remove any non-numeric characters from the field (e.g. "1235a" isn't valid). If the field genuinely needs letters as well as numbers, set it up as a text field instead. |
| Invalid URL format for column x | If you're updating a profile picture, the URL must be a public link with no typos. Private or broken links fail. |
| Valid values for true are [X] and for false are [Y] | A column mapped to a yes/no (boolean) field contains a value Workable doesn't recognize. Accepted values are: True, False, T, F. |
| Failed validation for column x | The value doesn't meet a custom validation rule set on that field. Check the rule under the field's settings and either update your data or adjust the rule. |
| Enter a number smaller than or equal to [max value] for column x | A maximum value validation is set on this field and your entry exceeds it. Lower the value or adjust the validation rule. |
| Enter a number larger than or equal to [min value] for column x | A minimum value validation is set on this field and your entry falls below it. Raise the value or adjust the validation rule. |
| Amount is missing for pay rate field type | A pay rate field requires a numeric amount, it can't be left blank. |
| Currency is missing for pay rate field type | A pay rate field requires a currency alongside the amount, in ISO 4217 format (e.g. USD, EUR). |
| Duplicate work email detected, all rows containing [email] were skipped | Two or more rows in your file share the same work email, so Workable can't tell which one is correct. Check the file for duplicates and either remove the extra row or correct the mistyped one. |
FAQs
- Can we add more fields/extra columns to the import template?
Yes, you can add extra employee profile fields as columns in the import template. Ensure these fields already exist under the default profile template to map them in step 2 of the process.
You can also include a new column "Work schedules" and add the name of the created work schedules so that they can be assigned in bulk.