I’m fairly new to UiPath, and I’ve been struggling to find a solution to my issue.
I’m wondering how to initiate a process from Orchestrator within another process. Here’s my scenario: I have a Process A, and within it, I need to invoke Process B. Process B should start, and once it’s completed, I want Process A to continue from where it left off.
Any insights or guidance on how to achieve this would be greatly appreciated.
Welcome to forums
You can use Start Job activity so you can keep after the end of the Process A and in the Start Job just select the Process B
Hope this may help you
Start job might not help as it starts the job and process A does not wait but continues
You can use invoke process activity…which starts a second process and the first process waits for the second process to complete and then resumes
Please try the same
Hope this helps
Use the above activity(Invoke Process) where In_ProcessName would be the process B name as mentioned in Orchestrator
If process B is deployed in a different folder than the process A mention the orchestrator folder path in the properties panel
Use this activity where you want the process B to start
hope this helps
Is it possible, using InvokeProcess, to call process B with specific arguments and receive values from it for further use in process A?
Yes. You just need to define the arguments in the `Arguments´ section of the activity
As mentioned by @efelantti you can mention arguments for input.
For output you can store the output by creating an asset in the orchestrator and use set asset activity to provide with updated value then use get asset activity to retrieve the value to be used further.
Make sure that the asset is created in the orchestrator with appropriate data type.
Str_hello is the asset name and Str_val is the output value to be updated
You can store the value in a variable and use further
Also it’s possible to define output argument(s) for the process. These can then be bound to variables on the invoking process.
Thank you very much for the explanation. I have a little concern about relying on Orchestrator assets. It could be that process B is used by another process in the future. Could using assets possibly cause issues or conflicts if another process uses process B? Or is there a way to do this via an API call to the Orchestrator instead of using “Invoke Process”?
Thank you for this information. Just to confirm my understanding, are you saying that I can pass the output variables from the invoked process directly to the invoking process within the Invoke Process activity?
Yes, that’s correct. All you need to do is define the arguments like they are in the invoked process.
If you want to test it to see how it works, you can create a dummy process to invoke.
Using of assets would not cause issue because we are using it as a variable