Skip to main content
Normally, it’s not possible to configure a step specifically. When you start a workflow run with a configuration, all steps share the same configuration. Suppose that in your workflow you have three different steps, and you trigger multiple runs of this workflow. Then, flow control configuration will looks like following: However, context.call() and context.invoke() steps are exceptions to this approach. The context.call send a request to a external address, and context.invoke triggers a new workflow run. Because they are not bound to calling workflow run’s environment, we allow to configure separately. However, in some cases you might want to use an third party SDK inside a step and want to throttle that specific step instead of thorttling all the steps of workflow run. Recommended way for throttling is passing a flow-control configuration when triggering the workflow run. But it means all the steps of that workflow run will share the same config. For example, parallelism=5 means 5 step can be active with the same flow control key. This might dramatically decrease the thoroguhput if one of the steps require very low parallelism. A workaround is to move step to a separate workflow and use context.invoke to run it with a specific configuration.