Jobs administration
Jobs are used to execute operations such as data imports, report generation, planning processes, and other recurring or automated activities without manual intervention. Job administration allows users to configure jobs, manage their triggers, review execution history, inspect logs, and access related output files.
Job type specifies the kind of job to be executed, which determines its purpose and processing logic, such as Report Job, Planning Job, Import Job, etc. Job Parameters are specific for the selected job Type.
Configuration parameters of the job. Each job Type has its own unique parameters structure. The individual job type paramers are described in Parameters for Job Types documentation.
Most common Report Job types parameters
- ReportJob: Report job parameters
- ReportForManagersJob: Report job for managers parameters
Email addresses that receive a notification when the job completes successfully or fails.
Triggers
SectionDefines the schedule that start the job, and may also specify subsequent jobs to run after the triggered job finishes.
Execution History
SectionContains records of past job runs, including log entries and generated output files.
Use Cases
Report Job for Current or Previous Month
Use CaseThe reporting period is controlled by Period parameter. In the following examples there are specifications for different reporting periods.
Previous month
"Period": {
"BaseDateOffset": null,
"Type": "Month",
"Offset": -1,
"Count": 1,
"CutBy": null
}
Previous week
"Period": {
"BaseDateOffset": null,
"Type": "Week",
"Offset": -1,
"Count": 1,
"CutBy": null
}
Current month
"Period": {
"BaseDateOffset": null,
"Type": "Month",
"Offset": 0,
"Count": 1,
"CutBy": null
}
Previous and Current month
"Period": {
"BaseDateOffset": null,
"Type": "Month",
"Offset": -1,
"Count": 2,
"CutBy": null
}
Job for Different Attendance Error Checks
Use CaseDifferent attendance issues can be monitored by configuring different Error check types.
Late login check evaluated after 1 minute with 5 minute tolerance
{
"ErrorType": "LateLogin",
"Tag": "Late Login",
"Tolerance": "00:05:00",
"Latency": "00:01:00"
}
Early logout check with excluded activities
{
"ErrorType": "EarlyLogout",
"Tag": "Early Logout",
"Tolerance": "00:10:00",
"SkipActivities": [
"Training",
"Business trip"
]
}
Early login check only for selected activities
{
"ErrorType": "EarlyLogin",
"Tag": "Early Login",
"Tolerance": "00:15:00",
"IncludeActivities": [
66,
67
]
}
Late logout check limited by filter
{
"ErrorType": "LateLogout",
"Tag": "Late Logout",
"Tolerance": "00:30:00",
"Filters": [
"Minors"
]
}
Notifications for Different Roster Item Events
Use CasePush notifications can be configured for different roster item parts and specific item types with different notification timings.
Notification sent 5 minutes before safety break start
{
"BreakStart": {
"SendAhead": "00:05:00",
"Types": [
"Safety break"
]
}
}
Notification sent 2 minutes before lunch break end
{
"BreakEnd": {
"SendAhead": "00:02:00",
"Types": [
"Lunch break"
]
}
Notification sent 1 day before certain activity
{
"ActivityStart": {
"SendAhead": "24:00:00",
"Types": [
"Training"
]
}
}
Notification sent 15 minutes before morning shift start
{
"ShiftStart": {
"SendAhead": "00:15:00",
"Types": [
"08-15h shift"
]
}
}
CheckAgentStatesJob for Multi-Level Attendance Violations
Use CaseMore serious violations can replace lower-level violations using LowerTag.
Late login up to 15 minutes
{
"ErrorType": "LateLogin",
"Tag": "Late login up to 15 minutes",
"Tolerance": "00:15:00"
}
Late login over 15 minutes replacing lower violation
{
"ErrorType": "LateLogin",
"Tag": "Late login over 15 minutes",
"LowerTag": "Late login up to 15 minutes",
"Tolerance": "00:16:00"
}
Dynamic File Naming in Report Job
Use CaseThe output file name can be built dynamically using tokens. Tokens are replaced with real values when the job is executed, so the generated file can include information such as the reporting period or the current date.
File name with reporting period
{
"FileName": "Productivity_Report_{Report.Period}.xlsx"
}
File name with current date
{
"FileName": "Report_{CurrentDate}.xlsx"
}
File name with reporting period and current date
{
"FileName": "{Report.Period}_Report_{CurrentDate}.xlsx"
}
File name with multiple words and multiple dynamic tokens
{
"FileName": "Monthly_Employees_Attendance_Report_{Report.Period}_{CurrentDate:yyyyMMdd}.xlsx"
}
Job for Operational Monitoring Scenarios
Use CaseMonitoring can be configured by combining recurrence rules, holiday settings, time intervals and maximum allowed delay since the last received agent state.
Monitoring during business hours including working holidays
{
"Recurrence": {
"Weekdays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"IncludeWorkingHolidays": true,
"ExcludeNotWorkingHolidays": true
},
"TimeInterval": {
"Start": "08:00:00",
"End": "18:00:00"
},
"MaxTimeSinceLastAgentState": "00:30:00"
}
Weekend monitoring with lower frequency
{
"Recurrence": {
"Weekdays": [
"Saturday",
"Sunday"
],
"ExcludeWorkingHolidays": false,
"ExcludeNotWorkingHolidays": false
},
"TimeInterval": {
"Start": "09:00:00",
"End": "17:00:00"
},
"MaxTimeSinceLastAgentState": "02:00:00"
}
Overnight monitoring with lower frequency
"TimeInterval": {
"Start": "00:00:00",
"End": "07:45:00"
},
"MaxTimeSinceLastAgentState": "02:00:00"
}
Monitoring paused during planned maintenance
{
"Recurrence": {
"Exceptions": [
"2025-12-31"
]
}
}
Temporary monitoring during exceptional high-volume operations
e.g. during Black Friday support operations or post-Christmas sales campaigns.
{
"Recurrence": {
"Weekdays": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"Inclusions": [
"2025-11-29",
"2025-12-27",
"2025-12-28"
]
}
File Import Job for Import Processing Rules
Use CaseReadDataFrom, ArchivePath and SortByDateFromFilename fields control which files are imported and how processed files are handled after import.
Import only newer data
Useful for preventing repeated import of historical data.
{ "ReadDataFrom": "2026-05-01 00:00:00"}
Archive processed files after import
Useful for preventing duplicate file imports and keeping the source directory clean.
{
"ArchivePath": "C:\\Imports\\Archive\\"
}
Sort imported files by date from file name
Useful when imported files contain timestamps in their file names and must be processed chronologically.
{
"SortByDateFromFilename": true
}
Period-based API Import Job for Import Time Range
Use CaseDynamicPeriod.Type, DynamicPeriod.Count and DynamicPeriod.Offset fields control the imported time range.
Import previous day data
Useful for regular daily imports.
{
"DynamicPeriod": {
"Type": "Day",
"Count": 1,
"Offset": -1
}
}
Import current day data
Useful for near real-time operational imports.
{
"DynamicPeriod": {
"Type": "Month",
"Count": 2,
"Offset": -1
}
}
Import previous and current month data
Useful for imports overlapping monthly periods or payroll closing periods.
{
"DynamicPeriod": {
"Type": "Month",
"Count": 2,
"Offset": -1
}
}
Connection-based API Import Job for API Connection
Use CaseAccessToken, TimeOut and MaxPartHours fields control API authentication and import performance behavior.
Access token authentication
Useful for integrations using token-based API authentication.
{
"AccessToken": "<token>"
}
Longer API timeout
Useful when importing large amounts of data from slower external APIs.
{
"TimeOut": 120000
}
Split import into smaller time parts
Useful for large imports or APIs with request size or processing limitations.
{
"MaxPartHours": 8
}
UsersSynchronization Job for User Lifecycle Handling
Use CaseDeactivateDay, ReportSuccess and LogFileName fields control automatic user deactivation and synchronization monitoring behavior.
Automatically deactivate users on contract end
{
"DeactivateDay": "ContractEnd"
}
Report successful synchronization execution
Useful for monitoring whether synchronization jobs completed successfully.
{
"ReportSuccess": true
}
Store synchronization logs into custom log file
Useful for troubleshooting synchronization issues and reviewing synchronization history.
{
"LogFileName": "users_synchronization.log"
}
External Export Job for Export Payroll Time Rules
Use CasePayrollParameters.SkipLastDaysInMonth and PayrollParameters.OvertimeExportDay fields control which time period is included in the payroll export.
Exclude last days of month from payroll export
Useful when payroll exports should ignore the last days of the month during payroll closing.
{
"PayrollParameters": {
"SkipLastDaysInMonth": 3
}
}
Set overtime export cutoff day
Useful when overtime calculations use a custom payroll cutoff date instead of the calendar month.
{
"PayrollParameters": {
"OvertimeExportDay": 26
}
}
Combine payroll cutoff day with excluded end-of-month days
Useful when payroll exports follow custom payroll periods
{
"PayrollParameters": {
"OvertimeExportDay": 26,
"SkipLastDaysInMonth": 3
}
}
Job for Publishing or Replacing Monthly Shifts
Use CaseMonthOffset and OverwriteAlreadyPublished fields control for which month shifts are generated and whether already published shifts can be replaced.
Generate and publish shifts for next month
{
"MonthOffset": 1,
"OverwriteAlreadyPublished": false
}
Regenerate already published shifts
{
"MonthOffset": 1,
"OverwriteAlreadyPublished": true
}
Generate shifts for selected planning sites
Useful when shift generation should run only for selected planning period sites.
{
"PlanningPeriodSiteIds": [
2,
5,
8
]
}
Job for Roster Reprocessing After Real Attendance Updates
Use CaseDaysBack and InvalidateRoster fields control how far back shift updates are processed and whether affected rosters are invalidated after the update of real employee states.
Update only current day shifts
{
"DaysBack": 0
}
Reprocess shifts from previous days
{
"DaysBack": 10
}
Invalidate roster after real attendance updates
Useful when updated employee states should trigger recalculation of related roster data.
{
"InvalidateRoster": true
}
Update shifts without roster invalidation
Useful when shift updates should not trigger additional roster recalculations for performance or operational reasons.
{
"InvalidateRoster": false
}
Job for Break Planning Strategies
Use CaseCalculationType, Sites and Teams fields control which break planning logic is used and for which organizational units breaks are generated.
Generate breaks only for selected sites
Useful when break planning should run only for selected operational sites.
{ "Sites": [ "Customer Support" ]}
Generate breaks only for selected teams
Useful for testing or partial rollout of break planning configuration.
{ "Teams": [ "Morning Team", "Backoffice Team" ]}
Use different break planning calculation strategy
Useful when different operations require different break planning logic.
{ "CalculationType": "<Alternative planning logic>"}
Run break planning for future days
Useful when breaks should be generated in advance for upcoming operational days
{ "DayOffset": 1}
Job for Manager's Organizational Reporting Scope
Use CaseSites, Roles and StaticParameters.ActiveOnly fields control which managers receive reports and whether reports include only active employees or all employees.
Generate reports only for selected sites
Useful when managers should receive reports only for their assigned operational areas.
{ "Sites": [ "Customer Support", "Back Office" ]}
Send reports only to selected manager roles
Useful when reports should not be distributed to all leadership roles.
{ "Roles": [ "Supervisor", "Manager" ]}
Include only active employees in manager reports
Useful when reports should exclude inactive or terminated employees.
{ "StaticParameters": { "ActiveOnly": "Active" }}
Include active and inactive employees in manager reports
Useful for historical or audit reporting scenarios.
{ "StaticParameters": { "ActiveOnly": "All" }}
Was this helpful?
