The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus Extras
FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
Apple Mail Jott to OmniFocus AppleScript Thread Tools Search this Thread Display Modes
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
--
-- 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
 
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 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
 
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.
 
Quote:
Originally Posted by Bill Van Hecke View Post
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!
Sadly, it is not working so well for me. I get worse headers than with the OmniFocus built-in script. Every Inbox item is now titled "voice-to-text message was sent by Jott on behalf of..." and the actual item I want to be listed as the subject is in the item's note, instead.

Any thoughts?
 
Jott changed their email template this week, and now no scripts currently work for getting Jott email into omnifocus. I wish I were an applescript guru like Curtis or one of the other talented individuals here, but sadly I am not, nor I am afraid that I ever will find the time to become one.

But if anyone who is facile with applescript could fix this probably simple problem, I know a lot of folks, including me, would greatly appreciate it.
 
Quote:
Originally Posted by cellmatrix View Post
But if anyone who is facile with applescript could fix this probably simple problem, I know a lot of folks, including me, would greatly appreciate it.
*facile*? Nope.

Persistent. Yup.

Changing:

set messageStart to (offset of "Jott:" in theContent) + 7
set messageEnd to (offset of "Listen" in theContent) - 3

To:
set messageStart to (offset of "Jott:" in theContent) + 1
set messageEnd to (offset of "Listen" in theContent) - 4

Seemed to fix things for me.

- Don
 
Quote:
Originally Posted by dschaffner View Post
*facile*? Nope.

Persistent. Yup.

Changing:

set messageStart to (offset of "Jott:" in theContent) + 7
set messageEnd to (offset of "Listen" in theContent) - 3

To:
set messageStart to (offset of "Jott:" in theContent) + 1
set messageEnd to (offset of "Listen" in theContent) - 4

Seemed to fix things for me.

- Don
worked great - thanks!
 
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
 
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
omnifocus + Apple Mail + gmail flags/starred integration smagdali OmniFocus 1 for Mac 5 2011-10-28 09:31 AM
Apple Mail to Omnifocus, with attachment chipjoyce Applying OmniFocus 1 2010-07-14 12:45 PM
Omnifocus task/action to Apple Mail gandalf44 OmniFocus Extras 1 2009-05-27 12:53 PM
Jott -> Mail.App -> OmniFocus jrapp111 OmniFocus Syncing 3 2008-08-13 07:43 PM
adding +omnifocus for mail rules - Apple problem? mhedstrom OmniFocus 1 for Mac 12 2008-08-08 08:26 PM


All times are GMT -8. The time now is 08:18 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2022, vBulletin Solutions, Inc.