I’m a software developer for The Omni Group in Seattle. I’m also privileged to help manage the internship program at Omni.

Entries in Siri (1)

Wednesday
Nov162011

“Siri, Send Email to OmniFocus”

Update: With version 1.13, OmniFocus for iPhone now imports Siri reminders directly. My instructions here still work for those who have OmniFocus for Mac but haven’t yet purchased the iPhone version. Honestly though, what are you waiting for?

Like many of you, I retired my trusty iPhone 3GS a couple Fridays ago when the friendly man in the brown pants delivered my new iPhone 4S. The new camera is amazing, and the retina display blows my mind every time I look at it. That said, the thing I’m finding most fun about my new “toy” is Siri. As my great grandfather might have said, she’s the bee’s knees. (Or he might have said, “Zounds! This piece of glass is possessed!” Great grandpa was born in the 1800s.)

One of the ways that my first iPhone really changed my game was ubiquitious capture. Whenever an idea pops into my head, I can tap into OmniFocus and drop the thought into my inbox. Unfortunately, sometimes it’s not safe or convenient to focus my eyes and fingers on the on-screen keyboard. I’ve tried lots of workarounds for this, such as recording voice memos or leaving voicemail messages for myself, but none of them have stuck.

With Siri, I’ve put together a system that I think will bridge this last gap in my capture habit. With this system, I can just say, “Siri, send email to OmniFocus.” Siri walks me through the rest. She prompts me for the subject of my email, which becomes the title of a new action in my OmniFocus inbox. She also prompts me for what the email should say, which becomes the note of the new action.

To make this work, I’m combining three ideas:

  • On my Mac at home, I use OmniFocus’s Mail Rule to convert special incoming email messages into OmniFocus actions.

  • In my Contacts on the iPhone, I have an OmniFocus card, so Siri understands what I mean by “Send email to OmniFocus.”

  • And, of course, Siri!

It isn’t hard to set this up, but there are a few steps involved. I’ll walk you through those below. (Jeff Hunsberger describes essentially the same technique on his blog, if you’re interested on a slightly different take.)

Set Up OmniFocus’s Mail Rule

The key to making this Siri-to-OmniFocus system work is setting up a Mac to grab incoming emails and convert them into OmniFocus actions. I leave my home Mac running all the time, so it can do this duty and others. The system will also work if you just launch OmniFocus and Mail periodically; though, until you do so, tasks you send with Siri won’t appear in OmniFocus.

Choose an Email Address

First you need to choose an email address to use for incoming OmniFocus actions. OmniFocus can process two sorts of emails: those you send to a specially formatted email address and those you send with a specially formatted subject line. The latter is clumsy with Siri, so I’ll focus on the former.

What do I mean by “a specially formatted email address”? Email servers are supposed to accept email sent to addresses that look like yourRegularAddress+somethingElse@example.com, where the somethingElse can be any combination of upper and lowercase letters (among other things). The Mail Rule in OmniFocus uses this idea to decide which mail messages it should turn into actions. For example, I send email to the address curt+omnifocus@mac.com if I want OmniFocus to grab it, and just use curt@mac.com otherwise. (Not my actual addresses. Please don’t email them.)

Unfortunately, not all email servers follow this “something else” standard. In my tests, MobileMe, iCloud, and gmail all seem to work fine. If you use an email address from somewhere else, you’ll need to do some testing. I’ll tell you how soon!

Tell OmniFocus About Your Email Address

In OmniFocus for Mac, choose OmniFocus ▶ Preferences…. Click on the Mail icon to bring up OmniFocus’s Mail Preferences.

  1. Click the checkbox to Add the Mail Rule.

  2. Choose the option to process messages having “+omnifocus” before the @ sign.

  3. If you’d like, choose to archive the processed messages and pick a mail folder to put them in. (This step is optional. If you choose to not archive the processed messages, then OmniFocus will delete them after extracting their actions.)

  4. Use the “+” button to add each email address from which you want to send messages to OmniFocus. For Siri to send actions to OmniFocus, you at least need to include whatever address is your default sending address for your iPhone. You can double-check that address on your iPhone by choosing Settings ▶ Mail, Contacts, Calendars and scrolling down to find the default account in the Mail section.

  5. Double-check all the settings, then close the Preferences window. OmniFocus sets up a rule in Mail that watches for the right incoming messages and asks OmniFocus to handle them.

Check It Out

Before bringing Siri into the picture, you should check that the Mail rule is working right.

From your iPhone, send an email to the “+omnifocus” email address you chose earlier. For me, my regular email is curt@mac.com, so I sent an email to curt+omnifocus@mac.com. Use the subject line “Testing” and the message “Hello, OmniFocus”.

Give the message some time to move from your iPhone to your Mac. After all that work, now might be a good time to take a break and enjoy a refreshing beverage.

Open OmniFocus on your Mac and look in the Inbox. If everything worked right, you should have a new action named Testing with the note “Hello, OmniFocus”.

  1. Yes, it’s there! → Hooray, continue to Add an OmniFocus Contact below.

  2. No, it isn’t there. Sad trombone. → Look in Mail to see if the Testing message is in your Mail inbox.

    a. There’s the message. It’s still in Mail. → Double-check your settings in OmniFocus preferences. Does the actual From address on the message match one of the addresses in the Allowed From addresses list? Does the To address on the message include the +omnifocus part? If not, it’s possible that your email company doesn’t follow the +somethingElse standard. Try using a different account. If all else fails, you could set up a gmail account just for this purpose.

    b. No message in Mail either. → It’s possible that your email company doesn’t follow the +somethingElse standard. Try using a different account. If all else fails, you could set up a gmail account just for this purpose.

Add an OmniFocus Contact

Well done! If you made it this far, you have OmniFocus and Mail on your Mac playing nicely with each other. You’re nearly finished.

Next, teach Siri what you mean when you say, “Send email to OmniFocus.”

Open the Contacts app on your iPhone and tap the “+” button in the top-right corner.

Enter OmniFocus for the contact name:

For the email address, enter the one that you used when testing the Mail Rule. Mine looks like this:

Tap the Done button and you’re, well, done.

Try It!

Hold down the home button to activate Siri. Try a conversation like this:

You: Send email to OmniFocus.

Siri: What’s the subject of the email?

You: Consider adopting a shelter dog

Siri: What should the email say?

You: They just need some love period

Siri: Here’s your email. Shall I send it?

You: Yes

Siri: OK, I’ll send it.

Siri sends the email. Your Mac downloads it. The Mail Rule creates a new action in your OmniFocus inbox on your Mac. A minute later, OmniFocus on your Mac syncs. The next time you sync OmniFocus on your iPhone, voila, your project to adopt that adorable Beagle-mix is underway.

Caveats and Conclusion

This approach has been rock solid for me. The biggest potential drawback is that you need a Mac running Mail and OmniFocus. That’s true for many of OmniFocus users, but I understand that it isn’t true for everyone.

I hope that Apple will give developers a public API for Siri so we can extend what she can do. There are also interesting possibilities involving Reminders WebDAV interface. In the meantime I hope using the OmniFocus Mail rule as a middleman works as well for you as it has been for me.