Skip to main content

Integration API

Overview

The Integration API allows you to integrate documents and entities in Skills Workflow from external systems by linking them via an External ID. It is not intended for data extraction—use it to push or synchronize data (e.g. from financial systems, project-management tools, ERPs, attendance systems, etc.) into Skills Workflow.

Purpose

The Integration API is designed to enable seamless synchronization of data between Skills Workflow and external systems. It facilitates the creation, updating, and linking of entities in Skills Workflow with external applications through the use of unique External IDs.

Use Cases

Integrate Skills Workflow with external systems such as:

  • Financial systems (e.g., QuickBooks, Xero)
  • Project management tools (e.g., Asana, Jira, Trello)
  • ERPs and CRMs
  • Attendance or time-tracking systems
  • Custom data synchronization or push solutions

Key Limitations

  • External ID linkage required: Entities in Skills Workflow must be linked to external systems using an External ID.
  • Not for data extraction: Use the Data Extraction API for querying or extracting data.
  • No direct reporting or analysis: This API is for synchronization and data pushing, not for reporting purposes.
  • Rate limits may apply: High-frequency synchronization should be managed to avoid hitting API rate limits.
  • Data consistency: Ensure the external systems are correctly mapped to prevent data mismatches during synchronization.

    Note: If you need to read or query Skills Workflow data, or replicate parts of its behavior inside your own application, please use the Client API instead.

Getting Started

Authentication

Before calling any endpoint, you must obtain the following credentials from our Support team:

  • App Key (X-AppId)
  • App Secret (X-AppSecret)
  • Tenant ID (X-AppTenant)

These are provided by the support team upon request.

Include them in each request via HTTP headers:

X-AppTenant:  <X-AppTenant>
X-AppId: <X-AppId>
X-AppSecret: <X-AppSecret>
X-AppUser: <UserId> # Optional, if user-scoped filtering is required
Content-Type: application/json

Environments

Your subscription plan determines which environments are available:

EnvironmentHostname
Developmentintegration-api-dev.skillsworkflow.com
Testintegration-api-test.skillsworkflow.com
UATintegration-api-uat.skillsworkflow.com
Productionintegration-api.skillsworkflow.com

Use the appropriate {{Environment}} variable in your URLs.

Postman Collection

To facilitate testing of the available queries, we provide a Postman collection file with all endpoints configured. You can download it from the link below:

Download Postman Collection - Integration API

After downloading, make sure to configure the variables {{Environment}}, {{TenantId}}, {{AppId}}, {{AppSecret}}, and {{UserId}} according to the credentials you have been given.

Rate Limits

All calls to the Integration API are capped at 30 seconds execution time. To avoid timeouts:

  • Use filters on query endpoints
  • Implement pagination via skip and take query parameters

Endpoints

Users

Create or Update a User

  • Method: POST

  • URL:

    https://integration-api-{{Environment}}.skillsworkflow.com/api/users
  • Headers: see Common Request Headers

  • Body Parameters:

    ParameterTypeRequiredDescription
    IdGuidNoNot required; server will generate if omitted
    UserNamestringYesLogin name
    NamestringNoFull name
    ExternalIdstringYesUnique external identifier
    EmployeeIdGuidNoCorresponding employee record ID in Skills Workflow
    CompanyCodestringYesCompany code used in Skills Workflow
    DepartmentExternalIdstringYesExternal ID of the department
    TypologyExternalIdstringYesExternal ID of the user typology
    MailstringNoEmail address
    IsActiveboolYestrue = active, false = inactive
    HireDateDateTimeNoISO-8601 date of hire
    SsoUserNamestringNoSSO username
    ExpirationDateDateTimeNoISO-8601 account expiration date
    RequiredWeeklyHoursdoubleNoWeekly required hours
    RequiredHoursdoubleNoDaily required hours
    LeaveDayHoursdoubleNoLeave-day hours
    ResponsibleIdGuidNoID of the responsible user
    UserTypeIdGuidNoUser-type identifier
    WeeklyOvertimeThresholdHoursdoubleNoWeekly overtime threshold
    PhonestringNoTelephone number
    SsoOnlyboolNotrue = SSO-only login
    AdUserNamestringNoActive Directory username
    ToleranceintNoTolerance in minutes
    ChangePasswordOnFirstLogonboolNoForce password change on first login
    TaxPayerNumberstringNoTaxpayer identification number
    StartDateDateTimeNoISO-8601 user start date

Partially Update a User

  • Method: PATCH

  • URL:

    https://integration-api-{{Environment}}.skillsworkflow.com/api/users/{id}
  • Headers: see Common Request Headers

  • Body: only include the fields you want to update, each wrapped in a { "value": ... } object. Do not send fields you’re not changing.

    FieldTypeDescription
    Password.valuestringNew password (omit if not changing)
    EntryTimeTotalMinutes.valueintDaily entry time in minutes
    ExitTimeTotalMinutes.valueintDaily exit time in minutes
    EntryTimeToleranceTotalMinutes.valueintEntry tolerance minutes
    ExitTimeToleranceTotalMinutes.valueintExit tolerance minutes
    OffsetTotalMinutes.valueintTime offset
    PaidUndertime.valueboolPay undertime
    PaidOvertime.valueboolPay overtime
    StartDate.valueDateTimeNew start date
    ExpirationDate.valueDateTimeNew expiration date
    UserName.valuestringNew login name
    Name.valuestringNew full name
    ExternalId.valuestringNew external ID
    CompanyId.valueGuidNew company ID
    EmployeeId.valueGuidNew employee ID
    DepartmentId.valueGuidNew department ID
    TypologyId.valueGuidNew typology ID
    IsActive.valueboolActivate/deactivate
    HireDate.valueDateTimeNew hire date
    SsoUserName.valuestringNew SSO username
    RequiredHours.valuedoubleNew required daily hours
    LeaveDayHours.valuedoubleNew leave-day hours
    RequiredWeeklyHours.valuedoubleNew required weekly hours
    ResponsibleId.valueGuidNew responsible user ID
    UserTypeId.valueGuidNew user-type ID
    WeeklyOvertimeThresholdHours.valuedoubleNew weekly overtime threshold
    ExternalNumber.valuestringNew external number
    Phone.valuestringNew phone number
    CityId.valueGuidNew city ID
    SsoOnly.valueboolToggle SSO-only
    AdUserName.valuestringNew AD username
    Tolerance.valueintNew tolerance
    ChangePasswordOnFirstLogon.valueboolToggle first-logon password change
    TaxPayerNumber.valuestringNew taxpayer number

Employees

Create or Update an Employee

  • Method: POST
  • URL:
  https://integration-api-{{Environment}}.skillsworkflow.com/api/employees
  • Headers: see Common Request Headers

  • Body Parameters:

    ParameterTypeRequiredDescription
    IdGuidNoNot required; server will generate if omitted
    NamestringYesEmployee’s full name
    ExternalIdstringYesUnique external identifier
    CompanyIdGuidYesCompany ID in Skills Workflow
    IsActiveboolYestrue = active, false = inactive

Example Usage

Create a new user in the Development environment:

curl -X POST "https://integration-api-dev.skillsworkflow.com/api/users"   -H "X-AppTenant: "   -H "X-AppId: "   -H "X-AppSecret: "   -H "Content-Type: application/json"   -d '{
"UserName": "jdoe",
"Name": "John Doe",
"ExternalId": "EXT-USER-001",
"CompanyCode": "COMPX",
"DepartmentExternalId": "DEPT-100",
"TypologyExternalId": "TYP-STD",
"IsActive": true,
"HireDate": "2025-04-29T00:00:00Z"
}'