Skip to content

Reuse Jobs with Subsessions

A Subsession action reuses a Job in the same project. Choose its target deliberately. An unconfigured target can be retained for later editing but fails if the call is reached.

An Internal call runs the target’s latest saved scenario inside the current execution. It shares the current target, variables, settings and active selection/collection context. It does not create another Session or initialize the helper’s own start URL, inputs or Robot kind.

Use it for a reusable sequence that should act on the caller’s current page or values. It works in Toolbox as well as ordinary Runs. The helper still has to be compatible with the caller’s Robot.

A helper’s unsaved Toolbox draft is not its latest saved source. Save the helper before testing a caller that should use the change. Internal calls execute the called scenario normally rather than treating each helper loop as a separately stepped main-tree loop.

An External call creates an independent Session with its own settings, Robot and capacity requirement. It is available in ordinary Runs, not Toolbox. The parent completing does not automatically stop the child.

Configure the target and review the relevant options:

  • Wait for completion when later actions need the child’s settled outcome.
  • Collect results separately when you need the selected variables/output references.
  • Choose variable inheritance and optional explicit named input/Start URL overrides.
  • For compatible Browsers, choose supported Browser-state copy independently of variables.
  • Review failure handling and whether a manual parent stop should also request child stop.

Waiting alone does not load output. Collecting without waiting can see only currently available partial results; it is not an implicit background join.

The read-only subsession root describes the most recent external result, including acceptance/state and collected selected results when available. It is separate from ordinary parent variables. Copy a value with Set if you want to retain it explicitly.

Selected child variables preserve false, zero, null and empty text. Output references identify child files/records; they are not embedded file bytes or a copied current dataset. Inspect the child Session for authoritative history and results.

A lost acceptance reply can leave the child outcome unknown. Do not launch another child just to make the screen look settled. Use the available reconciliation/status feedback.

An internal error affects the current execution according to its error policies. External waiting/failure options have their own meaning. Neither mode undoes external actions that already occurred, and a parent retry can invoke work again from the start.