Friday, December 2, 2022
  • Index
  •  » Automator
  •  » Automator ARRAY variable cannot be parsed by Automator actions

#1 2020-04-19 01:27:36 am

Registered: 2020-04-18
Posts: 1

Automator ARRAY variable cannot be parsed by Automator actions

I'm wondering if anyone can explain this behavior of array formatting inside an Automator workflow.

I am using `NSUserAutomatorTask` to launch an Automator workflow from a macOS app.

I'm passing in variables via the `variables` property. I'm passing both a String and an Array value variable in the variables dictionary. … -variables

Inside the Automator workflow I will then use `Get Value of Variable` actions to grab the variables that were set on the `NSUserAutomatorTask` and pass the variables to subsequent Automator actions:

Get Value of Variable


In the Mac app the Swift code looks like this:

    let workflow = try! NSUserAutomatorTask(url: url)
    workflow.variables = [
        "singleFilePath": "/image1.png",
        "multipleFilePaths": ["/image1.png", "/image2.png"],
    workflow.execute(withInput: nil)

I'm able to print out the variable values in an alert via an `Ask for Confirmation` action:

variable string values

The `String` variable's value is a simple string: `/image1.png`

The `[String]` array variable's value is wrapped in parentheses and each item is quoted:



My control is to write a "normal" workflow, rather than variables, and use a Get Specified Finder Items action + View Results action:

Get Specified Finder Items

The array/list format is exactly the same as when I use the variable.


I now run the pictured Automator workflow that first gets a variable's value and then attempts to open those Finder items.

The `singleFilePath` var works. It's passed on to the Open Finder Items action, and that file is opened by the default application.

Passing `multipleFilePaths` in the same manner does not work. No files are opened. Automator displays the error:

> The action "Open Finder Items" was not supplied with the required data.


The action is "Open Finder Item**s**", so there must be some way to pass multiple file paths to this action.

My questions and solutions in order of preference are:

1. Why is the default variable array/list format not working when passed to the subsequent action? Is there any way to pass or parse the array variable in a compatible format?

2. Can we use a *single* `Run AppleScript` action to reformat the array variable into a format that can be passed to subsequent Automator actions? (I'd like to continue to chain Automator actions rather than run pure AppleScript).

Thank you for any help you might offer!


  • Index
  •  » Automator
  •  » Automator ARRAY variable cannot be parsed by Automator actions

Board footer

Powered by FluxBB

RSS (new topics) RSS (active topics)