Apple Mail Jott to OmniFocus AppleScript
Howdy,
I've modified the basic AppleScript that comes with OmniFocus so that it pulls the Jott message out of the e-mail. It assumes that a single message is a single task. I even included a link back to the original e-mail. However, the link I put into the note doesn't work quite right. Does anyone know of a way to put a link into a note processed by "parse tasks"? I include something like "Jott message: message://<1206587236.14269@jott.com>", which is the correct format for the link, but it doesn't automatically appear as a link. Worse yet, when I manually type a space after it, OmniFocus creates two links: "message://" and "1206587236.14269@jott.com". It seems to view the "<" as a separator (which may be correct from an RFC standpoint). If I instead send the text "Jott message: <message://<1206587236.14269@jott.com>>", I manage to get the "<" included, but it also includes the first "<". The link becomes: "<message://<1206587236.14269@jott.com>". The script is below if you'd like to try it out. . John -- [FONT="Courier New"]-- Derived from work that is copyright 2007 The Omni Group. All rights reserved. -- Modified to work specifically with Jott messages. using terms from application "Mail" -- Trims "foo <foo@bar.com>" down to "foo@bar.com" on trim_address(theAddress) try set AppleScript's text item delimiters to "<" set WithoutPrefix to item 2 of theAddress's text items set AppleScript's text item delimiters to ">" set MyResult to item 1 of WithoutPrefix's text items on error set MyResult to theAddress end try set AppleScript's text item delimiters to {""} --> restore delimiters to default value return MyResult end trim_address on process_message(theMessage) set theContent to content of theMessage set messageStart to (offset of "Jott:" in theContent) + 6 set messageEnd to (offset of "Listen" in theContent) - 2 set theSubject to text messageStart through messageEnd of theContent set theText to theSubject & return & "Jott message: message://<" & message id of theMessage & ">" tell application "OmniFocus" tell default document parse tasks with transport text theText with as single task end tell end tell end process_message on perform mail action with messages theMessages try set theMessageCount to count of theMessages repeat with theMessageIndex from 1 to theMessageCount my process_message(item theMessageIndex of theMessages) end repeat on error m number n tell application "OmniFocus" log "Exception in Mail action: (" & n & ") " & m end tell end try end perform mail action with messages end using terms from [/FONT] |
Brilliant! I just tested this out with my own Jott and Apple Mail, and it's working great. No more swervy driving whenever I think of something that needs to be in my inbox!
|
Glad you like it!
Glad to see that others are finding Jott really cool and useful. I also like being able to quickly and easily send myself a message, especially on the road. It's almost eery to get the message in OmniFocus without seeing it in Mail.
Enjoy! . John |
Fix for the link in Mail?
Did anyone figure out the fix for the link?
Thanks... |
Not that I know of. I reported this issue to Omni, so hopefully they'll fix it in an upcoming release.
|
Here's a modifed version that is derived from Curt Clifton's OmniFocus-Mail Links script
-- Derived from work that is Copyright © 2007, Curtis Clifton All rights reserved. -- Modified to work specifically with Jott messages. -- If true, then the sender of the message is included in the action's description. property includeSender : true property messageSender : "Jott" on run tell application "Mail" set selectedMessages to selection if ((count of selectedMessages) ≠ 1) then display alert "Please select a message to be linked to the new action" message "This script creates a new OmniFocus action that links back to a selected message." buttons {"OK"} default button "OK" giving up after 20 return end if my process_message(item 1 of selectedMessages) end tell end run using terms from application "Mail" on perform mail action with messages theMessages try set theMessageCount to count of theMessages repeat with theMessageIndex from 1 to theMessageCount my process_message(item theMessageIndex of theMessages) end repeat on error m number n tell application "OmniFocus 77.1.3.0.97731" log "Exception in Mail action: (" & n & ") " & m end tell end try end perform mail action with messages end using terms from on process_message(theMessage) tell application "Mail" set theContent to content of theMessage set theDate to date sent of theMessage set messageId to message id of theMessage end tell tell application "OmniFocus 77.1.3.0.97731" set messageStart to (offset of "Jott:" in theContent) + 7 set messageEnd to (offset of "Listen" in theContent) - 3 set taskName to rich text messageStart through messageEnd of theContent if (includeSender) then set taskName to taskName & "—" & messageSender end if set theDoc to first document tell theDoc set propRecord to {name:taskName} set theTask to make new inbox task with properties propRecord end tell tell theTask set start date to theDate set note to return & return tell note set theURL to "message://<" & messageId & ">" set linkText to theURL insert linkText at before first character set value of attribute "link" of style of paragraph 1 to theURL end tell end tell end tell end process_message |
Borked
This doesn't work for me... Expected ',' after the unicode not equals sign, changing it to != doesn't work.
[QUOTE=akelley;35869]Here's a modifed version that is derived from Curt Clifton's OmniFocus-Mail Links script Edit: removed the script from the quote, since it just made the page require that much more scrolling to read. [/QUOTE] |
I don't have jott installed, devn, but I am able to copy the script, paste it into Script Editor, and compile it with no errors. This is on a 10.5.2 machine.
|
Help Jott/Apple Mail
Hi guys-
I was having trouble getting the Omnifocus Mail rule thing to work for me with Jott. I set it to the +omnifocus version, which works with my gmail account. I'd then leave a jott to that address and start the jott with "hyphen hyphen". I'd get the email but the rule wouldn't work--nothing in my OF inbox. I tried the 2 applescripts above too, but nothing. I know the rule ran because I had it move the message before running the applescript. I'm hopeful somebody can help, with my apologies for being an apparent idiot. Does OF need to be running for the mail message to work? If I use one of the scripts in this thread should I turn off the mail rule in the OF pref? Is there some easy setting thing I'm missing? thanks |
Yep. It works.
I had NEVER used applescript before now. I just copied and pasted into scripteditor and saved it to my documents folder as jotttomail. Set up a rule in Mail to run when email received from [email]notify@jott.com[/email] that runs a script and pointed it at the script.
Fanfrickingtastic! Thanks;) |
All times are GMT -8. The time now is 11:02 PM. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.