File-based output integrations
We provide a host of standard exports in our API to return useful information in bulk. These API exports have the following properties:
- The data contained in the API export is a reflection of the data at the time of the request (i.e., live data).
- The output will always be given in the default JSON format of the API.
- Most exports use pagination, returning the data piece by piece instead of in bulk.
- Especially when working with large amounts of data, the export API requests can often take some time to complete.
As an alternative to these API exports, we provide a similar host of file-based exports. These standard file-based output exports are triggered according to a configurable schedule (e.g. daily), transform the data to a desired format (e.g. CSV) and are uploaded to a desired, easily accessible location (e.g. S3). As such, these export integrations have the following advantages:
- No time-consuming live generation required: the last export is always readily available on the desired location (i.e. S3, SFTP server).
- No need to handle data tranformation.
- No need to handle pagination.
Prerequisites
To have access to the file-based output integrations, regardless of type, at least the following prerequisites must be met:
- You have the appropriate TechWolf API licenses.
-
You have the appropriate SkillEngine API credentials, which include:
- Tenant ID
- Tenant secret
- Tenant name
- Region (Europe or United States)
- You have a TechWolf API tenant set up that contains the relevant information for the requested output integration.
- Both you and TechWolf have access to the agreed output location.
Supported export types
Employee Info
The employee info export provides an overview of all employees and their fields.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing one row for every employee.
Every row has 3 values, and there is a header row present with the following values, indicating the contents of every column (in order):
Field name | Field description |
---|---|
employee_id | The id of the employee in TechWolf. |
low_data_availability | Flag indicating whether sufficient data is available for qualitative skill inference for the given employee. |
active | Flag indicating whether the employee will be used in matching. This is useful if an employee is being phased out. |
Job Info
The job info export provides an overview of all jobs and their fields.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing one row for every job.
Every row has 3 values, and there is a header row present with the following values, indicating the contents of every column (in order):
Field name | Field description |
---|---|
job_id | The id of the job in TechWolf. |
low_data_availability | Flag indicating whether sufficient data is available for qualitative skill inference for the given job. |
active | Flag indicating whether the job will be used in matching. This is useful when a job is being phased out. |
Course skill profiles (Course to skill)
The course skill profile export provides an overview of all the skills of every course.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing one row for every skill of every course, with courses without skills not being represented.
Every row has three values, and there is a header row present with the following values, indicating the contents of every column (in order):
Field name | Field description |
---|---|
course_id | The id of the course with the skill in TechWolf. |
skill_id | The id of the skill in TechWolf. |
skill | The name of the skill in TechWolf. |
Employee skill profiles (Employee to skill)
The employee skill profile export provides an overview of all the skills of every employee.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing - besides the header row - one or more rows for every skill of every employee (every skill has one row for each of its sources if it has any, and one row otherwise), with employees without skills not being represented.
The matrix has five columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
employee_id | The id of the employee with the skill in TechWolf. |
skill_id | The id of the skill in TechWolf. |
skill | The name of the skill in TechWolf. |
validation_state | The validation state of the skill; one of "validated", "suggested", "rejected". |
skill_source | The source from which the skill is inferred for this employee (e.g. "working_history"). |
Job skill profiles (Job to skill)
The job skill profile export provides an overview of all the skills of every job. Note that only the governed skill profiles are taken into account, not the suggested skill profiles.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing - besides the header row - one or more rows for every skill of every job (every skill has one row for each of its skill types), with job without skills not being represented.
The matrix has five columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
job_id | The id of the job with the skill in TechWolf. |
skill_id | The id of the skill in TechWolf. |
skill | The name of the skill in TechWolf. |
skill_type | The type of the skill; one of "Job-Specific", "Family-Specific". |
validation_state | The validation state of the skill; one of "validated", "suggested", "initially_validated". |
Note that initially validated skills for jobs and job families are skills which have been inferred after the first data load (i.e. the first iteration of the job to skill mapping). These skills are used to initially populate the governed skill profile of the job or job family, but which have not been manually verified like other (normal) validated skills. The initial validation process for jobs and/or job families is not a required step in creating a job or job family or managing its skill profile(s). If initial validation was not used during data loading, the associated states can never appear in the data.
Skill info
The skill export provides an overview of all skills and their description. For skills that are part of the taxonomy, the location in the taxonomy is also provided.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing - besides the header row - a row for every skill.
The matrix has ten columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
skill_id | The id of the skill. |
skill_name | The name of the skill. |
skill_description | The description of the skill. |
techwolf_domain | The default domain provided by TechWolf. |
taxonomy_skill_cluster_id | The id of the cluster the skill belongs to; empty for skills that are not part of the taxonomy. |
taxonomy_skill_cluster_name | The name of the cluster the skill belongs to; empty for skills that are not part of the taxonomy |
taxonomy_subdomain_id | The id of the subdomain the skill belongs to; empty for skills that are not part of the taxonomy; only relevant for four-level taxonomies, always empty for three-level taxonomies. |
taxonomy_subdomain_name | The name of the subdomain the skill belongs to; empty for skills that are not part of the taxonomy; only relevant for four-level taxonomies, always empty for three-level taxonomies. |
taxonomy_domain_id | The id of the top-level domain the skill belongs to; empty for skills that are not part of the taxonomy. |
taxonomy_domain_name | The name of the top-level domain the skill belongs to; empty for skills that are not part of the taxonomy. |
Employee Skill Gap
The employee skill gap export provides an overview of the match score between employees and their assigned position.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing - besides the header row - a row for every employee-job match.
The matrix has 3 columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
employee_id | The unique ID of the employee. |
job_id | The unique ID of the assigned position. |
score | The match score between the employee and the job, expressed as a number between 0 and 1. |
Employee Skill Gap Explained
The skill gap explained export provides a detailed information of the match score between employees and their assigned positions, including adjacent skills and how closely they align with the required skills for their assigned position.
Currently supported output formats are:
-
CSV1:
- The CSV represents a two-dimensional matrix, containing - besides the header row - a row for every skill for every employee-job match.
The matrix has six columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
employee_id | The unique ID of the employee. |
job_id | The unique ID of the assigned position. |
status | The current status of the match (e.g., "present", "missing"). |
skill_id | The unique ID of the required skill. |
adjacent_skill_id | The unique ID of the most similar adjacent skill that the employee has. |
adjacency_score | The adjacency score between the required skill and the adjacent skill, expressed as a number between 0 and 1. |
Internal Mobility
The internal mobility export provides an overview of potential matches between employees and jobs within the organisation, with their match score and status.
Currently supported output formats are:
-
CSV:
- The CSV represents a two-dimensional matrix, containing - besides the header row - a row for every employee-job match.
The matrix has 3 columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
employee_id | The unique ID of the employee. |
job_id | The unique ID of the job within the organization. |
score | The match score between the employee and the job, expressed as a number between 0 and 1. |
Internal Mobility Explained
The internal mobility export provides an overview of potential matches between employees and jobs within the organisation, including adjacent skills and how closely they align with the required skills for the job.
Currently supported output formats are:
-
CSV:
- The CSV represents a two-dimensional matrix, containing - besides the header row - a row for every skill of every employee-job match.
The matrix has 6 columns, containing the following fields for every row (in order):
Field name | Field description |
---|---|
employee_id | The unique ID of the employee. |
job_id | The unique ID of the job within the organization. |
status | The current status of the internal mobility match (e.g., "present", "missing"). |
skill_id | The unique ID of the required skill. |
adjacent_skill_id | The unique ID of the most similar adjacent skill that the employee has. |
adjacency_score | The adjacency score between the required skill and the adjacent skill, expressed as a number between 0 and 1. |
Supported output locations
S3
We support the use of Amazon S3 buckets as the location the above-mentioned output integrations can be shared. These buckets are owned and managed by TechWolf, but will be made accessible to you to fetch the export files.
Export output files will be located on your bucket, named techwolf-X
(with 'X'
being your company name or abbreviation), under the output/exports
directory.
The names of the files can be configured per file type, but the names must always contain the date at which they were created in one of the supported date formats. For compatibility reasons, names cannot contain semicolons (':') or periods ('.').
Coming soon
- Private SFTP server
-
CSV (comma-separated values) files are encoded as per the specifications of RFC 4180. In particular:
- Records (i.e. rows) are separated by a line break (CRLF, '\r\n') (cfr. RFC 4180 §2.1)
- Fields within records are separated by commas (',') (cfr. RFC 4180 §2.4)
- Each field is enclosed in double quotes (as allowed by RFC 4180 §2.5 - §2.6)
- Double quotes inside fields (which, as detailed above, are already enclosed in double quotes in their entirety) are escaped by being preceded with another double quote.
Additionally, fields that would normally start with a '=', '-', '+' or '@' symbol (or a Tab (0x09, \t) or Carriage return (0x0D, \r) character) are escaped with a '`' character. This is since many CSV-based programs such as Microsoft Excel or LibreOffice Calc automatically interpret any field that starts with one of these symbols as a formula and try to evaluate it instead of simply showing the field as is (cfr. OWASP - CSV Injection).
↩