Using iPhone Dragon Dictation with Things


I've been interested in adding items to my Things To Do list while away from my computer with out typing them. Typing is a pain. The steps to do this are:

  • Open Dragon Dictation on the iPhone.
  • Tap the button to do something with the note.
  • Press Email.
  • Press Send. If you set your iPhone to automatically BCC yourself on all emails you don't need to type in your email address as the TO recipient. Also, don't bother adding a subject. You'll know that it is a To Do since it is from you and the Subject is blank.
  • The email will go out and end up in your email inbox.
  • Setup a Mail rule to look for the email message from Dragon and then add it to Things and then file the email, or auto delete it.

That's it. My Mail rule looks like this.


As you can see, it looks for emails that have an blank subject and from me. If an incoming message arrives, it will move the message to a folder to get it out of my inbox. Then it changes the color to yellow, so I know it was processed. Then it runs the following AppleScript. The last action prevents Mail from applying other actions.

The AppleScript below could be shorter, but I've been experimenting with different options. I set several TheWhatever variables so that I can choose what content goes into the Thing Title and Note. You'll see TheSubject, TheSubject2, and TheSubject3. Only one of those are really needed, but I kept the prior ones in case I wanted to go back to a prior value.

This version is what I use today. It ends up creating a new Thing that takes the first line/paragraph of the Email body as the Thing Title and the Thing Note is the entire Email Body. This keeps the Thing Title as short as possible and usually ends up being the entire note that you dictated. Finally, there's some AppleScript code to show a Growl notification.

on perform_mail_action(info) tell application "Mail" using terms from application "Mail" set selectedMails to|SelectedMessages| of info repeat with eachMessage in selectedMails set the selected_message to item 1 ofeachMessage set message_id to the message id of the eachMessage set message_url to "message:/" & message_id & "  " set TheSender to the sender of the eachMessage set TheSubject to the subject of theeachMessage set TheSubject2 to the subject of the eachMessage & " (" & the sender of the eachMessage & ")" set theBody to the content of the eachMessage set theBody2 to "From: " & the sender of theeachMessage & (ASCII character 13) & (ASCII character 13) & the content of the eachMessage setTheSubject3 to the first paragraph of theBody tell application "Things" set newToDo to make new to do with properties {name:TheSubject3, notes:theBody} -- at beginning of person "Hal" move newToDo to list "Today"end tell tell application "GrowlHelperApp" set the allNotificationsList to ¬ {"Task Created"} set theenabledNotificationsList to ¬ {"Task Created"} register as application ¬ "Create Task from Multiple Mail (Growl Enabled)" all notifications allNotificationsList ¬ default notifications enabledNotificationsList ¬ icon of application "Things" notify with name ¬ "Task Created" title ¬ "Task created in Things" description ¬ TheSubject application name "Create Task from Multiple Mail (Growl Enabled)" end tell end repeat end using terms from end tell end perform_mail_action