Archiwa tagu: automatyzacja

Workflow

Workflow – konwersja emaila na zdarzenie

Mam taki zwyczaj, że rachunki płacę na ostatnią chwilę (ale jeszcze w terminie). Wychodzę z założenia, że lepiej, gdy pieniądze leżą na moim koncie, niż na cudzym. Ponieważ faktury przychodzą najczęściej z kilkutygodniowym wyprzedzeniem, wyrobiłem sobie nawyk dodawania zdarzeń do kalendarza, w których zapisuję sobie komu, kiedy i ile mam zapłacić. Jako że są to faktury w formie elektronicznej, aż się prosi, żeby ten proces nieco zautomatyzować. Poniżej przedstawiam workflow, który sobie w tym celu obmyśliłem.

Workflow - ekran główny
Workflow – ekran główny

Cały misterny mechanizm opiera się na genialnej aplikacji Workflow. Jest to bardzo pomysłowy program dla systemu iOS, pozwalający w naprawdę łatwy sposób konstruować akcje automatyzujące często wykonywane czynności. Można przetwarzać tekst, generować PDF-y, obrabiać obrazki, sterować muzyką, wysyłać wiadomości, zarządzać kalendarzem i robić naprawdę wiele, wiele innych rzeczy. Gotowe akcje możemy w postaci ikonki umieścić na pulpicie albo dodać do listy rozszerzeń akcji (action extensions) i wywoływać z innych aplikacji. Workflow współpracuje z wieloma aplikacjami niezależnych deweloperów, w tym Dropbox, Evernote, Fantastical, Overcast Day One, Editorial, że wymienię tylko kilka. W bibliotece Workflow znajduje się sporo akcji przygotowanych przez autorów programu i gotowych do wykorzystania.

Mój schemat postępowania jest następujący i, jak widać, niezbyt skomplikowany.

  1. W programie pocztowym, z wiadomości z fakturą do zapłaty wyciągam informacje o terminie płatności oraz numerze faktury.
  2. W kalendarzu dodaję zdarzenie, w którym opisuję ile, kiedy i za co mam zapłacić.

Na starcie pojawił się pewien problem. Okazało się, że systemowa aplikacja Mail z jakichś powodów nie obsługuje rozszerzeń akcji. Sprawdziłem jeszcze dwa inne programy pocztowe, Mailbox oraz Microsoft Outlook, i w obu była ta sama sytuacja: brak obsługi rozszerzeń akcji. Ostatecznie zdecydowałem się  na niezbyt eleganckie obejście: skopiowanie zawartości maila do schowka, a następnie uruchomienie akcji ręcznie. Żeby nie szukać akcji po pulpitach, można użyć Spotlighta. Mam nadzieję, że doczekamy się obsługi rozszerzeń akcji w Mailu i takie zabiegi nie będą w przyszłości konieczne.

Workflow - screenshot 2

Uporawszy się z problemem przystąpiłem do konstruowania akcji w aplikacji Workflow. Krok pierwszy to pobranie terminu płatności. W tym celu użyłem operacji Get clipboard. Pobiera ona dane ze schowka, a następnie przekazuje je następnej operacji, którą w moim przypadku jest wyszukanie tekstu przy użyciu wyrażeń regularnych (Match Text). W treści maila szukam daty (czyli tekstu pasującego do szablonu 0000-00-00). W moim przypadku zostały odnalezione dwie daty (data wystawienia faktury oraz termin płatności). Interesująca jest tylko ta druga. Żeby ją wybrać i zapamiętać, użyłem kolejno operacji Get item from list oraz Set Variable. Zmienną nazwałem TerminPlatnosci. W ten sposób zrealizowałem pierwszy, najtrudniejszy krok: wydobyłem z treści wiadomości a następnie zapamiętałem interesującą mnie informację, tutaj: termin płatności.

Workflow - screenshot 3

Następne kroki są bardzo podobne do pierwszego, więc nie ma sensu ich szczegółowo opisywać. Sprowadzają się do wykonania sekwencji operacji: 1. pobierz tekst ze schowka, 2. odnajdź tekst pasujący do zadanego ciągu znaków i 3. zapamiętaj go w zmiennej. W ten sposób odczytałem kwotę należności oraz numer faktury.

W ostatnim kroku wszystkie zapamiętane w zmiennych informacje połączyłem i dodałem do kalendarza. Najpierw skonstruowałem tytuł zdarzenia. Ponieważ do obsługi kalendarza używam aplikacji Fantastical 2, miałem nieco ułatwione zadanie. Wykorzystałem wygodną cechę tej aplikacji: jeżeli w tytule zdarzenia znajdzie ona zaszytą datę, to automatycznie używa jej jako daty samego zdarzenia. Żeby skonstruować taki tytuł użyłem operacji Text, której wynik przekazałem do operacji Add Event via Fantastical. Dodatkowo, w polu Notes wpisałem informację o kwocie oraz numerze faktury. Użyłem do tego zmiennych utworzonych w poprzednich krokach.

Workflow - screenshot 3

I to wszystko. Akcja gotowa. Możemy ją dodać do któregoś pulpitu, żeby łatwiej było ją uruchamiać. Jeżeli tak zrobimy, będzie ją można łatwo odnaleźć przy użyciu funkcji Spotlight. Użycie akcji sprowadza się do wykonania następujących czynności: w programie pocztowym wybieram interesującą mnie wiadomość z fakturą, zaznaczam jej treść (przytrzymać palcem, a następnie wybrać zaznacz wszystko) i kopiuję do schowka. Teraz trzeba wyjść z aplikacji Mail i uruchomić naszą akcję. Po jej zakończeniu na ekranie ukaże się okno aplikacji Fantastical 2 z prośbą o potwierdzenie dodania zdarzenia do kalendarza.

Jak widać, zbudowanie własnej akcji nie jest wcale trudne. Potrafi nie tylko przynieść sporo satysfakcji, ale później znacznie ułatwia codzienne czynności.