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

# Employees

## Employees datasource specification

This page describes the file-based datasource specification for syncing
**Employees** into TechWolf when no standardized connector (such as Workday or
SAP SuccessFactors) is available. It covers the Employee baseline, the
organisational structure, and every skill-relevant signal attached to an
Employee: learning, work history, certifications, education, feedback, projects,
tickets, performance, Skill notes, resumes, and merge requests. It defines the
files TechWolf expects, the fields within each file, and which fields are
required.

Use this specification when a customer exports Employee data from any source
system to flat files. The Employee Baseline file is required and establishes
each Employee; every other file on this page references it through
`employee_id`.

Two files link out to other entities: the Employee Baseline points to a Job
through `assigned_position`, and Learning History points to a Course through
`course_id`. The
[Jobs](/integrations/datasource-integrations/non-standard-datasource-integrations/jobs)
and
[Courses](/integrations/datasource-integrations/non-standard-datasource-integrations/courses)
specifications must be synced as well for those links to resolve.

For the broader picture of how file-based integrations work and how they compare
to API-based connectors, see
[Key concepts](/integrations/datasource-integrations/datasources-key-concepts).

### Technical data flow

Files are delivered to TechWolf over **SFTP** and land in an **AWS S3** bucket,
from where the file-based integration ingests them.

1. The customer (or their source system) exports the Employee files described
   below to a customer-hosted SFTP server.
2. TechWolf connects to that SFTP server, pulls the files, and writes them to
   the customer's S3 bucket under the file-based ingest prefix.
3. The file-based integration reads the files from S3 and syncs the data into
   the TechWolf SkillEngine API.

To configure the SFTP server and the folder mappings TechWolf pulls from, see
[Self-service SFTP setup](/integrations/reference/sftp/self-service-setup). For
the S3 layout and naming conventions, see
[File Organization](/integrations/reference/file-structure).

Each file has a fixed location and naming pattern on S3. The base path is:

```
s3://techwolf-<customer>/production/external/input/integrations/file_based/
```

<Note>
  During the testing phase, the `staging` environment path is used instead:
  `s3://techwolf-<customer>/staging/external/input/integrations/file_based/`.
</Note>

### Reading the field tables

Each field is annotated in the **Key** column to indicate its role:

* **Primary key** — the external ID of the file; uniquely identifies the entity.
* **Foreign key** — references the primary key of another entity, linking the
  two.

Fields without a Key annotation are TechWolf data fields used for skill
inference or context, not identifiers.

Most files on this page use an `external_id` as their primary key. Share the
identifier from the source system where one exists. Where it does not, leave the
field empty and TechWolf generates an identifier for the record.

### Employee Baseline

The baseline Employee file. **Required.** Establishes the existence of each
Employee; every other file on this page references it.

File on S3:
`.../file_based/TechWolf_Employee_Information/TechWolf_Employee_Information_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field           | Required | Key         | Notes                                                             |
| ------------------------ | -------- | ----------- | ----------------------------------------------------------------- |
| employee\_id             | Required | Primary key | External ID of the file. ID of the Employee.                      |
| assigned\_position       | Required | Foreign key | The Employee's current Job. Points to job\_id in Job Information. |
| organisational\_unit\_id | Required | Foreign key | Points to organisational\_unit\_id in Organisational Information. |
| active                   | Optional |             |                                                                   |

### Organisational Information

The supervisory organisation structure. **Highly recommended.**

File on S3:
`.../file_based/TechWolf_Supervisory_Organization/TechWolf_Supervisory_Organization_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field                     | Required | Key         | Notes                                                      |
| ---------------------------------- | -------- | ----------- | ---------------------------------------------------------- |
| organisational\_unit\_id           | Required | Primary key | External ID of the file.                                   |
| organisational\_unit\_name         | Required |             |                                                            |
| organisational\_unit\_active       | Optional |             |                                                            |
| parent\_organisational\_unit\_id   | Required | Foreign key | Points to the organisational\_unit\_id of the parent unit. |
| parent\_organisational\_unit\_name | Required |             |                                                            |

### Learning History

Courses an Employee has completed. **Highly recommended.**

File on S3:
`.../file_based/TechWolf_Learning_History/TechWolf_Learning_History_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field | Required    | Key         | Notes                                                                                               |
| -------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id   | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id   | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| course\_id     | Required    | Foreign key | Points to course\_id in Course Information.                                                         |
| timestamp      | Optional    |             | Defaults to the current date if empty.                                                              |

### Internal Work History

The Employee's history of internal Jobs. **Highly recommended.** Should include
the current assigned position and its start date.

File on S3:
`.../file_based/TechWolf_Internal_Work_History/TechWolf_Internal_Work_History_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field | Required    | Key         | Notes                                                                                               |
| -------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id   | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id   | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| job\_id        | Required    | Foreign key | Points to job\_id in Job Information.                                                               |
| start\_date    | Required    |             | Also used as the timestamp.                                                                         |
| end\_date      | Required    |             |                                                                                                     |

### External Work History

The Employee's work experience outside the organisation. **Highly recommended.**

