> ## Documentation Index
> Fetch the complete documentation index at: https://help.skillsdb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Import/Export

> Learn how to bulk import employees, certifications, and career assignments into SkillsDB using CSV or Excel files, and how to export data for reference.

<Info>
  **Quick Summary:** Administrators can bulk-load employee records, certification histories, and career assignments into SkillsDB using CSV or Excel files. The Import page provides downloadable templates, real-time validation, and a full Activity Log for auditing and troubleshooting.
</Info>

# Overview

The Import/Export feature allows SkillsDB administrators to load large volumes of data into the platform without manual entry. Instead of adding employees, certifications, or career assignments one record at a time, admins can prepare a spreadsheet and upload it in bulk.

SkillsDB supports multiple import types, accessible via tabs on the Import page: **Skills**, **Careers**, **Training**, **Certifications** (certification library), **Employee Certifications** (approved records), **People** (employees and org structure), and **People Flags Import**. Each import type includes a downloadable template, field-level validation, and a post-import results summary that lists exactly which records succeeded and which failed — so you can correct and resubmit only the rows that need attention.

The Import page is accessible to administrators only. An **Activity Log** within the Import page retains a full history of every import operation, including the original file, the importing user, timestamps, and a breakdown of any errors encountered.

<Info>
  **Note:** The Import feature must be enabled for your organization. If you do not see **Import** in your navigation, contact your SkillsDB account manager.
</Info>

***

## Prerequisites

Before running any import, you need:

* **Permission level:** Administrator role
* **File format:** CSV, XLS, or XLSX files only
* **File size:** Maximum 5 MB per import file
* **Access:** Navigate to **Import** from the left sidebar

***

## Importing People (Employees)

Use the People import to add new employees, update existing employee records, or assign managers in bulk. SkillsDB identifies each employee by their email address — new email addresses create new records, and existing email addresses update existing records.

#### Prepare your file

1. Navigate to **Import** in the left sidebar.
2. Select the **People Import** tab.
3. Select **Download template** to get the `SkillsDB_People_Import_Template.csv` file.
4. Open the template and populate your data using the columns below.

| Column                                                                                                    | Required | Notes                                                                                                               |
| --------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
| `FirstName`                                                                                               | Yes      | Employee's first name                                                                                               |
| `LastName`                                                                                                | Yes      | Employee's last name                                                                                                |
| `EmailAddress`                                                                                            | Yes      | Unique identifier; must not be duplicated within the file                                                           |
| `ManagersEmail`                                                                                           | No       | Must match an existing employee's email in SkillsDB                                                                 |
| `JobTitle`                                                                                                | No       | Auto-created if it does not already exist                                                                           |
| `Department`                                                                                              | No       | Auto-created if it does not already exist                                                                           |
| `Level`                                                                                                   | No       | Auto-created if it does not already exist                                                                           |
| `IsAdmin`                                                                                                 | No       | Enter `Y` or `N`; blank preserves existing status for current employees and defaults to non-admin for new employees |
| `IsActive`                                                                                                | No       | Enter `Y` or `N`; blank preserves existing status for current employees and defaults to active for new employees    |
| `YourPersonId`, `BusinessUnit`, `Division`, `Country`, `Region`, `City`, `State`, `Site`, `Team`, `Shift` | No       | Optional organizational fields for your records                                                                     |

5. Save your completed file as CSV, XLS, or XLSX.

<Warning>
  **Important:** Each email address must appear only once in the file. Rows with duplicate email addresses fail validation and are listed in the results panel. Correct and reimport only the failed rows — successful rows are already processed.
</Warning>

#### Upload and run the import

1. Navigate to **Import > People Import**.
2. Drag and drop your file into the upload zone, or select **Add file** to browse your computer.
3. Select **Import** to begin processing.
4. SkillsDB processes the file in three stages: **Validating → Processing → Uploading**.
5. When processing completes, the results panel displays a count of successes and a breakdown of any failures by error category.

