Alfred 2: Workflows Review

Recently, a co-worker of mine discovered Alfred. (They have an app in the App Store as well, but version 2 is only available on their website.) The second iteration of this application has introduced a pro version which includes a powerful new feature, Workflows. While there are many pre-built workflows, the most powerful feature I've discovered is the ability to create your own workflow, which can be incredibly advanced, calling PHP, Python, or any generic script to populate the list of choices in Alfred, and even execute custom actions.

Before starting with Workflows, I suggest you download the very powerful and useful Workflow Searcher. It ties into the api behind and lets you very easily download and install custom workflows right from Alfred.

Example: Searching for Spotify workflows

While I've enjoyed many workflows built by others, I also wanted to contribute by making some of my own. So far I've managed to make a custom workflow that searches our internal systems, and lets me access any record within our database very easily.

My next challenge was re-building the list_instances command from boto and combining it into an SSH script. The python ALP library has proven exceptionally useful in this experience. I've chosen to bundle this library with my workflows since the version installed via pip or easy_install is too old and doesn't contain the latest functionality. This also means that in order to install the workflow, you don't need to have alp, just boto itself installed and configured properly.

The result is something like this:

Selecting one of the items automatically copies the appropriate SSH commands to your clipboard.

I plan to improve this workflow to automatically perform the SSH commands in the future, however I've currently set it up to also allow me to SSH into instances behind a VPC. This is done by first running "ssh vpc" and then sshing directly into the instances private IP. This means two commands are copied to your clipboard, which I haven't yet found a good way to execute via a terminal directly.

You can find the full workflow here. Or a direct download link here.

Other boto commands to come… let me know if you'd like to help, or have any ideas by posting issues to the workflow on github!