Apple Mail, Waiting for a OmniFocus

[Update 2017-01-23]originál script nedobieha, aktualizovaná verzia je tu.

Musím sa priznať. Delegovanie úloh mám rád. Nieže by som bol typ človeka, ktorý sa chce zbaviť zodpovednosti, ale sú múdrejší, šikovnejší a kompetentnejší než ja.

Informácie alebo úlohy na ktoré čakám si zaznamenávam do OmniFocus. Nezáleží na tom, či je to úloha delegovaná na mňa, alebo som ja delegoval úlohu na niekoho. Stále skončí v prvej fáze v Inboxe OmniFocus.

A keďže niektoré úlohy alebo informácie lietajú emailom, hľadal som spôsob, ako mnou zaslaný email, ktorý v sebe obsahuje požiadavku na splnenie úlohy alebo prosbu o informáciu, čo najjednoduchšie dostať do OmniFocus. S cieľom mať nad nimi kontrolu a keď príde správna chvíľa, pripomenúť sa.

Vyžaduje to trochu nenáročného šudlania a nastavovania, ale výsledok stojí zato.

Úvod

Než prejdeme k detailom, celý fór spočíva v nastavení pravidiel odchodzej pošty, kde sa pri splnení definovanej podmienky spustí AppleScript, ktorý vykoná všetku ťažkú prácu. V Inboxe OmniFocus z odoslaného emailu vytvorí novú úlohu v tvare:

“Čakám na –” + predmet emailu

Zároveň do poznámky vloží prelink na pôvodný email [1] a telo emailu v plain text.

Koncepciu dal dokopy Sven Fechner zo SimplicityBliss. Jeho povôdný AppleScript prešiel mnoho zmenami na OmniFocus fóre, ja som si ho upravil aby viac vyhovoval mojim potrebám.

Prerekvizity

Mail Act-on a MailTags su plug-iny, ktoré do Apple Mail pridávajú nové možnosti a funkcionality. Možete si ich stiahnuť na stránkách vývojárov. Ich cena sa pohybuje okolo $30 USD za každý a pred zakúpením je možné využiť 30 dňovú Trial verziu.

V základe žial Apple Mail neponúka možnosť definovať pravidlá odchodzej pošty, pridáva ju práve Mail Act-on.

OmniFocus

U osôb s ktorými často spolupracujem alebo komunikujem mám vytvorený vnorený kontext, napr. PeFo. Ten sedí pod nadradeným kontextom Waiting. Možno by vás mohlo zaujímať prečo toto nastavenie. Odpoveď je Perspektívy. V prípade, že na niečo čakám a nemám vytvorený špecifický kontex, používam nadradený kontext Waiting.

OmniFocus_WaitingFor_context

MailTags

Po inštalácií Plug-inu pridajte na záložke Keywords tagy. Tag predstavuju podmienku [2]. Keď bude priradený k odchodziemu emailu, spustí sa AppleScript. V mojom nastavení sa pod každým nadefinovaným keyword/tag skrýva konkrétny kontext Waiting. Ako som spomínal, pre ľudí s ktorými často spolupracujem mám vytvorený kontext. Zároveň Tag @Waiting je prvá hladina kontextu Waiting v OmniFocus. Uznávam, že to zatiaľ nemusí byť úplne jasné, ale pokračujte, verím, že sa vyjasní.

MailTags keywords

Mail Act-on

Nainštalujte plug-in, prejdite na Preferences -> Rules – > Outbox Rules a pridajte nové pravidlo.

title

Zadajte požadovaný názov a definujte podmienku. V spodnej časti vyberte z combo boxu Run AppleScript, vo vedľajšom combo boxe kliknite na Open in Finder. Do otvoreného adresára uložte nasledovný AppleScript, resp. môžete si ho stiahnuť tu a priraďte ho k akcii Run AppleScript.

(*

### SCRIPT ###

Track sent Emails from Apple Mail in OmniFocus as Waiting for…

### POPIS ###

Script z odoslaného emailu vytvorí novú úlohu v Inboxe OmniFocus, v poznámke úlohy vytvorí prelink na originálny email a text emailu, priradí definovaný kontext


### SCRIPT JE POSKYTOVANÝ "AS IS"###

@autor: Tomáš Földi
@URL: cookiemash.cz
@dátum: 201405

### REFERENCIE ###

Sven Fechner - simplicitybliss.com
http://simplicitybliss.com/post/126028916167/repost-adding-waiting-for-emails-to-omnifocus
http://forums.omnigroup.com/showthread.php?t=12810
*)

------ nastaviť Prefix a Context ------


-- zadajte kontext pod ktorým sledujete úlohy "Čakám na...

property myWFContext : "Waiting"

-- Zadajte text, ktorý sa bude zobrazovať na začiatku tasku

property myWFTaskTitle : "Čakám na -- "



----- upravujte len v prípade, že viete čo robíte ---------

using terms from application "Mail"
 on perform mail action with messages theMessages
       tell application "Mail"
            
           repeat with eachMessage in theMessages
             
               set theTitle to the subject of eachMessage
             set theNotes to the content of eachMessage
             set theMessageID to the message id of eachMessage
              set MessageURL to "message:///<" & (theMessageID) & ">"
                
               --Create new inbox item in "OmniFocus"
             tell application "OmniFocus"
                   tell front document
                        set myTaskTitle to myWFTaskTitle & theTitle
                        set myContext to (first flattened context where name is myWFContext)
                       set myNewTask to make new inbox task with properties {name:myTaskTitle, context:myContext}
                     tell note of myNewTask
                         insert "Original Message" & (ASCII character 10) & (ASCII character 10) & return & theNotes at before paragraphs
                           set value of attribute "link" of style of characters -1 thru -17 of first paragraph to MessageURL
                      end tell
                       
                       --DISPLAY Notification
                     
                       set notificationTitle to "Send to OmniFocus"
                       set notificationSubtitle to "Task in Inbox created successfully"
                       set notificationMessage to myTaskTitle
                     display notification notificationMessage with title notificationTitle subtitle notificationSubtitle sound name "Purr"
                      delay 1
                        
                   end tell
               end tell
           end repeat
     end tell
   end perform mail action with messages
end using terms from

Ja som si pridal ďalšiu akciu Clear all MailTags. Nepotrebujem sledovať zaslaný email v Mail.app pretože ho už sledujem v OmniFocus.

Blížime sa do finále

Pri priradení tagu ( ⌃ + ⌘ + T) a následným odoslaním emailu sa spustí preddefinovaný AppleScript, ktorý vytvorí úlohu v Inboxe OmniFocus. Pre každý tag mám upravený AppleScript tak, aby bol naviazaný na správny kontext.

OmniFocus_inbox_taks_created

Pri čistení Inboxu v OmniFocus v prípade potreby upravujem názov úlohy, priraďujem Projekt, pracujem s Defer Date a Due Date.

Asi to nie je to úplne najlacnejšie riešenie. Ale aj keď by som pominul ďalšie možnosti a pridanú hodnotu Mail Act-on a MailTags, aj tak som presvedčený, že to za tie prachy stojí. Mne určite. Mám dokonalý prehľad komu som čo poslal a načo čakám, na jeden klik sa dostanem na pôvodne zaslaný email a môžem spraviť tak obľúbený a všetkými milovaný FollowUpíček.


  1. v tvare ako s Quick Entry – Original Message  ↩
  2. a mojom prípade jedinú  ↩
Apple Mail, Waiting for a OmniFocus