#### Understand people import results

If records fail, the results panel groups errors into categories so you know exactly what to fix:

| Error category             | Cause                                                              |
| -------------------------- | ------------------------------------------------------------------ |
| Duplicate emails           | The same email address appears more than once in the file          |
| Existing emails            | The email belongs to a user registered in a different organization |
| Invalid emails             | The email address is not correctly formatted                       |
| Missing emails             | A row has no email address                                         |
| Manager email conflict     | A user's `ManagersEmail` value matches their own `EmailAddress`    |
| Failed creations           | The record could not be created due to a processing error          |
| Failed manager assignments | The manager email does not match any existing employee in SkillsDB |

Fix only the affected rows in your file and reimport. Rows that already succeeded do not need to be re-uploaded.

***

## Importing Employee Certifications

Use the Employee Certifications import to bulk-assign certification records to employees. All certifications imported this way are automatically set to **Approved** status and become each employee's active certification record.

<Info>
  **Note:** Each certification must already exist in your SkillsDB certifications library before you can import it for employees. If a certification has not yet been created, add it to the library first.
</Info>

#### Find your SkillsDB Certification IDs

The certifications import requires a **SkillsDB Certification ID** for each row. To find these IDs:

1. Navigate to **Import** in the left sidebar.
2. Select the **Employee Certifications** tab.
3. Select **Export all certifications list**.
4. Open the downloaded `SkillsDB_Certifications_List.csv` to view all available certification IDs and their names.
5. Copy the relevant IDs into your import file.

#### Prepare your file

1. On the **Employee Certifications** tab, select **Download template** to get the `Employee_Certifications_Import_Template.csv` file.
2. Complete the file using the following columns:

| Column                    | Required | Notes                                                        |
| ------------------------- | -------- | ------------------------------------------------------------ |
| `EmployeeEmailAddress`    | Yes      | Must match an existing employee in SkillsDB                  |
| `SkillsDBCertificationID` | Yes      | Must match a certification in your library (see above)       |
| `IDNumber`                | No       | The employee's certificate number from the issuing authority |
| `IssuedDate`              | No       | Format: `YYYY/MM/DD` (e.g., `2025/06/15`)                    |
| `ExpirationDate`          | No       | Format: `YYYY/MM/DD` (e.g., `2027/06/15`)                    |

3. Save your completed file as CSV, XLS, or XLSX.

#### Upload and run the import

1. Navigate to **Import > Employee Certifications**.
2. Drag and drop your file into the upload zone, or select **Add file** to browse.
3. Select **Import** to begin processing.
4. Review the results summary when processing completes.

#### Understand certification import behavior

When you import a certification for an employee who already has an active record of the same certification type, SkillsDB marks the previous record as inactive and sets the imported record as the new active certification. The full certification history is preserved and remains accessible.

#### Understand certification import results

| Error category            | Cause                                                      |
| ------------------------- | ---------------------------------------------------------- |
| Unknown employee emails   | The email does not match any existing employee in SkillsDB |
| Unknown certification IDs | The certification ID does not exist in your library        |
| Invalid issued dates      | Date is not in `YYYY/MM/DD` format                         |
| Invalid expiration dates  | Date is not in `YYYY/MM/DD` format                         |
| Failed imports            | A processing error occurred for those rows                 |

***

## Importing Skills

Use the Skills import to bulk-load skills into your skills library. Each skill can include a name, description, labels, and a unique `YourSkillID` for referencing the skill across systems.

1. Navigate to **Import** and select the **Skills** tab.
2. Select **Download template** to get the skills import template.
3. Complete the file — required column is the skill name; optional columns cover description, labels, and `YourSkillID`.
4. Upload and run the import. The results panel lists any rows that failed validation.

Imported skills become immediately available in the skills library and can be attached to careers.

***

## Importing Training Resources

Use the Training import to bulk-load learning resources into your training library.

