YOUR personal Power Automate Desktop

For YOUR personal Power Automate Desktop, you need 3 things installed:

  • UI Vision RPA - Free
  • File Juggler - 45 eur licence
  • Easy Data Transform - 90 eur licence

1/ In VISION, turn the “Desktop Mode Active” ON, then grab anything you need anywhere you can reach (typically 5 clicks then export button).

2/ In JUGGLER, set your rules up - depending the name and location the exported file (with Vision) is moved + targeted by a command.

3/ In EDT, create your transformations and save them.
Use the command arguments that pilot EDT (below) directly inside Juggler (“Run Command” field):

What happens is:
Vision grabs anything anywhere for you.
When the file lands, Juggler takes it, moves it and launches a script targeting that file.
EDT opens that file and starts to apply transformations (ETL) you previsouly saved.

What you have is:
A personal Power Automate Desktop that is very agile, higly flexible, highly adaptive and most of all super fast. This combination of 3 tools completely changed the way I work today (+640 million rows processed since more than a year, and it continues to grow).

PS: I wanted to add more URL but the UI said I am limited to 2.

1 Like

Thanks for the useful info.

Posting is limited for the first few posts. If you want to add urls or anything else post them to support and I will post them here. Thanks.

1 Like

Missing URLs:

1/ In VISION, turn the “Desktop Mode Active” ON, then grab anything you need anywhere you can reach (typically 5 clicks then export button). User guide available here:

https://ui.vision/rpa/x/desktop-automation

2/ In JUGGLER, set your rules up depending the name and location the just exported file with Vision is moved and targeted by a script/command. User guides available here:

3/ In EDT, create your transformations and save them.

Use the command arguments that pilot EDT (below) directly inside Juggler (“Run Command”):

1 Like

I see your Windows based automation , and raise you for OSX

  1. Keyboard Maestro which can do everything Vision will
  2. Keyboard Maestro can do all that File Juggler will but you can also look at Hazel is super fast as well.
  3. I believe ETL does OSX as well
1 Like

I had a play with File Juggler. It is a nice piece of software. Quite powerful, but easy to get started with. In a few minutes I was able to set up a tasks to convert any .xml files dropped into a particular folder into Excel file with the same name stem using Run command and the Easy Data Transform command line:

1 Like

Thank you for your interesting example sir.

For information, I have many transformations and many files. File Juggler makes the link between a given file and EDT. It would be an ideal world if all files would have a relevant name (our IT does not want to change this in various systems). Unfortunately some files will thus remain like “extract_mon_02102023.csv” => with those files it is difficult to establish a rule in File Juggler.
So I have to rename them manually 1 by 1 in order to activate the appropriate defined rule.

The magic would be that File Juggler reads inside the csv or the xlsx (IF “apple” inside then rename into “inventory_food_date.csv” with date in header) in order to setup the correct file name. File Juggler does that for PDF and Word but not for Excel, too bad!

1 Like

With the help of Bing Chat I got the following Powershell script to categorize files. Add the search strings to the script. For example, in the below script, it will search for “PO_” and “Req_” and if it is found will create a copy of the file in the same folder with the cell value plus current date and time as the file name. You can put your rules in to File Juggler and complete your workflow.

Place the script in the folder where you have your Excel files and run them.

# Set the path to the current directory
$folderPath = $PSScriptRoot

# Get all Excel files in the folder
$excelFiles = Get-ChildItem -Path $folderPath -Filter *.xlsx

# Define an array of candidate strings to be searched
$searchStrings = @("PO_", "Req_")

# Loop through each file
foreach ($file in $excelFiles) {
	Write-Host "Currently processing" $file.FullName
    # Open the file and get its content
    $excel = New-Object -ComObject Excel.Application
    $workbook = $excel.Workbooks.Open($file.FullName)
    $content = ""

    # Loop through each worksheet in the workbook and check if it contains any of the candidate strings
    foreach ($worksheet in $workbook.Worksheets) {
        foreach ($searchString in $searchStrings) {
            if ($worksheet.Cells.Find($searchString)) {
                $content = $worksheet.Cells.Find($searchString).Value()
			    Copy-Item -Path $file.FullName -Destination "$content $(Get-Date -Format 'yyyy-MM-dd HH-mm-ss').xlsx"
				Write-Host "	>> Copied $($file.Name) to $content $(Get-Date -Format 'yyyy-MM-dd HH-mm-ss').xlsx"

                break 
            }
        }
    }

    # Close the file and release the COM objects if it doesn't contain any of the candidate strings
    if ($content -eq "") {
        Write-Host "	>> No matching string found in $($file.FullName)"
        $workbook.Close($false)
        $excel.Quit()
        [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
        [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
        continue
    }

    # Close the file and release the COM objects
    $workbook.Close($false)
    $excel.Quit()
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($workbook) | Out-Null
    [System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel) | Out-Null
}