🆕 Try the new Run Job activity with System 25.4.2

I would like to introduce a new addition to the System activities - the Run Job activity. It is the modernized way of starting your jobs in Orchestrator.

You can already try it out starting with System 25.4.2 version.

Note: For the best experience, please use the latest Studio 2025.0.161

How it looks

The new Run Job activity looks like this:

What’s new?

Support for all Orchestrator process types

The activity allows you to run any type of process, such as the standard RPA ones, Testing ones, and others.
When selecting the process, you will see its type in the brackets:

Execution mode

You can now select how to run your job.

The available options include:

  • Do not wait - this mode is how the Start Job activity does it; it starts the job and then immediately continues the workflow; it does not support returning output values

  • Wait for job completion - this mode starts the job, waits until it finishes (according to the set timeout) and returns the job outputs after it is completed; if the timeout is reached, it returns an exception

  • Suspend execution until job completion - This mode allows you to use persistence and suspends your workflow until the selected job is completed.
    It effectively replaces what you would previously do with these two activities: Start Job and Get Reference + Wait for Job and Resume

Input Arguments

We revamped the argument input options to better accommodate complex objects and dynamic activity configuration.

You now have three possible options to input your variables.

Data Mapper (default)

By default, you will notice the new Data Mapper experience; it allows you to easily configure your input values for basic, but also for more complex objects.


This is the option you might be using the most often.

Use Static Names and Use Any Object

The other two options: Use Static Names and Use Any Object offer you more dynamic interaction with the activity. They are both available from the + menu of the Input Arguments property)


You will mostly use those if you configure your Process name as a variable, which will force you to configure your arguments manually.

To dynamically configure your input and output arguments at the same time, use the Static Names option which provides a familiar dictionary of key and value pairs:

The Use Any Object option allows you to pass your entire object as JSON, potentially saving you a lot of time:


But it won’t allow you to retrieve the output values. You will have to retrieve them from the Job data output property (see below).

Note: We highly appreciate your comments on the currently available options and how they interact with different processes and Run Job activity configurations. We plan to fine-tune the experience based on user feedback.

Output arguments

There are two output arguments.

Job data

This variable returns the Orchestrator job data output as per the API response. If available, it will also contain the job outputs.

Output arguments

If you selected a specific process from the dropdown under the Process Name property, it will return a single object that stores your job outputs as a dynamic variable.

You can then easily access your output values by drilling down the main Output Arguments variable:

Feedback

Please let us know if you find this activity useful and whether it works well for you. We are curious about what you think.

7 Likes

What are scenarios where you would use Run Job vs Start Process?

2 Likes

For the Invoke Process activity, the execution will occur on the same machine with no tracks of it in Orchestrator.

As such, the Run Job activity is closer to the Start Job activity because it allows you to interact with the Orchestrator API and trigger your jobs via Orchestrator. It simply bridges the gap between the two by now also allowing you to run your Orchestrator jobs with outputs and with persistence (in an easier way).

4 Likes

It is amazing feature! Thank you sharing!

1 Like

I’ve been asking for ages for the output of the Start Job activity in the Persistence package to have an update so the job inputs and more importantly, job outputs are leveraging the dynamic object stuff rather than us needing to parse a JObject response, so love this change. Nicely done.

1 Like

It would be great if you also had the option to start the job with a specific user :slight_smile:

1 Like

The activity is a bit more complex as it is, but we left the door open for such improvements in the future after the initial validation of its core functionality.

Thank you for noting your interest in this though. It will help us prioritize.