1. Navigate to **Import** and select the **Training** tab.
2. Download the template, populate the resource details (title, URL, category, provider, cost, description, labels), and save.
3. Upload and run the import. Resources become available in the training library and can be attached to skills or learning plans.

***

## Importing Certifications (Library)

Use the Certifications import to bulk-load certification definitions into your certification library — distinct from the Employee Certifications import, which records which people hold which certification.

1. Navigate to **Import** and select the **Certifications** tab.
2. Download the template, populate certification names and any required fields, and save.
3. Upload and run the import. Certification definitions become available to assign to employees, either individually or via the Employee Certifications import.

***

## Importing People Flags

Use the People Flags Import to bulk-assign administrator-defined people flags (for example, `High potential`, `Available`, `Successor – Director`) across your employee base.

1. Navigate to **Import** and select the **People Flags Import** tab.
2. Download the template, populate each employee's email and the flag names to assign, and save.
3. Upload and run the import. Each assigned flag is applied immediately to the matching person. Flag names must match existing People Flags configured in **Settings > Flags > People Flags**.

See [People Flags](/configurations/people-flags) for creating and managing the flags themselves.

***

## Importing Career Assignments (Roles, Groups and Levels)

Use the Careers import to assign existing employees to roles, groups, and levels in bulk. This import associates employees with existing career structure elements using their system IDs — it does not create new career structure elements.

<Info>
  **Note:** Roles, groups, and levels must already exist in your SkillsDB career structure before running this import.
</Info>

#### Prepare your file

1. Navigate to **Import** in the left sidebar and select **Careers** from the import type dropdown.
2. Select **Download template** to get the `Roles_Groups_Levels_Import_Template.csv` file.
3. Complete the file using the following columns:

| Column         | Required | Notes                                       |
| -------------- | -------- | ------------------------------------------- |
| `EmailAddress` | Yes      | Must match an existing employee in SkillsDB |
| `JobRoleId`    | No       | The system ID of the job role to assign     |
| `GroupId`      | No       | The system ID of the group to assign        |
| `LevelId`      | No       | The system ID of the level to assign        |

4. Save your completed file as CSV, XLS, or XLSX.

<Tip>
  **Tip:** You can include `JobRoleId`, `GroupId`, and `LevelId` in the same row to assign all three in a single import run. All three values are optional per row — include only the columns relevant to your use case.
</Tip>

#### Upload and run the import

1. Navigate to **Import > Careers**.
2. Drag and drop your file into the upload zone, or select **Add file** to browse.
3. Select **Import** to begin processing.
4. Review the results summary when processing completes. Any email addresses that did not match existing employees are listed in the results panel.

***

## Reviewing Import History

The **Activity Log** tab in the Import section provides a complete audit trail of every import run across all import types.

#### What the Activity Log shows

Each row in the Activity Log includes:

* **Import type** — People, Employee Certifications, or Careers
* **Status** — Imported, Partially Failed, Failed, or Processing
* **File name** — The original uploaded filename
* **Imported by** — The email address of the admin who ran the import
* **Date and time** — When the import ran
* **Rows processed, succeeded, and failed** — A count summary for that run

All administrators in your organization can view the Activity Log, including imports run by other admins.

#### View error details

If an import shows **Partially Failed** or **Failed** status, select **Details** on that row to open the error detail modal. The modal lists the specific records and error descriptions for that import run, so you can identify and fix only the affected data.

#### Download original import files

Select **Download** on any Activity Log row to retrieve the original file that was uploaded for that run. Use the downloaded file as a starting point to correct errors and reimport.

***

## Exporting Data

Most data-heavy pages in SkillsDB — people tables, skills matrix, training matrix, learning plans, certifications, flag matrices, the Activity Log — include an export action. Exports reflect the current view, including any active filters, sorts, and column selections, so you can take the exact slice you are looking at into a spreadsheet.

#### Opening the export menu

