Skip to main content

Data Extraction API

Overview

The Data Extraction API enables you to export data from Skills Workflow into external tools and systems—such as Excel, Power BI, or custom applications—by dynamically querying named data sets.

Purpose

The Data Extraction API is intended for reading and exporting data from Skills Workflow in a structured and efficient way. It is ideal for reporting, dashboards, and integration with external BI or analytics tools.

Use Cases

Export data from Skills Workflow to:

  • Excel, Power BI, Google Sheets
  • Custom dashboards or internal reporting systems
  • Third-party analytics tools
  • Automation tools like Zapier or Make (Integromat)
  • Data warehouses or ETL pipelines

Key Limitations

  • Read-only: This API does not support creating or updating records.
  • Depends on predefined data sets.
  • Pagination recommended: Use pagination (skip/take) for large queries to avoid timeouts or incomplete results.
  • Rate limits may apply: For high-frequency requests, consider caching or batching.

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

The API is available in four environments, depending on your subscription plan:

  • Development
  • Test
  • UAT
  • Production

Each environment has its own base URL:

{{ApiUrl}}/api/v3/analytics

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 - Data Extraction

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

Rate Limits

note

Each request must complete within 30 seconds.

  • Apply filters to narrow the data set.
  • Use pagination (skip / take) to retrieve large data sets in chunks.

Filtering Data

To flexibly extract data, use the queryBuilder object in your POST body. It supports:

PropertyTypeDescription
skipintegerNumber of records to skip (for pagination).
takeintegerMaximum number of records to return.
orderByarrayList of { field, direction } objects to sort results.
fieldsarrayList of field names to include in the response.
filtersarrayComplex filters combining expressions, e.g. [["Status","=","Open"],"and",["Priority",">",2]].

Filter Operations

The following table lists available filter operations by data type. The Query Builder uses the first operation in each array as the default operation for the specified data type.

Data TypeFilter Operations
stringcontains, notcontains, startswith, endswith, =, <>, isblank, isnotblank
numeric=, <>, <, >, <=, >=, between, isblank, isnotblank
date, datetime=, <>, <, >, <=, >=, between, isblank, isnotblank
boolean=, <>, isblank, isnotblank
objectisblank, isnotblank
{
"queryBuilder": {
"skip": 0,
"take": 100,
"orderBy": [
{ "field": "UserId", "direction": "asc" }
],
"fields": ["Team", "UserId"],
"filters": [
["Team", "=", "Executor"],
"or",
["Team", "=", "Requester"]
]
}
}

Discovering Available Fields

To know which fields you can request, perform an initial call with only pagination:

POST {{ApiUrl}}/api/v3/analytics/named-query/DE-Clients/dynamic-execute
Headers:
X-AppTenant: <TenantId>
X-AppId: <AppKey>
X-AppSecret: <AppSecret>
Body:
{
"queryBuilder": {
"skip": 0,
"take": 100
}
}

This returns up to 100 records and reveals all available properties in the response schema, which you can then reference in subsequent queryBuilder.fields and queryBuilder.filters.


Endpoints

The collection includes several dynamic-execute endpoints, each under:

POST /api/v3/analytics/named-query/{NamedQuery}/dynamic-execute

Where {NamedQuery} is one of:

Named Queries and Available Filters

Below is a list of available Named Queries and their applicable filters (if any).

