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.
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:
| Environment | Hostname |
|---|---|
| Development | integration-api-dev.skillsworkflow.com |
| Test | integration-api-test.skillsworkflow.com |
| UAT | integration-api-uat.skillsworkflow.com |
| Production | integration-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
skipandtakequery 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:
Parameter Type Required Description IdGuid No Not required; server will generate if omitted UserNamestring Yes Login name Namestring No Full name ExternalIdstring Yes Unique external identifier EmployeeIdGuid No Corresponding employee record ID in Skills Workflow CompanyCodestring Yes Company code used in Skills Workflow DepartmentExternalIdstring Yes External ID of the department TypologyExternalIdstring Yes External ID of the user typology Mailstring No Email address IsActivebool Yes true= active,false= inactiveHireDateDateTime No ISO-8601 date of hire SsoUserNamestring No SSO username ExpirationDateDateTime No ISO-8601 account expiration date RequiredWeeklyHoursdouble No Weekly required hours RequiredHoursdouble No Daily required hours LeaveDayHoursdouble No Leave-day hours ResponsibleIdGuid No ID of the responsible user UserTypeIdGuid No User-type identifier WeeklyOvertimeThresholdHoursdouble No Weekly overtime threshold Phonestring No Telephone number SsoOnlybool No true= SSO-only loginAdUserNamestring No Active Directory username Toleranceint No Tolerance in minutes ChangePasswordOnFirstLogonbool No Force password change on first login TaxPayerNumberstring No Taxpayer identification number StartDateDateTime No ISO-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.Field Type Description Password.valuestring New password (omit if not changing) EntryTimeTotalMinutes.valueint Daily entry time in minutes ExitTimeTotalMinutes.valueint Daily exit time in minutes EntryTimeToleranceTotalMinutes.valueint Entry tolerance minutes ExitTimeToleranceTotalMinutes.valueint Exit tolerance minutes OffsetTotalMinutes.valueint Time offset PaidUndertime.valuebool Pay undertime PaidOvertime.valuebool Pay overtime StartDate.valueDateTime New start date ExpirationDate.valueDateTime New expiration date UserName.valuestring New login name Name.valuestring New full name ExternalId.valuestring New external ID CompanyId.valueGuid New company ID EmployeeId.valueGuid New employee ID DepartmentId.valueGuid New department ID TypologyId.valueGuid New typology ID IsActive.valuebool Activate/deactivate HireDate.valueDateTime New hire date SsoUserName.valuestring New SSO username RequiredHours.valuedouble New required daily hours LeaveDayHours.valuedouble New leave-day hours RequiredWeeklyHours.valuedouble New required weekly hours ResponsibleId.valueGuid New responsible user ID UserTypeId.valueGuid New user-type ID WeeklyOvertimeThresholdHours.valuedouble New weekly overtime threshold ExternalNumber.valuestring New external number Phone.valuestring New phone number CityId.valueGuid New city ID SsoOnly.valuebool Toggle SSO-only AdUserName.valuestring New AD username Tolerance.valueint New tolerance ChangePasswordOnFirstLogon.valuebool Toggle first-logon password change TaxPayerNumber.valuestring New 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:
Parameter Type Required Description IdGuid No Not required; server will generate if omitted Namestring Yes Employee’s full name ExternalIdstring Yes Unique external identifier CompanyIdGuid Yes Company ID in Skills Workflow IsActivebool Yes true= 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"
}'