The export action is in the top-right action area of the page. For most pages it appears as an **Export** button; for pages with multiple export options, the export button opens a menu with the available formats.

Supported export formats vary by page. Most pages offer at least an **Excel** (`.xlsx`) export. Select pages also offer a **PDF** export with a branded layout suitable for sharing or printing.

#### Export file naming

Exported files use a consistent pattern: `{Report_Name}_{date}.xlsx` — for example, `Training_Matrix_2026-04-21.xlsx`. This makes it easy to keep a dated record of repeated exports without overwriting older files.

#### Export behavior

* **Filters and sorts** — the exported file matches the filtered, sorted view on screen. If you need a complete unfiltered dataset, clear all filters before exporting.
* **Columns** — exported columns match the columns visible in the table. Use the column chooser to show additional columns before exporting. For some reports (such as All Activity), hidden columns such as Employee ID and Manager Email are included in the export even when hidden on screen — this is called out where it applies.
* **PDF layout** — when PDF is offered, the PDF preserves the page's branding and layout, and is designed for sharing or printing rather than further data analysis. For data work, use Excel.

<Tip>
  **Tip:** Save a favorite or saved view first, then export from that saved state. This creates a repeatable workflow: open the favorite, export, and distribute — with the same filters every time.
</Tip>

***

# Common Questions

<AccordionGroup>
  <Accordion title="What happens if I reimport an employee who already exists in SkillsDB?">
    SkillsDB uses email address as the unique identifier. If you import a row with an email address that already exists, SkillsDB updates that employee's record with the values in the file. Fields not included in the file are not modified. This means you can safely run partial updates — for example, updating only job titles — without affecting other profile data.
  </Accordion>

  <Accordion title="Can the People import create new job titles, departments, or levels automatically?">
    Yes. When the People import encounters a job title, department, or level value that does not yet exist in SkillsDB, that value is automatically created. This lets you establish your org structure through the People import without manually pre-creating each job title or department.
  </Accordion>

  <Accordion title="Can I import certifications for employees who have not been added to SkillsDB yet?">
    No. The Employee Certifications import requires each `EmployeeEmailAddress` to match an existing employee record. Import your employees first using the People import, then run the certifications import.
  </Accordion>

  <Accordion title="What date format does the certifications import require?">
    Dates must follow `YYYY/MM/DD` format. For example, June 15, 2025 should be entered as `2025/06/15`. Dates in any other format fail validation and appear in the **Invalid dates** error category in the results panel.
  </Accordion>

  <Accordion title="Can I grant or revoke admin access through the People import?">
    Yes. Set the `IsAdmin` column to `Y` to grant administrator access, or `N` to remove it. If you leave `IsAdmin` blank for an existing employee, their current admin status remains unchanged. Blank values for new employees default to non-admin.
  </Accordion>

  <Accordion title="Is there a limit on how many rows I can import at once?">
    Each import file must be 5 MB or smaller. There is no separate fixed row limit, but the 5 MB ceiling applies to all import types. If your file exceeds 5 MB, split it into multiple files and run them separately.
  </Accordion>

  <Accordion title="Can I download the file from a past import to use as a starting point?">
    Yes. In the **Activity Log**, select **Download** on any row to retrieve the original file uploaded for that run. This is useful for correcting errors and resubmitting, or for auditing what data was submitted at a specific point in time.
  </Accordion>
</AccordionGroup>

***

# Related Articles

<CardGroup cols={2}>
  <Card title="Analytics & Reporting" icon="link" href="/core-concepts/analytics-and-reporting">
    Export and analyze skills data across your organization
  </Card>

  <Card title="Skills Matrix" icon="link" href="/core-concepts/skills-matrix">
    View and manage employee skill data after onboarding
  </Card>
</CardGroup>

***

# Need Help?

<Info>
  If you run into any issues or have questions, reach out to your organization's SkillsDB administrator or contact [SkillsDB Support](https://www.skillsdb.com/support).
</Info>
