---
title: "Your first employee upload and groups"
description: "A 25-minute walk from a spreadsheet to an audience: upload your people, check the profiles Pyn built, add a joiner by hand, then create the static and filter groups your first automation will target."
sidebar:
  order: 1
area: directory
feature: employees
appPath: /directory/home
lastVerified: 2026-10-22
version: "2026-10-16"
audience: admin
video: directory-tutorial-first-upload
related:
  - directory/employees/upload-employees-from-a-spreadsheet
  - directory/employee-groups/create-a-filter-group
  - directory/employees/reference-employee-properties
  - flows/automations
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: draws on
  - id: "12651638"
    title: Understand Groups in Pyn (Pyn 2)
    url: https://intercom.help/pyn/en/articles/12651638-understand-groups-in-pyn-pyn-2
    note: draws on
---

**Goal:** a Directory that matches your organisation well enough to run a flow against: every current employee with a work email, a start date, a time zone and a manager; upcoming joiners in place before their first day; and two groups ready to use as an audience.

**Time:** about 25 minutes, most of it in the spreadsheet.

**You will end up with:**

- every employee in **Directory** > **Employees**, split into **Active**, **Upcoming** and **Inactive** by Pyn;
- a profile per person showing their manager and the groups they are in;
- a **Static** group of named people (for example your onboarding buddies) and a **Filter** group of everyone who is about to join;
- the first automation pointed at one of them.

## Before you start

- You are a workspace admin.
- You do not have an HRIS connected. If you do, Pyn fills Directory from it and you can skip to chapter 4; [Integrations](https://support.pynhq.com/integrations/) covers each connector.
- Have the list of employees to hand with, at minimum, each person's work email, full name, start date and their manager's email.

[Video: Your first employee upload and groups: the Employee File panel, a profile, an upcoming joiner, a static group and a filter group.](https://support.pynhq.com/media/directory/employees/directory-tutorial-first-upload.mp4)

## 1. Build the spreadsheet

Pyn reads a `.csv`, `.xls` or `.xlsx` file with a header row. Column names are the property keys in [Employee properties](https://support.pynhq.com/directory/employees/reference-employee-properties/).

1. Open **Settings** at the foot of the left navigation, select **Integrations**, then **Available**, and select the **File Upload** tile. Pyn creates the integration and opens its panel, headed **Employee File**.

2. In the panel's banner, select **Download Sample File**. The file `pyn-employee-file-upload-sample.csv` has every column Pyn accepts, with example rows.

3. Fill one row per employee. `employeeId` is your own stable id for the person (a payroll number is ideal), `primaryEmail` is their work address, `displayName` their full name. Set `status` to `active`, `leave` or `inactive`; leave it blank and the person reads as inactive.

4. Put dates in `startDate`, `terminationDate` and `tenureDate` as `yyyy-MM-dd`. Put the manager's `employeeId` in `managerId`, and likewise `buddyId`, `hrbpId` and `mentorId`.

5. Give everyone a time zone, either `timeZone` as an IANA name such as `Australia/Sydney`, or `country` plus `postalCode` for the US, Canada and Australia, or `country` alone for a country with one zone.

6. Add the columns you want to group by: `department`, `location`, `division`, `team`, `businessUnit`, `jobTitle`.

Delete the sample rows before you upload.

## 2. Upload it

1. Back in the **Employee File** panel, select **Upload** and choose your file.

2. Read the result. **Success! Uploaded N records** means every row passed. Otherwise the banner lists each problem as **Row #n:** with the column and the value it received; fix those rows and upload again. The whole file is rejected until every row passes.

3. Open **Directory** in the left navigation. The upload is applied in the background and the first profiles appear within a minute or two.

> **Note:** Uploading again later is an update, not a duplicate: Pyn matches rows on `employeeId`, changes what differs, and marks anyone missing from the new file as removed from the source.

## 3. Check what Pyn built

![Select an employee to open their profile beside the list.](https://support.pynhq.com/media/directory/employees/directory-employees-profile.png)

1. On **Active**, count the rows against your file. Someone missing is on **Upcoming** (a future start date) or **Inactive** (a past termination date, or no `active` status).

2. Read the **Country** and **Time Zone** columns. A blank time zone means Pyn could not work one out from the row; add a `timeZone` or `postalCode` for that person and upload again.

3. Select a row to open the profile. On **Details**, check **Manager** and, if you supplied them, **Buddy**, **HRBP** and **Mentor**. A missing manager means the `managerId` did not match another row's `employeeId`.

4. Open the **Groups** tab. The person is already in the demographic groups for their department, location, division and employment type, and in the lifecycle group for their stage.

## 4. Add someone who is not in the file yet

A signed offer arrives after the upload. Rather than edit the spreadsheet, add them from the **Upcoming** view.

1. Select **Upcoming** under **Employees**, then **Add employee**.

2. Fill **Full name**, **Start date**, **Country** and **Time zone** (it defaults to the workspace's zone). Add **Work email** if they have one, otherwise **Personal email**, and search for their **Manager**.

3. Select **Add employee**. The dialog confirms **has been added as an upcoming joiner**; select **Done**.

## 5. Create a static group

A static group is a list you manage by hand: the people you have picked to be onboarding buddies, for example.

1. Select **All Groups** under **Employee Groups** on the left, then **Create**, then **Static**.

2. Type a **Group Name**, for example "Onboarding buddies".

3. Add members by searching, or select **Paste a list of employee email addresses**, paste them and select **Process Emails**. Addresses that match nobody are listed so you can fix them.

4. Select **Next**, read the list, then **Confirm**. On **Your static group has been created.** select **Done** to open the group.

## 6. Create a filter group

A filter group is a saved audience that Pyn keeps up to date: everyone about to join, say, or every current engineer outside the leadership team.

1. Select **All Groups** again, then **Create**, then **Filter**.

2. Type a **Group Name**, for example "Upcoming joiners".

3. Under **Lifecycle**, remove **Current** with its **x** and choose **Joiner**. Leave **Included** and **Excluded** empty.

4. Select **Preview**, read the list, then **Confirm**. On **Your filter group has been created.** select **Done**.

The group's panel shows **This filter group is still being evaluated** until Pyn has checked every employee, then lists its members. Every later upload re-evaluates it.

## 7. Point a flow at it

1. Open **Flows** in the left navigation and open an automation, or create one.

2. In its audience, add "Upcoming joiners" under **Included**. [Automations](https://support.pynhq.com/flows/automations/) explains the trigger and the audience in full.

## Related

- [Upload employees from a spreadsheet](https://support.pynhq.com/directory/employees/upload-employees-from-a-spreadsheet/) for the monthly update, and [Export employees](https://support.pynhq.com/directory/employees/export-employees/) to start that update from what Pyn has.
- [Create a relationship group](https://support.pynhq.com/directory/employee-groups/create-a-relationship-group/) for everyone without a buddy, and [Create a demographic](https://support.pynhq.com/directory/demographics/create-a-demographic/) to group by a property such as Job Class.
- [Employee properties](https://support.pynhq.com/directory/employees/reference-employee-properties/) for every column, and how stage and time zone are worked out.
- [Fix a missing manager, time zone or email](https://support.pynhq.com/directory/employees/fix-missing-details/) when a profile is not what you expected.

## 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) — draws on
- [Understand Groups in Pyn (Pyn 2)](https://intercom.help/pyn/en/articles/12651638-understand-groups-in-pyn-pyn-2) — draws on