File on S3:
`.../file_based/TechWolf_External_Work_History/TechWolf_External_Work_History_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field   | Required    | Key         | Notes                                                                                               |
| ---------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id     | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id     | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| job\_title       | Required    |             | Title and description cannot both be empty.                                                         |
| job\_description | Required    |             |                                                                                                     |
| company          | Optional    |             |                                                                                                     |
| start\_date      | Required    |             |                                                                                                     |
| end\_date        | Required    |             |                                                                                                     |

### Certification History

Certifications held by the Employee. **Recommended.**

File on S3:
`.../file_based/TechWolf_Certification/TechWolf_Certification_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field           | Required    | Key         | Notes                                                                                               |
| ------------------------ | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id             | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id             | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| certification\_name      | Required    |             | Name and description cannot both be empty.                                                          |
| certificate\_description | Required    |             |                                                                                                     |
| timestamp                | Optional    |             |                                                                                                     |

### Education History

The Employee's formal education. **Recommended.**

File on S3:
`.../file_based/TechWolf_Education/TechWolf_Education_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field      | Required    | Key         | Notes                                                                                               |
| ------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id        | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id        | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| degree\_name        | Required    |             | Name and description cannot both be empty.                                                          |
| degree\_description | Required    |             |                                                                                                     |
| start\_date         | Optional    |             |                                                                                                     |
| end\_date           | Optional    |             | Also used as the timestamp.                                                                         |

### Feedback

Feedback given to the Employee. **Recommended.**

File on S3:
`.../file_based/TechWolf_Feedback/TechWolf_Feedback_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field | Required    | Key         | Notes                                                                                               |
| -------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id   | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id   | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| timestamp      | Optional    |             |                                                                                                     |
| source         | Optional    |             |                                                                                                     |
| description    | Optional    |             |                                                                                                     |

### Project Data

Projects the Employee has worked on. **Recommended.**

File on S3:
`.../file_based/TechWolf_Project/TechWolf_Project_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field       | Required    | Key         | Notes                                                                                               |
| -------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id         | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id         | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| project\_description | Required    |             |                                                                                                     |
| timestamp            | Optional    |             |                                                                                                     |

### Ticket Data

Tickets the Employee has handled. **Highly recommended.**

File on S3:
`.../file_based/TechWolf_Ticket/TechWolf_Ticket_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field      | Required    | Key         | Notes                                                                                               |
| ------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id        | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id        | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| ticket\_title       | Required    |             |                                                                                                     |
| ticket\_description | Required    |             |                                                                                                     |
| ticket\_system      | Optional    |             |                                                                                                     |
| ticket\_status      | Optional    |             |                                                                                                     |
| ticket\_type        | Optional    |             |                                                                                                     |
| timestamp           | Optional    |             |                                                                                                     |

### Performance Data

Performance records for the Employee. **Recommended.**

File on S3:
`.../file_based/TechWolf_Performance/TechWolf_Performance_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field | Required    | Key         | Notes                                                                                               |
| -------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id   | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id   | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| title          | Required    |             |                                                                                                     |
| description    | Required    |             |                                                                                                     |
| status         | Optional    |             | Only send entries perceived as relevant (e.g. "Completed", "On Track").                             |
| type           | Optional    |             |                                                                                                     |
| timestamp      | Optional    |             |                                                                                                     |

### Skill Notes

Free-text notes about an Employee's Skills. **Highly recommended (if
available).**

File on S3:
`.../file_based/TechWolf_Skill_Notes/TechWolf_Skill_Notes_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field | Required    | Key         | Notes                                                                                               |
| -------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id   | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id   | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                        |
| description    | Required    |             |                                                                                                     |

### Resume

The Employee's resume document. **Recommended.**

File on S3:
`.../file_based/TechWolf_Resume_Attachment/TechWolf_Resume_Attachment_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field | Required    | Key         | Notes                                                                                                                                                                     |
| -------------- | ----------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| external\_id   | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one.                                                                       |
| employee\_id   | Required    | Foreign key | Points to employee\_id in Employee Baseline.                                                                                                                              |
| mimeType       | Required    |             | Only application/pdf, application/msword, application/vnd.openxmlformats-officedocument.wordprocessingml.document, and text/plain are supported; other types are ignored. |
| base64Content  | Required    |             | The document encoded as a base64 string.                                                                                                                                  |

### Merge Requests (Commit Messages)

Commit messages authored by the Employee. **Recommended.** Only commit messages
linked to a merged merge request should be included.

File on S3:
`.../file_based/TechWolf_Merge_Request/TechWolf_Merge_Request_[yyyy][MM][dd]_[HH][mm][ss].csv`

| TechWolf field              | Required    | Key         | Notes                                                                                               |
| --------------------------- | ----------- | ----------- | --------------------------------------------------------------------------------------------------- |
| external\_id                | Recommended | Primary key | Share the ID from the source system if you have one. If it is not provided, TechWolf generates one. |
| employee\_id                | Required    | Foreign key | Mapped to the Employee based on the author of the commit message.                                   |
| merge\_request\_title       | Required    |             |                                                                                                     |
| merge\_request\_description | Required    |             |                                                                                                     |
| commit\_message             | Required    |             | Each row contains a single commit message.                                                          |
| status                      | Optional    |             |                                                                                                     |
| timestamp                   | Optional    |             |                                                                                                     |
