I wrote a little script to post Backpack Calendar events from Quicksilver.

Quicksilver: create event

A Growl notification lets you know if the event was posted properly.

Growl: show event

It’s like QuickPack but it only handles calendar events. I wrote it mostly to learn how Quicksilver actions work. I’m a programmer; I like reinventing the wheel.

Along the way, I fixed a tiny bug with booleans in the Ruby library and kludged around a bug in the API (XML with multiple root elements is sometimes returned).


  1. Download the Backpack Ruby library. Put it somewhere in your Ruby path (e.g., /opt/local/lib/ruby/site_ruby; see ruby -le 'puts $:').
  2. Apply my patch: curl http://antiflux.org/~grant/code/backpack_calendar.booleans_and_multiple_elements.diff | patch
  3. Put Create Backpack Calendar Event.rb in ~/Library/Application Support/Quicksilver/Actions. If you don’t have an Actions folder, make one.
  4. Restart Quicksilver (⌃⌘Q).
  5. Run Keychain Access and a key called Backpack API. The account name is your Backpack user name. The password is your API token, which you can find on your Backpack account page.


  1. Activate Quicksilver.
  2. Type a period to enter text mode, and then your event text.
  3. Hit tab and then type cal or similar to find the script.
  4. Hit return.

Enter text as you would in Backpack: 4/14 spend Saturday night nerding out.

A word starting with +rem (e.g., +remind and +reminder also work) will turn on a reminder for the event.

The first calendar (“Personal”) is the default. You can post to a different calendar by putting its name in square brackets: [work].

If the Growl notification says “Event post failed”, it’s probably because Backpack doesn’t understand your date or time. Take a look at the examples on the Backpack Calendar.

14 April 2007
remember info