AristoTelos Academy

Jobs administration

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.

The unique name used to identify the job.

Typestring

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.

A brief summary of the job’s purpose or function.

Typestring

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.

Typestring

Status indicating whether the job is currently enabled or disabled.

TypeStatus

The date and time when the job is scheduled to run next.

The date and time when the job was most recently executed.

Triggers

Section

Defines the schedule that start the job, and may also specify subsequent jobs to run after the triggered job finishes.

Execution History

Section

Contains records of past job runs, including log entries and generated output files.

Use Cases

Report Job for Current or Previous Month

Use Case

The 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 Case

Different 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 Case

Push 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 Case

More 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 Case

The 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 Case

Monitoring 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 Case

ReadDataFrom, 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 Case

DynamicPeriod.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 Case

AccessToken, 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 Case

DeactivateDay, 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 Case

PayrollParameters.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 Case

MonthOffset 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 Case

DaysBack 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 Case

CalculationType, 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 Case

Sites, 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?

Jobs administration | AristoTelos Academy