13.1 Unattended Job Execution: Folders, Priorities, Background vs. Foreground & Runtimes

Key Takeaways

  • Unattended jobs start from the Jobs or Processes page or from time, queue, event, and API triggers, and run in a folder with a process, an account, and a machine template.

  • There are ten job priorities; a free robot receives the highest-priority pending job, oldest first on ties, and triggers and manual jobs default to the Inherited process priority.

  • The API maps priorities to values 1 to 100 through SpecificPriorityValue, for example Critical is 91 to 100.

  • Background processes can run concurrently, but one account runs only one foreground process at a time on a machine.

  • Runtimes on a machine template set how many unattended jobs each connected host can run at once; without free runtimes, jobs stay Pending.

Last updated: September 2026

13.1 Unattended Job Execution: Folders, Priorities, Background vs. Foreground & Runtimes

Core Concept: The exam description lists "Unattended automations features: Folders, job priorities, background vs foreground processes, license per machine". This section explains how Orchestrator decides which job runs next, on which account and machine, and how many jobs a machine can run at once.


What a Job Is

A job is one execution of a process on a robot. Unattended jobs are launched from Orchestrator, either directly from the Jobs or Processes page or through triggers (time, queue, event, or API). Attended robots cannot run jobs started from Orchestrator, except for debugging and development.

Job States

GroupStatesMeaning
InitialPendingWaiting for a robot or for a connection to it
ActiveRunning, Stopping, TerminatingStopping follows Stop (a graceful end the workflow can honor with the Should Stop activity); Terminating follows Kill
IntermediateSuspended, ResumedLong-running workflows waiting for a task, job, or queue item
CompletionSuccessful, Faulted, StoppedFaulted jobs failed to start or threw an unhandled error; they must be restarted manually

A job ended with Stop finishes as Successful, while a job ended with Kill finishes as Stopped.


Folders and the Execution Target

A process, its jobs, and its triggers live in a folder. For a job to run, the folder needs:

  1. The process (a package version deployed to the folder).
  2. An account (user or robot account) assigned to the folder with unattended settings.
  3. A machine template assigned to the folder, with runtimes, and a host machine connected with that template.

When starting a job you choose the execution target:

OptionBehavior
Allocate dynamicallyOrchestrator picks any account and machine that becomes available. A process can be run up to 10,000 times in one job request this way.
AccountRuns under the chosen account; the machine is picked dynamically.
MachineRuns on a host of the chosen machine template (optionally a specific Hostname); the account is picked dynamically.
Account-machine mappingsRuns on specific account-machine pairs, one pending job per pair (requires the tenant setting that enables account-machine mapping).

For foreground jobs, each account must also exist as a Windows user on the host machines connected through the template.


Job Priorities

A job can have one of ten priorities. From lowest to highest: Lowest, Very low, Low, Medium-low, Medium, Medium-high, High, Very high, Highest, Critical.

How Orchestrator allocates pending jobs

  1. A robot becomes available.
  2. Orchestrator identifies that robot's machine template and every folder the template is assigned to.
  3. It evaluates the pending jobs from those folders.
  4. It gives the robot the job with the highest priority. Jobs with the same priority go out oldest first.

Where the priority comes from

  • The process has a priority.
  • Jobs started manually and triggers default to Inherited, meaning they use the process priority.
  • A trigger with its own priority passes that priority to the jobs it launches.

The API view: 100 levels

The ten UI levels map to 100 API values through the SpecificPriorityValue parameter (for example on StartJobs and ProcessSchedules):

PriorityAPI rangeDefault
Lowest1–105
Low21–3025
Medium41–5045
High61–7065
Critical91–10095

Two jobs with values 92 and 94 are both Critical, but the job with 94 runs first.


Background Versus Foreground Processes

Background processForeground process
User interfaceNeeds no UI interaction (APIs, files, data)Needs UI interaction (User interaction: Required on the Jobs page)
Concurrency on one machineSeveral can run at the same time, even under the same account, as long as runtimes are availableOne account can run only one foreground process at a time on a machine
SessionRuns in the robot service's contextNeeds an interactive Windows session for the account
Typical useDispatchers, API integrations, data processingDesktop and web UI automation

On a machine template you can also restrict the process type the machine accepts: foreground only, background only, or all.


License per Machine: Runtimes

Unattended capacity is expressed as runtimes allocated to a machine template. Each runtime allows one concurrent unattended job on each host machine connected with that template. For example, a template with 2 unattended runtimes lets every connected host run up to two jobs at once, which on a Windows Server host with several accounts means two sessions in parallel. Without free runtimes, new jobs stay Pending.


Keeping Jobs Healthy

  • Schedule ending of job execution: stop or kill a job that stays Pending or Running too long.
  • Keep account-machine allocation on job resumption: by default a resumed long-running job can continue on any available robot; this option keeps the original pair.
  • Robot reconnects: if a machine goes down or the robot service crashes during execution, the robot restarts its running jobs after reconnecting.
Test Your Knowledge

Two pending jobs in the same folder wait for the only free robot. Job A has priority High and was created at 09:00. Job B has priority Critical and was created at 09:05. Which runs first?

A

Job A, because Orchestrator always runs the oldest job first.

B

Both start together on the same robot.

C

Job B, because Orchestrator gives the available robot the pending job with the highest priority, and uses age only to break ties.

D

Whichever job was started by a trigger.

Test Your Knowledge

A process is started through the API with SpecificPriorityValue 94, and another with 92. What is true?

A

Both are Critical priority, and the job with value 94 runs before the job with value 92.

B

Values above 10 are invalid because there are only ten priority levels.

C

Both are High priority and run in creation order.

D

The API value is ignored; only the process priority counts.

Test Your Knowledge

One robot account on one machine is running a foreground process. A second foreground job and a background job are pending for the same account and machine, and the template has enough runtimes. What happens?

A

Both pending jobs start immediately in the same session.

B

The background job can run concurrently, but the second foreground job waits, because an account can run only one foreground process at a time on a machine.

C

Both jobs fail because the account is busy.

D

The foreground job starts and the background job waits.

Sections you finish are checked off in the contents.