NamedQueryDescriptionFiltersColumnsDetails
DE-BillsExtracts data for bills.54View
DE-Leaves#Description
Contains documents with information about vaca…17View
DE-AssignmentsExtracts the teams of users associated with each document.10View
DE-AttendancesExtracts data on attendances.16View
DE-BrandsExtracts the list of brands.5View
DE-BusinessObjectTypesExtracts business object types.6View
DE-CitiesExtracts all cities.4View
DE-ClientsExtracts the list of clients.30View
DE-ClientsCompaniesExtracts the information about what companies have access t…4View
DE-CommentsExtracts comments from the feed.13View
DE-CommentsRepliesExtracts replies of comments.12View
DE-CompaniesExtracts the list of companies.25View
DE-CompaniesAdditionalInformationExtracts the custom fields associated with the companies.3View
DE-ContractsExtracts contracts information.0View
DE-CountriesExtracts the list of countries.2View
DE-CurrenciesExtracts the list of currencies.5View
DE-DepartmentsExtracts the list of departments.7View
DE-DescriptionsExtracts the different versions of the descriptions of docu…12View
DE-DivisionsExtracts the list of divisions.4View
DE-EmployeesExtracts employees.9View
EstimatedPlannedActualMonthlySystem generic extraction of estimated, planned and actual,…45View
DE-EstimatesExtracts the list of estimates.0View
DE-EstimatesBillingConditions21View
DE-EstimatesCountGets the count of estimates for the given filters.1View
DE-EstimatesQuotesExtracts the estimate details.62View
DE-EstimatesQuotesCountCounts the occurrences of quotes.1View
DE-EstimatesQuotesMonthCountGets the count of estimate quotes for the given filters.0View
DE-ExpenseSheetsExtracts expense sheets for integration purposes.22View
DE-ExpenseTypeExtracts expense items types.15View
DE-ExpensesExtracts expenses for integration purposes.20View
DE-HistoryExtract history of documents.17View
DE-HolidaysExtracts the list of holidays.6View
DE-JobsExtracts the list of jobs.44View
DE-JobsCountGets the count of jobs for the given filters.1View
DE-LeavesCount1View
DE-LeavesDeletedExtracts deleted leaves using the parameter ModifiedFrom to…2View
DE-LeavesDeletedCountGets the count of deleted leaves for the filters provided.1View
DE-ProductsExtracts the list of products.7View
DE-ProjectsExtracts a list of projects.53View
DE-ProjectsClassificationsExtract project classifications.9View
DE-ProjectsCountGets the count of projects for the provided filters.0View
DE-ProjectsAdditionalInformationExtracts additional information from projects.4View
DE-ProjectsPlannedTimeExtract projects.27View
DE-ProjectsPlannedTimeCountGets the count of projects planned time for the provided fi…0View
DE-ProjectsTypesExtract projects types.11View
DE-PurchaseOrdersExtracts purchase orders data from the system.49View
DE-RateCardsColumnsExtraction of rate cards' columns.20View
DE-RequestsExtracts requests data.51View
DE-ServicesExtracts the existing services.16View
DE-ServicesGroupsExtracts the services groups.6View
DE-StagesExtracts the list of stages of the workflows.4View
DE-SuppliersExtracts suppliers for integration purposes.37View
DE-TaxesExtracts information about taxes.9View
DE-TimeSheetsExtracts the time entered in time sheets.38View
DE-TimeSheetsCountGets the count of time sheets for the filters provided.0View
DE-TimeSheetsDeletedExtracts time sheets that have been deleted.2View
DE-TimeSheetsDeletedCountGets the count of deleted time sheet for the provided filte…1View
DE-TransitionsExtracts the list of existing transitions.27View
DE-TypesExtracts job types.39View
DE-TypologiesExtracts the list of typologies of users.15View
DE-TypologyGroupsExtracts user typology groups of user typologies.4View
DE-TypologyGroupsCompaniesExtracts typology grous associated to companies5View
DE-TypologyGroupsDepartmentsExtracts typology groups associated to departments.5View
DE-UserCostsExtracts cost of users.12View
DE-UserTypesExtracts the user types.2View
DE-UsersExtracts the list of users.30View
DE-UsersAdditionalInformation3View
DE-WorkTypesExtracts the work types list.4View
DE-WorkloadsExtracts data from Workloads.13View
DE-EstimatesQuotesMonthExtracts all data from estimates.32View

Example Usage

Retrieve Filtered Assignments

POST {{ApiUrl}}/api/v3/analytics/named-query/DE-Assignments/dynamic-execute
Headers:
X-AppTenant: <TenantId>
X-AppId: <AppKey>
X-AppSecret: <AppSecret>
X-AppUser: <UserId>
Body:
{
"queryBuilder": {
"skip": 0,
"take": 50,
"orderBy": [
{ "field": "User", "direction": "asc" }
],
"fields": ["Team", "UserId", "AssignmentDate"],
"filters": [
["Team", "=", "Executor"],
"or",
["Team", "=", "Requester"]
]
}
}

Sample Response

{
"data": [
{ "Team": "Executor", "UserId": "U123", "AssignmentDate": "2025-04-01T09:30:00Z" },
{ "Team": "Requester", "UserId": "U456", "AssignmentDate": "2025-04-02T14:45:00Z" }
// …
],
"totalCount": 124
}

Scheduled Data Extraction

You can configure Schedules in Skills Workflow to automate recurring data exports.

This method is ideal for generating files (e.g., CSV) that can be directly consumed by external tools such as Power BI, Excel, Tableau, and others.

Overview

Schedules allow you to:

  • Define a Query to extract data (same data source as the API).
  • Choose an export Format (e.g., .csv).
  • Set a Cron Expression to determine when the export should occur.

Once scheduled, the system will run the query at the specified time and generate a downloadable file.

Configuration Example

Here’s a configuration example of a schedule set up to export timesheet data every day at 5:00 AM UTC:

img

Schedule Configuration Screenshot

The above screenshot shows the “DE-TimeSheets” query being scheduled to export daily.

Cron Expression

The Cron Expression (UTC) field defines when the job should run. For example:

5 0 * * *

This runs the job daily at 5:00 AM UTC.

Best Practice

We recommend running schedules outside working hours to minimize system load and ensure the data is complete.


Data Relationships

The diagram below shows the hierarchy between Data Extractions. Use the dropdown to focus on a specific DE and its immediate parent/children, or select "All" to view the full tree. Click any node to inspect its output columns.

Click a node to inspect its output columns.