Use Softomotive's WinAutomation with UI flows
Your Power Automate Attended RPA license (paid or trial) now gives you full access to Softomotive's WinAutomation. This document will guide you through getting WinAutomation processes running with Power Automate.
Existing WinAutomation users can learn more at Softomotive's support page
Overview for existing UI flows users
Download, install then sign into WinAutomation with the same work or school account as in Power Automate. After you've created an process within WinAutomation, you can run it attended or unattended from Power Automate by using a UI flow. To do this, follow these steps:
Start a UI flows desktop recording.
Open the command prompt.
Enter the command to trigger the process execution. For example, for a process named "MyAutomationName" located within "My processes" folder in WinAutomation, you will enter: "%programfiles%\WinAutomation\WinAutomationController.exe" /start "/My Processes/MyAutomationName".
You can use UI flows inputs and Dynamic content to change the target WinAutomation process from within Power Automate.
Hit enter in the command prompt then stop the UI flows recording. As the WinAutomation process get started, UI flows has captured all the necessary information.
Add the resulting UI flow into a flow, and then select attended or unattended execution.
Set up WinAutomation
Automation scripts in WinAutomation are called processes. In Power Automate, automation scripts are called flows or UI flows.
Before you create a WinAutomation process, check the list of connectors to see if the application you want to automate already has a connector. If it does, consider creating a flow instead of a UI flow. You might also build your own connector. In general API-based connectors provide a better overall experience than UI automation in terms of scalability, reliability, and lower cost.
To run WinAutomation scripts from Power Automate, you must first initiate the playback of the scripts from UI flows.
To run WinAutomation as part of Power Automate, you will need to:
- Ensure your machine meets the requirements for UI flows.
- Install the UI flows app, and then install and configure the on-premises data gateway.
You need to have a Per user plan with attended RPA to use UI flows and WinAutomation. If you don't have a paid plan, you can start a trial of the Per user plan with attended RPA by going to Power Automate, and then selecting the UI flows tab under My flows. You'll see the trial dialog from which you can start the trial.
If you already have a paid plan or you used a trial previously, you cannot start a new trial. In this case, you will need to ask your administrator to buy or start a trial of the Power Automate Per user plan with attended RPA. They can make the purchase by going to Billing > Purchase services in the Microsoft 365 admin center, and then searching for the right plan.
Finally, once they have purchased a plan or gotten the free trial, they need to assign that plan to a user.
When you assign a plan to a user, it may take few minutes before the assignment becomes effective.
You must have the latest version of each component to record, test, or run UI automation.
Once UI flows has been installed on your machine, you can install WinAutomation to record, edit, and test automation scripts for desktop by following these steps:
Download the WinAutomation installer.
Open the WinAutomationSetup.exe file. This file is likely in your Downloads folder.
Follow the instructions in the WinAutomation installer to complete the installation. During installation, ensure the License Type is set to Microsoft Power Automate.
Sign-in to WinAutomation
After the installation completes, start the WinAutomation Console from the Windows start menu. The application will prompt you to login or start a 30-day trial. If you already have a Per user plan with attended RPA license for Power Automate, enter the user credentials you use for the Power Automate. You can also visit the pricing page to learn more about this license or to get a trial license.
If you don’t have a valid license, you will see this error message.
You will need your tenant administrator to grant consent to use your Power Automate Work or School account with WinAutomation. For that, they can install WinAutomation, sign in with their tenant administrator account, and then grant consent.
Once signed in, you will see the WinAutomation console with a few example processes. To get started, you can go to Options > Help > Getting Started, and then go through a few examples of creating simple processes. Additionally, several WinAutomation getting started tutorials are available.
Run WinAutomation processes from Power Automate
Once you have defined your automation script in WinAutomation, you can run it from a flow in Power Automate using UI flows’ support for launching applications with the command prompt. To learn more about creating and testing UI flows, you can go here.
Running WinAutomation processes
To run a WinAutomation process without the Console environment, you can use the WinAutomationController.EXE command. This process in located in the WinAutomation installation folder and can be launched from the Command Prompt in Windows. While it has many useful parameters, to launch the automation, you will use the ‘/start’ flag which will start the specified process. Here's an example of the command: WinAutomationController /start processPath
processPath is the path in the WinAutomation Console for the Process, from a base directory of My Processes in the Folders Pane on the left side. If you have put the Process in a subfolder, you will need to include that information in the processPath. Note that if processPath contains spaces, it should be enclosed in double quotes (e.g. WinAutomationController /start "/My Robots/../../processName").
Launching WinAutomation processes from UI flows
Once you have successfully identified the command to run WinAutomation processes above, you can now invoke this command directly from UI flows. To do this:
Add a new step in UI flow recording experience by clicking Launch Recorder if you have a blank UI flow. If you already have pre-defined steps in UI flow, you can click New Step and then Record app to launch the recorder. More information about the recording experience is available here.
Select Record in the launched recorder.
Open the Command Prompt app in Windows.
Type in the WinAutomationController command you authored earlier (for example, WinAutomationController /start "/My Robots/../../process").
Select Done in the recorder.
You will notice that recorder adds new steps to your UI flow that now includes launching the WinAutomationController.
UI flows can run in both attended and unattended automation modes. You can run WinAutomationController in both cases as well. If you’re executing UI flows on an unattended cluster, ensure that the WinAutomationController command specified above will run on all machines in the cluster. For more information on attended and unattended UI flows, click here.
Waiting for a WinAutomation process to complete in UI flows
By default, WinAutomationController.exe runs processes in the background. If you’d like to have UI flows wait for WinAutomation process automation to complete, you can raise an informational message box at the end of the WinAutomation process using the Display Message command, and then wait in UI flows to click on that message box button. To do this:
- Add a “Display Message” command as the last step in your WinAutomation Process. To do this, filter the Actions panel on the left to find Display Message and drag and drop that command to the Process script editor. You can give it some friendly title and description and leave the default button selection that shows the OK button.
- Run the WinAutomation Process until the message box is shown.
- Add a new UI flow recording, click on the title of the Display Message box and then click OK.
- Stop recording by clicking Done. You will now see the script in UI flow has new set of actions for clicking on the dialog box and discarding the message box.
- And finally, you will need to tell UI flow to give WinAutomation certain amount of time to complete. To do this, expand the previous Send Keys command that starts the WinAutomationController.exe command, expand to see the advanced options, and set the Wait After property to wait for the maximum amount of time the WinAutomation Process script will take to execute.
Open the start menu > Settings > Apps.
Search for WinAutomation, and then select it.
Troubleshooting WinAutomation licensing issues
If you are receiving licensing errors during the launch of WinAutomation, ensure the user you’re logging in as has a valid license for UI flows. To do that:
- Go to Power Automate and sign in.
- Select My flows on the left navigation bar.
- Select UI flows on the page on the right. You may need to start a trial or ask your administrator to do that.
To reset the license information stored by WinAutomation, you can delete the following file: %localappdata%\Softomotive\WinAutomation\msalcache.bin3
This license is cached when users launch WinAutomation while connected to the Internet.