Using Arguments Like Global Variables

I spent a lot of time trying to figure out a more advanced use of arguments. I found a lot of posts from people looking to better understand this topic. The published help shows how to invoke a workflow from the main workflow and use it, but I could not find any documentation on how to generate a value from inside one workflow and pass it to another workflow. So I thought I’d share what I figured out. If any experts have a better way to manage this, I’d love to hear!

TLDR: consider an argument like a parameter in transit that does not persist. You need to transfer it to a variable to hold and use the value.

Here’s a workflow that seems like it should be really simple.
image
The first workflow obtains the value we want to use later. The second workflow is where we want to use that value. In order to accomplish this, you need to create arguments in both workflows, placeholder variables in Main to hold the values between workflows, and local variables in the destination workflow.

I created a step-by-step to better explain how to do this.Advanced Use of Arguments.pdf (815.2 KB)

I am confused if this is a statement or a question… I feel as though it is properly address with the level 3 training on the UiPath Academy and highly recommend that all developers take levels 1-3.