How to Invoke a Workflow
The aim of this article is to answer to the following questions:
- What Invoke Workflow File does ?
- Invoke synchronously a specified workflow passing it or not a list of input arguments.
- When I need this activity ?
- Especially when you develop a large process and it is very difficult to follow and to test the entire process from top to botom. As a best practice, it is recomanded to split your process into small processes, test them and finally invoke each process in the Main workflow.
- Is it possible to pass data from a workflow to another ?
Yes, you can pass values from one workflow to another using Arguments.
Example: Send a variable from the main workflow to another one.
Below are the steps you have to follow to achieve that.
2. Add an InvokeWorkflow activity in the first workflow
3. Press Edit Arguments button
4. Define an argument with the same name and type it in the "Invoke workflow's arguments" dialogue that appears.
5. In the Arguments panel of the second workflow, create an argument with the same name. Now you are able to use that argument as any other variable.
- What are the differences between parameters types ?
- IN - Which means they are passed in and not returned.
- OUT - A parameter marked OUT usually means that the value of the parameter when it is being passed to the function is not of any importance. In fact, if it being passed by pointer, it may even be required to be NULL, and the function will allocate memory and pass a value back to you. Assign activity is requierd for this type of argument otherwise this argument will not take any value.
- An IN/OUT parameter usually indicates something where both the input and output values are meaningful.