> For the complete documentation index, see [llms.txt](https://docs.harmony.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.harmony.io/people-management/managing-people.md).

# Managing People

{% hint style="info" %}
**Path:** `/people`
{% endhint %}

### Understanding the People Directory

The People directory lists all employees in your organization. It requires admin access. Open **People** from the sidebar to view the list at `/people`. Each row shows the employee name, avatar, status, department, level, location, source, type, employment dates, last login, and related assets and software.

#### Navigating the People List

The People page displays a data table with sortable columns. Click a row to open that employee's profile. Use the toolbar for search, filters, refresh, and export. The table supports pagination with configurable page size (10-200 rows).

Employee data is cached in your browser for up to one week and automatically refreshed in the background every 15 minutes, so the People table, ticket reporter filters, and other views that rely on employee data load much faster - especially on lower-powered hardware.

![People data table with toolbar and filters](/files/QnOsdmhCB7Db58Ei6DLF)

#### Searching for Employees

Use the **Search** input in the toolbar. Search matches display name, work email, department, location, and job title. Results update as you type (debounced). Search is combined with active filters.

#### Filtering Employees

Use the filter popover to apply one or more filters. Filters use AND logic. Available filters:

| Filter           | Description                                                                                              |
| ---------------- | -------------------------------------------------------------------------------------------------------- |
| **Status**       | Employment status: Active, Terminated, On leave, Pending, Other                                          |
| **Type**         | Employee type: Person, Bot, Service account                                                              |
| **Department**   | Department name (values from data)                                                                       |
| **Level**        | Employee position level or seniority tier (values from data)                                             |
| **Location**     | Location (values from data)                                                                              |
| **Source**       | Integration source (Okta, Microsoft Entra, etc.) - displays integration icons alongside each source name |
| **IdP Status**   | Identity provider status (values from data)                                                              |
| **Start Date**   | Filter by employment start date (e.g. target new hires joining after or before a specific date)          |
| **VIP Reporter** | Quick filter for VIP reporters (hidden column)                                                           |

Clear individual filters or use **Reset filters** to remove all. By default, the view shows active employees of type Person.

You can combine department, level, location, start date, and status filters together for more precise results - for example, to identify new hires in a specific team joining within a given date range.

#### Sorting the People List

Click column headers to sort. Supported sort fields include display name, status, IdP status, department, level, location, source, type, start date, last login, related assets, related devices, and software count. Toggle between ascending and descending.

#### Understanding Employee Avatars

In the People list, each employee appears with an avatar (photo or initials), display name, and secondary text (job title or email). VIP employees show a VIP badge on the avatar. Service accounts display a settings icon instead of a photo.

#### Understanding the Level Column

A **Level** column appears in the People table after the Department column, showing each employee's position level or seniority tier. Empty values display as `--` or `N/A` where data is not available. Use the **Level** filter in the filter bank to quickly segment your workforce by seniority or position tier.

#### Understanding the IdP Status Column

The **IdP Status** column shows each employee's Identity Provider status directly in the People table, making it easier to spot discrepancies between HR records and identity provider accounts - for example, when someone is active in your HR system but has been deactivated in Okta. The column reflects data from Okta, Microsoft Entra, and Google Workspace. When multiple sources are available, the most recent status is displayed.

The IdP Status column is hidden by default. Enable it via column settings. You can also filter by IdP Status to quickly find employees in a specific state across your connected identity providers.

When you suspend or deactivate an employee using ticket quick actions, their IdP status is updated immediately in connected providers such as Okta, Microsoft Entra, and JumpCloud - rather than waiting for the next scheduled sync cycle. This means access is revoked faster and your identity provider stays in sync with actions taken directly in Harmony.

#### Using Employee Selector Fields

Elsewhere in Harmony (e.g., ticket assignee, reporter, asset assignment), employee selector fields let you search and pick employees. The selector is connected to a live backend search, so results are filtered in real time as you type rather than loading a full list upfront. This is especially helpful in larger organizations where scrolling through an unfiltered list was time-consuming.

When you hover over a selected employee in these fields, a hover card shows name, email, department, location, phone numbers, and links to message via Slack or Teams when available. You can copy the employee's email address directly from the hover card using the copy icon - a confirmation toast message confirms the copy was successful.

#### Bulk Updating Employee Types

You can select multiple employees in the People table and update their employee type in a single action - useful when onboarding new members or designating service accounts at scale.

* Select one or more employees using the selection column in the People table.
* Use the **Set Type** bulk action to update all selected employees at once.
* The **Set Type** button shows the number of currently selected employees and is disabled when none are selected.
* A maximum batch size is enforced to ensure reliable processing of large updates.

***

### Viewing Employee Details

Click an employee row to open their profile at `/people/$employeeId`. The profile shows the header (avatar, name, status, type, source, action buttons) and an Overview section with work details, contact details, assigned assets, software, custom fields, and related tickets.

![Employee profile with Overview tab](/files/tAFTiyhIJeTtBTn1IrTH)

#### Understanding Employee Profiles

The employee header includes:

* Avatar with VIP badge (if applicable)
* Display name and employment status badge
* Type (Person, Bot, Service account) - editable via dropdown
* Source(s) - links to HRIS/IdP profile when available
* **Reset Password** - only for Okta test tenants
* **Manage Groups** - only for Okta test tenants with Okta-sourced users
* **VIP** toggle - mark or remove VIP status (not for service accounts)
* **Message** button - opens a direct message with the employee in Slack or Microsoft Teams (whichever your organization uses), removing the need to manually search for a colleague in your messaging app

#### Viewing Employee Profile Information

The **Overview** tab includes:

**Work Details**

* Job title, Department
* Level (position level or seniority tier)
* Direct manager (with avatar and hover card), Employment contract
* Start date, End date (when terminated), Tenure

**Contact Details**

* Email address (with copy icon to copy directly to clipboard), Phone numbers (mobile and work, with clear labels)
* Location (with office name when available)
* IdP Status (showing the provider icon and original status value)
* Last login (timestamp of last SSO login, with a tooltip explaining how this value is determined)

**Custom Fields**

All custom fields associated with the employee profile are displayed directly within the detail page, giving you a more complete and accurate picture of each employee without needing to look elsewhere.

#### Viewing Employee Assets

The **Assigned assets** section lists devices and non-device assets assigned to the employee. Asset cards display the asset's serial number, making it easier to identify and cross-reference physical devices using the meaningful identifier your team already works with. Asset cells support hover previews showing name, type, status, and compliance. Use pagination when there are many assets.

#### Viewing Employee Software

The **Assigned software** section lists software applications assigned to the employee. For MDM-based integrations, an **Installed on** column shows which device each application is installed on. Hovering over a device in that column surfaces a Device Info card with key details, and clicking it takes you to the full Asset Details page for that device. Use the source and status filters to narrow results. Pagination is available.

#### Viewing Employee Tickets

The **Related tickets** section lists tickets associated with the employee (as reporter, assignee, or otherwise). You can filter and search within the tickets list.

#### Understanding Employee VIP Status

VIP employees appear with a VIP badge in the People list and on their profile. Use the gem icon button in the employee header to mark or remove VIP status. VIP status is used to prioritize reporters in the service desk. Service accounts cannot be marked as VIP.

***

### Managing Employee Accounts

#### Resetting Employee Passwords

**Reset Password** is shown only for Okta test tenants. Click the button to send an "Email Password Reset" workflow to the employee. The employee receives an email with instructions to reset their password.

#### Managing Employee Groups

**Manage Groups** is shown only when the tenant is a test tenant and the employee has an Okta source. Click the button to open the Manage Groups dialog.

#### Assigning Users to Groups

In the Manage Groups dialog, use the group selector to add the user to Okta groups. Search and select groups, then add them. The user will be a member of the selected groups in Okta.

#### Understanding Group Assignments

* Only Okta groups can be managed from Harmony.
* System groups such as **Okta Administrators** and **Everyone** cannot be removed; they are shown for reference only.
* Group membership is synchronized with Okta.

#### Removing Users from Groups

In the Manage Groups dialog, remove the user from a group by clicking the remove action next to that group. System groups (Okta Administrators, Everyone) cannot be removed.

***

### Exporting People Data

#### Exporting Employee Data to CSV

Click **Export** in the People toolbar. The export uses the current filters, search, and sort settings. A CSV file downloads with a name like `harmony-people-export-YYYY-MM-DD.csv`. Export includes all employees that match the filters; large exports may take a moment.

#### Understanding People Export Fields

The CSV includes columns such as Display Name, Employee ID, First Name, Last Name, Work Email, Job Title, Manager, Department, Level, Location, Employment Status, Employee Type, IdP Status, Sources, Start Date, Last Login, Related Devices, Related Assets, Related Apps, and associated asset details. Column visibility and order from the table are respected when possible.

#### Filtering People for Export

Apply filters before exporting to limit which employees are included. Supported export filters: search (display name, email, department, location, job title), department, level, location, employment status, type, sources, IdP status, start date. Sort order is also applied to the export.

***

### Related Resources

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Asset Views &#x26; Details</strong></td><td>Assign assets to employees and view asset details</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/managing-asset-views-and-details/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/managing-asset-views-and-details/README.md</a></td></tr><tr><td><strong>Managing Software</strong></td><td>View software assigned to employees and manage applications</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/managing-software-applications/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/managing-software-applications/README.md</a></td></tr><tr><td><strong>Service Desk &#x26; Tickets</strong></td><td>Create and manage tickets linked to employees</td><td><a href="https://github.com/harmonyso/public-docs/tree/main/guides/understanding-service-desk-and-managing-tickets/README.md">https://github.com/harmonyso/public-docs/tree/main/guides/understanding-service-desk-and-managing-tickets/README.md</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.harmony.io/people-management/managing-people.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
