There are multiple ways once you want to develop RPA applications in an enterprise setting. However, as part of the discovery phase, I am testing UIPath with Azure Bot on my local machine to speed up my prototype without having to worry about deploying to the cloud or UIPath orchestrator.
Platform Versions Used
- Azure Bot Framework SDK v4 (C#)
- Visual Studio 2017
- UIPath Studio 2019.2.0
The sample code base can be forked from here.
UIPath has a way to call a workflow without having to go through the UIPath Studio in order to execute it.
By default, when you install UIPath Studio most of its data are stored in the following path:
C:\Users\xyz\AppData\Local\UiPath
If you open that file, you can see that there are different folders that has the name of its version

For this version, I'm gonna go ahead and open app-19.2.0. UIPath has an application called UiRobot
where it can execute a given workflow file without having to depend on UIPath Studio.

With .NET, one can just simply invoke System.Diagnostics.Process
to start UIPath
Open up Program.cs
private static void CallUiPathRobot()
{
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "uirobot",
Arguments = $@"/file ""{Config.UiPathArguments}""",
UseShellExecute = true,
WorkingDirectory = Config.UiPathWorkingDirectory,
RedirectStandardOutput = false,
RedirectStandardError = false,
CreateNoWindow = true
}
};
process.Start();
}
Caveats
- Be careful of escaping your arguments especially with JSON.
- It's prone to breaking changes if you're using community edition because UIPath automatically updates and will create a newer version that has a newer folder name.
- The uirobot filename that you see was because I set my machine path to point to one of the UIPath version folder to find uirobot.