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

  1. 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).