Skip to content
2.36.24

Starting other processes ​

A Start process run node starts a run of another process definition, or of this one, with the parameters you give it, at once or at a later time. Unlike a sub-process, the run it starts is a run of its own: it has its own page, status and logs, and the run that started it doesn't wait for it. This chapter explains when to use it, and how.

When to use it ​

UseFor
A sub-processSteps that belong to this run: their results come back into it, and the run waits for them.
Start process runWork that stands on its own: a process that is also started by hand or by a trigger, work that may take days, or work to be done later.

For example: a process that registers a shipment starts Send delivery confirmation for it, and goes on with its own work; the confirmation has its own run, which can fail and be retried without touching the registration. Or a process that sends a quote starts Remind the customer a week later, with Start at.

Its settings ​

Place one with Start process run in the Insert group of the Designer tab. Its settings have four tabs:

  • Details: its Display Name and Description.
  • Process:
    • Process: the definition to start (Choose the process to start). This definition itself is first in the list, with (this process) after its name.
    • Start at: when the new run starts. Leave empty to start the run at once. A time that has already passed starts it at once too. It is an input like any other, so it can be a date and time worked out by an expression, such as addDays(now(), 7).
    • A field for each parameter of the process to start, filled in as any input: see A start process run's inputs. A parameter left empty starts the run without a value. The process has no parameters. when it has none.
  • Loop: start a run for each item of a list: see Loops. Each round starts one run.
  • Outputs: Started run, The key of the started run, as text. Put it in a text variable when this run needs to refer to the run it started. In a loop, the keys are collected in a list.

Picking another process clears the parameters you had filled in.

A parameter that holds files can't be given one: Holds files, which can't be passed to a run started from a process. Pass the file some other way, such as through a collection.

When the other process changes ​

The parameters you see are those of the other process's latest published version. When it is published again with other parameters, its fields follow:

  • a new parameter shows as an empty field;
  • a parameter it no longer has is listed under No longer a parameter, with A value is bound to a parameter the process no longer has. Click Remove to drop it.

A process that was never published can't be started this way: This process has no published version yet, so a run of it can't be started.

The run it starts ​

  • Version: the latest published version of the process, when the node runs. A run of a draft starts the draft of the other process, or its latest version when it has no draft, so that you can try changes to both together.
  • Environment: the environment of the run that starts it. A run in Test starts runs in Test.
  • Started by: the person who started the first run, so the new run shows the same name. Its Trigger is Process.
  • Permission: the person who started the first run must be allowed to start the other process (Start run). Otherwise the node fails: The person who started this run may not start the process to start. A run that no person started, such as one a timer or webhook started, may start any process.
  • Start at: with a time still to come, the new run is Scheduled until then; see Process run for Start now and Reschedule. It runs the version that was the latest when it was scheduled.

The node succeeds as soon as the run is started, whatever that run does afterwards. To act on its result, let the other process report back, for instance in a collection item.

Parent and children ​

The two runs stay linked:

  • The run that started it shows the runs it started on its Children tab. See Process run.
  • The run it started has Go to › Parent on its ribbon, which opens the run that started it.

A process that starts itself ​

(this process) lets a process start itself again: to poll something every hour, say, with Start at an hour from now. A process that starts itself at once, again and again, is stopped after 25 runs in a row: the 25th fails with … ends a chain of 25 runs that each started the next at once; give the run a start time, or let a condition end the chain. Give such a chain a Start at, or a gateway that ends it.

In the run ​

The node's log says Started a run of 'Send delivery confirmation', or Scheduled a run of … to start at …, with the new run's key. When it fails, the log says why:

LogWhy
The process to start (…) does not exist or has no published versionThe other process was never published.
The person who started this run may not start the process to start (…)See Permission above.
The value for parameter 'Recipient' could not be resolvedAn expression for a parameter failed during the run.
A value is bound to parameter …, which version 3 of 'Send delivery confirmation' does not haveThe other process was published without that parameter since. Remove the value.
The start time could not be resolved to a date and timeStart at worked out to something that isn't a date and time.

Retry node on a failed start process run starts the run then. A start process run that succeeded is never run twice by a retry of the run: it doesn't start a second run.

What the check says ​

MessageSeverityWhat to do
No process to start has been chosen.ErrorPick the Process.
The process to start does not exist.ErrorPick another process.
The process 'Send delivery confirmation' has no published version to start.ErrorPublish that process first.
A value is bound to a parameter (…) the process to start no longer has; remove it.ErrorRemove it under No longer a parameter.
The parameter 'Recipient' has no value; the run starts without one.WarningFill it in, unless the run can do without.
The parameter 'Attachment' holds files, which can't be passed to a run started from a process.ErrorPass the file another way.
The node starts this process again at once; make sure a condition ends the chain, or give it a start time.WarningSee A process that starts itself.
The output 'Run' is a String value, but variable 'Count' is declared as Integer.ErrorPut Started run in a text variable.

The parameters' values are checked like any input's: see Inputs.

Version 2.36.24