Subworkflow "function overloading" and optional parameters

Hi,

Sub-workflows currently require a fixed set of inputs. This makes reuse harder, because even small variations in behavior often force to create multiple similar sub-workflows or add complex conditional logic inside them.

It would be very useful to support optional parameters with default values, and a way for sub-workflows to accept different combinations of inputs, similar to how function overloading work in most programming languages.

Proposed improvement
Introduce a mechanism for sub-workflows that supports:

  • Optional parameters with default values

  • Multiple input “signatures”, where a sub-workflow can accept different combinations of parameters and adapt its behavior accordingly (“workflow overloading”)

For example, the same sub-workflow could be called with just the required data, or with additional options when needed, without having to create multiple versions of the same workflow.

This would make sub-workflows feel more like reusable building blocks, reduce duplication, and make larger or shared workflow setups easier to maintain over time.