The Omni Group Forums

The Omni Group Forums (http://forums.omnigroup.com/index.php)
-   OmniFocus Extras (http://forums.omnigroup.com/forumdisplay.php?f=44)
-   -   Apple Mail Jott to OmniFocus AppleScript (http://forums.omnigroup.com/showthread.php?t=7651)

ArsCerebri 2008-12-17 12:52 PM

[QUOTE=Bill Van Hecke;35454]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![/QUOTE]

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?

cellmatrix 2009-03-19 02:26 PM

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.

dschaffner 2009-03-21 04:43 PM

[QUOTE=cellmatrix;57116]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]

*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

cellmatrix 2009-03-23 08:29 AM

[QUOTE=dschaffner;57223]*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]

worked great - thanks!

akelley 2009-04-23 02:00 PM

Jott->OF revised script
 
Here's my revised script that specifies starting and ending points of your message as properties. This way, if Jott decides to change their message format again, you simply change these parameter values to reflect the change in their message format

---------------

-- 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
-- Start of the message in the body text
property firstmsgchar : 1
--Number of spaces between the last char of the message and the "Listen" link
property lastmsgchar : 5

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"
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"
set messageStart to firstmsgchar
set messageEnd to (offset of "Listen" in theContent) - lastmsgchar
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

dryan75 2009-04-28 04:39 AM

I've never done an apple script. So some help would be appreciated.

I found the script editor. Do I just copy the above, paste it into the "body" field of the editor in the script editor, save it to "my documents", and then it just runs?

If this above process is true, where do I start copying?

From here:
[QUOTE]-- Derived from work that is Copyright © 2007, Curtis Clifton All rights reserved.[/QUOTE]

From here:
[QUOTE]property messageSender : "Jott"[/QUOTE]

Or From Here:
[QUOTE]on run[/QUOTE]

Thanks.
Dan
OS10.5.6
MacbookPro

dryan75 2009-04-28 01:19 PM

OK, so I got the script to work. Here's my stupid question. Do I have to run the script each time I want it to happen? Or does it create a rule so that when I get a Jott in my inbox it automatically goes to my omnifocus inbox?

Dan

whpalmer4 2009-04-28 01:59 PM

The idea is that you make a Mail rule which invokes it...

dryan75 2009-05-03 07:08 PM

Perfect! IT works. Thanks!

FrogProf 2009-08-12 03:26 PM

Thank you, thank you! My Mail rule was no longer sending my Jotts to OmniFocus and I was clueless about what to do, since I didn't know Jott had changed its format. Now it works again, thanks to you.


All times are GMT -8. The time now is 05:33 AM.

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