---
title: "Upload employees from a spreadsheet"
description: "Load or update your employees from a CSV, XLS or XLSX file through the Employee File integration, and read the result."
sidebar:
  order: 2
area: directory
feature: employees
appPath: /settings/home
lastVerified: 2026-10-22
version: "2026-10-16"
audience: admin
screenshots:
  - id: directory-employees-employee-file-panel
    caption: The Employee File panel in Settings, with Download Sample File and Upload.
related:
  - directory/employees/reference-employee-properties
  - directory/employees/export-employees
  - integrations/employee-file
intercom:
  - id: "16755797"
    title: How to Upload Employee Data Manually (Pyn 2)
    url: https://intercom.help/pyn/en/articles/16755797-how-to-upload-employee-data-manually-pyn-2
    note: replaces
  - id: "6024080"
    title: How to upload employee data manually (Pyn 1)
    url: https://intercom.help/pyn/en/articles/6024080-how-to-upload-employee-data-manually-pyn-1
    note: "Pyn 1 article, kept for reference"
---

Without an HRIS connection, a spreadsheet is how employees get into Pyn, and how they are kept current. Each upload is an upsert: rows are matched on your `employeeId`, changed values are updated, and people missing from the file are marked as removed from this source.

## Before you start

- You are a workspace admin.
- Your file has a header row whose names are the property keys listed in [Employee properties](https://support.pynhq.com/directory/employees/reference-employee-properties/). `employeeId` and `primaryEmail` are required on every row. The sample file (step 2) has every accepted column.

![The Employee File panel in Settings, with Download Sample File and Upload.](https://support.pynhq.com/media/directory/employees/directory-employees-employee-file-panel.png)

## Steps

1. In Pyn, open **Settings** at the foot of the left navigation, then **Integrations**. Select **Installed** and the **File Upload** tile if you have uploaded before; otherwise select **Available** and the **File Upload** tile, which creates the integration and opens it. Either way the panel that opens is headed **Employee File**.

2. In the panel's banner, select **Download Sample File** for a CSV with every column and example rows, and use it as your template.

3. Check the columns that need a particular format: dates as `yyyy-MM-dd`; `status` as `active`, `leave` or `inactive`; `country` as a name or ISO code; `timeZone` as an IANA name such as `Europe/London` (or leave it blank and supply `country` and, for the US, Canada and Australia, `postalCode`); `birthday` as `MM-dd`; `managerId`, `buddyId`, `hrbpId` and `mentorId` as another row's `employeeId`.

4. Select **Upload** and choose the file.

5. Read the banner. **Uploading...** then **Success! Uploaded N records.** means every row passed; or a list of errors, each as **Row #n:** followed by the column and the value received, for example **Unknown timezone** or **Could not determine timezone from country**. Fix every listed row and upload again; a file with any failing row is not applied.

6. Open **Directory** in the left navigation. Processing takes a minute or two; profiles then appear or update under **Active**, **Upcoming** and **Inactive**.

> **Caution:** A person who is in Pyn from an earlier upload but not in the new file is marked removed from the Employee File source. If that was their only source, their stage becomes **Terminated** and they move to **Inactive**. Export first and edit the export when in doubt.

## What you should see

The **History** tab of the Employee File panel records each upload with a status dot. **Advanced** lists **Fields in Employee File**: every column seen and how many rows carried a value. In **Directory**, the new rows are present with the values from your file; a value another source already supplies (an HRIS, say) is not overridden, because Employee File comes after the HRIS sources in the merge order.

## Related

- [Employee properties](https://support.pynhq.com/directory/employees/reference-employee-properties/) for every column and the merge order.
- [Export employees](https://support.pynhq.com/directory/employees/export-employees/) to start your next update from what Pyn has.
- [Employee File](https://support.pynhq.com/integrations/employee-file/) for the integration itself.

## Related Intercom articles

- [How to Upload Employee Data Manually (Pyn 2)](https://intercom.help/pyn/en/articles/16755797-how-to-upload-employee-data-manually-pyn-2) — replaces
- [How to upload employee data manually (Pyn 1)](https://intercom.help/pyn/en/articles/6024080-how-to-upload-employee-data-manually-pyn-1) — Pyn 1 article, kept for reference
