2

Since Mavericks, Automator is now able to store services (.workflow) in iCloud.

The problem is that services are not available in the Services menu or contextual menu (right-click) when I store them that way.

Am I missing something? I don't see the point of iCloud for Automator if I have to duplicate the services to ~/Library/Services in order to use them.

1

You can save services anywhere, not just iCloud or the correct Service location. Because of this, I used to save services in my Dropbox and symlink them on multiple Macs. With the advent of iCloud, I use this instead, saving my services in iCloud then symlinking them on multiple machines.

Also, iCloud in Automator is not just for services — it'll sync all the Automator files, including workflows and applications.

  • So I have to symlink the iCloud services to the ~/Library/Services folder to use them? I don't know how to do that... But I'd thought that iCloud-stored services were used by default by OSX. – Ashen Jan 19 '14 at 21:04
  • 1
    I do agree with Ashen, this answer leaves much unanswered. I tried the symlink trick, but it seems to only work if I symlink each service to the ~/Services folder individually. That can't be right. Of course I can just replace the original ~/Services with a symlink, but that isn't very elegant, is it? And I'd really love to know what use it is to have the option to save on iCloud Drive, when these Services can't be used. – zmippie Dec 4 '14 at 7:53
  • Using a short link doesn't work. Probably symlink would be the only sync solution there. I decided to just copy (drag n' drop) and the heck with it! – cregox Aug 28 '15 at 0:43
0

I created an alias to the Services folder in iCloud Drive so I can simply duplicate and drag the Automator file. It's not the most elegant solution but the best I came up with.

0

Am I missing something? I don't see the point of iCloud for Automator if I have to duplicate the services to ~/Library/Services in order to use them.

Unfortunately, this still seems to be the case as of this posting.

I, too, have elected to use symlinks as a workaround. In the spirit of automation, I have a Folder Action monitoring the iCloud Automator directory ~/Library/Mobile Documents/com~apple~Automator/Documents

The action simply consists of one 'Run Shell Script' action, running /bin/bash passing input as arguments:

# Remove all existing symlinks in ~/Library/Services
find "$HOME/Library/Services" -maxdepth 1 -type l -delete

# For each item currently in ~/Library/Mobile Documents/com~apple~Automator/Documents
allservices=("$HOME/Library/Mobile Documents/com~apple~Automator/Documents/"*)
for f in "${allservices[@]}"; do
  # Basename of item
  bf=$(basename "$f")

  # Exclude all .hidden files and other exclusions
  if ! [[ $bf =~ ^\..*$|^Disabled$|^Workflows$ ]]; then
    # Add symlink to ~/Library/Services
    ln -s "$f" "$HOME/Library/Services/$bf"
  fi
done

Admittedly a quick-n-dirty solution (non-production code), I make no promises for file names with obscure characters. The Folder Action is not triggered when a file is deleted, so whenever a file is added to the iCloud Automator directory, or when a file is renamed, the script simply clears and rebuilds the symlinks in the Services directory. That way any deleted service would eventually be properly mirrored as soon as the next service is added or renamed.

I know it's a few years too late, but I just found this thread searching for the same functionality.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .