Uważasz, że tworzenie automatyzacji jest trudne, a dołączanie do nich AI wymaga mistrzowskiego poziomu? Nic bardziej mylnego!
W ostatnich materiałach na temat automatyzacji skupialiśmy się na poznawaniu funkcji Make od strony praktycznej. W pierwszym wpisie tworzyliśmy automatyzację agregującą dla nas faktury otrzymane na e-mail w jednym miejscu, a w drugim dodawaliśmy do Notion funkcję planowania postów social media.
Dzisiaj z kolei przygotujemy automat, który korzystając z AI (po raz pierwszy!), będzie pobierał dla nas informacje z otrzymywanych wiadomości e-mail, a później będzie te informacje zapisywał w arkuszu kalkulacyjnym.
Zaczynamy?
Spis treści
Co trzeba wiedzieć?
Żeby zrozumieć treść dzisiejszego artykułu, powinieneś / powinnaś znać już podstawy Make.com (może pomóc przeczytanie dwóch pierwszych artykułów z serii) i mieć ogólne pojęcie o tym, jak działa ChatGPT od strony użytkownika.
Wszystkie pozostałe rzeczy będziemy wyjaśniać po drodze.
Co będziemy robić?
Przygotujemy dzisiaj automatyzację, która będzie czytać wybrane przez nas wiadomości e-mail i pobierać z nich interesujące nas informacje. Finalnie nasz proces będzie kończył się zapisaniem tych informacji w arkuszu kalkulacyjnym.
Aby oprzeć się na konkretnym przykładzie, zrobimy to na podstawie faktur.
Nasza automatyzacja, gdy otrzyma wiadomość e-mail fakturą, odczyta jej dane (z pomocą AI) i zapisze dla nas w arkuszu kalkulacyjnym (wykorzystamy Google Sheets).
Może Ci się wydawać, że taka automatyzacja będzie bardzo złożona. Tak naprawdę będzie ona jednak miała… 3 kroki!
Poznajemy moduł OpenAI
Zacznijmy od tego, że „mózgiem” naszej automatyzacji będzie moduł OpenAI, dostępny w Make.com. Znajdziesz go bez problemu w menu modułów, korzystając z wyszukiwarki.
Możemy z jego pomocą wykonać następujące akcje:
- Create a Completion — czyli przeanalizowanie tekstu wejściowego i zwrócenie odpowiedzi;
- Create an Edit — z pomocą tej akcji możemy zmodyfikować już przetworzone zapytanie;
- Create a Moderation — ta opcja sprawdza, czy podane polecenie nie narusza zasad polityki treści OpenAI;
- Generate an Image — pozwala wygenerować grafikę, używając DALL-E;
- Create a Translation (Whisper) – daje możliwość stworzenia transkrypcji, a następnie jej tłumaczenia, prosto z nagrania dźwiękowego;
- Create a Transcription (Whisper) – pozwala stworzyć transkrypcję z pliku dźwiękowego;
- Make an API Call — ta akcja pozwoli nam zbudować samodzielnie zapytanie do OpenAI (raczej dla zaawansowanych);
- I w końcu: Transform a Text to a Structured Data — ta akcja pozwala na przekształcenie tekstu wejściowego, w jakiś format danych — na przykład na wyciągnięcie z niego określonych parametrów. To ona będzie nas interesować.
Każda z powyższych akcji może przyjmuje jakieś dane wejściowe i prompt. Następnie tworzone jest zapytanie, które wysyłane jest do OpenAI. OpenAI przetwarza to zapytanie i zwraca nam wynik, w efekcie czego otrzymujemy odpowiedź, którą możemy dalej przetwarzać w ramach automatyzacji.
Przypomnijmy, że chcemy dzisiaj przygotować automatyzację, która pobierze z wiadomości e-mail parametry faktury i zapisze je dla nas w arkuszu kalkulacyjnym.
Chciałbym Ci pokazać przede wszystkim, w jaki sposób połączyć automatyzację z AI, dlatego w tym wpisie przyjmiemy założenie, że odczytywać będziemy informacje bezpośrednio z treści wiadomości. Nie będziemy brać pod uwagę załączników.
Automatyzacja
Przyjmujemy e-mail
Aby przyjąć e-mail, wykorzystamy (podobnie jak w przypadku naszej pierwszej automatyzacji) moduł Webhooks, a dokładniej akcję Custom Mailhook.
Dzięki temu otrzymamy adres e-mail, na który będziemy przekazywali wiadomości e-mail, na których treści później będzie operować automatyzacja.
Znajdujemy moduł Webhook i wybieramy interesującą nas akcję.
Takiemu adresowi e-mail możesz (w przeciwieństwie do mnie 😅) nadać jakąś nazwę — do czego zachęcam, bo łatwiej nam się będzie w nich później odnaleźć, gdy automatyzacji będziemy mieć więcej.
Po zapisaniu otrzymamy adres e-mail, na który będziemy mogli przekazywać wiadomości. Dobry pierwszy krok.
Dodajemy połączenie z OpenAI
W następnym kroku musimy dodać połączenie z OpenAI. Znajdujemy więc moduł OpenAI i wybieramy akcję “Transform a Text to a Structured Data”.
Podobnie, jak w przypadku innych modułów, będziemy potrzebowali nowego połączenia pomiędzy Make.com a naszym kontem OpenAI. Gdy spróbujemy go dodać, Make.com poprosi nas o tajemniczy „API Key”.
Skąd go wziąć? Wystarczy, że otworzysz stronę, do której link znajduje się pod tym polem (albo tutaj: https://beta.openai.com/account/api-keys). Pod tym adresem logujesz się na swoje konto OpenAI (lub zakładasz nowe, za darmo) i klikniesz „Create new secret key”.
Kluczowi musisz nadać nazwę (np. “Make”) i przejść dalej.
W efekcie otrzymasz wartość, którą kopiujesz do Make.com.
To wszystko. Możemy przejść do zabawy!
Czas na magię!
To, jak sprawnie pójdą nam kolejne kroki, może się wydawać magiczne i moim zdaniem pokazuje ogromną siłę rozwiązań no-code, które znajdują zastosowanie w naprawdę wielu obszarach i pozwalają tworzyć narzędzia usprawniające nasze codzienne życie i pracę.
Konfiguracja modułu Transform a Text to a Structured Data wygląda tak, że najpierw wybieramy, z którego modelu językowego chcemy skorzystać. W skrócie, im wyższa wartość, tym moduł lepszy, ale nieco droższy. Na nasze potrzeby powinien wystarczyć gpt-3.5.
Następnie mówimy, z jakiego tekstu chcemy wyciągać dane (wybieramy treść naszej wiadomości e-mail, z poprzedniego modułu).
I piszemy prompt, który poinstruuje model językowy, o co właściwie nam chodzi. Możesz na początek skorzystać z mojego (nie jest idealny, ale powinien wystarczyć):
Otrzymujesz kopię wiadomości e-mail, która zawiera informacje o fakturze. Pobierz z wiadomości dane, zgodnie z założonym formatem. Wszystkie informacje zwróć w języku polskim.
Teraz naszym zadaniem będzie określenie, jakie informacje chcemy pobrać. W sekcji Structured Data Definition będziemy po kolei dodawać wszystkie parametry, które chcemy otrzymać na koniec.
Będą to:
- Nazwa sprzedającego („sprzedający”),
- Numer faktury („numer”),
- Kwota („kwota”),
- Waluta („waluta”),
- Data wystawienia („data”),
- Termin płatności („termin”),
- Status („status”).
Dla każdego pola określamy:
- Jego nazwę w strukturze (musi być uproszczona i nie zawierać spacji),
- Opis (dzięki któremu model rozpozna informację w tekście),
- Typ danych (czy chodzi nam o liczbę, tekst, czy o coś innego).
Tak wygląda konfiguracja parametru „Kwota”:
Możemy również podać przykłady wartości, dzięki którym będzie bardziej prawdopodobne, że otrzymamy prawidłowy wynik. Przyda nam się to np. w przypadku walut.
W efekcie powinniśmy uzyskać 7 pól:
Próbne uruchomienie
Nasza automatyzacja na razie umie tylko odczytać dane i nic więcej z nimi nie robi, ale w tym momencie warto na próbę ją sobie uruchomić.
Kopiujemy wartość adresu e-mail z pierwszego modułu, klikamy w przycisk „Run once” na dole kreatora automatyzacji i wysyłamy na próbę jakąś wiadomość e-mail.
Dzięki temu Make.com nauczy się, jakie parametry mamy do wykorzystania w kolejnych krokach. Możesz mi nie uwierzyć, ale… zostało nam jeszcze tylko zapisać dane do arkusza.
Zapisujemy dane
Jeszcze go nie mamy arkusza, do którego będziemy zapisywać dane. Utworzymy sobie więc nowy arkusz kalkulacyjny w Google (co ciekawe wystarczy, że klikniesz tutaj: https://sheet.new). Arkusz powinien posiadać kolumny analogiczne do danych, które odczytujemy.
Teraz przechodzimy do Make, gdzie skorzystamy z modułu Google Sheets, a konkretnej z akcji „Add a row”.
W trakcie konfiguracji tego modułu będziemy musieli dodać nowe połączenie z Google. Klikamy więc „Add” przy dostępnych połączeniach, nadajemy nazwę (lub korzystamy z domyślnej) i wybieramy „Sign in with Google)
Google poprosi nas o potwierdzenie nadania uprawnień dostępowych dla Make.com, a po ich potwierdzeniu będziemy mogli wrócić do dalszej konfiguracji.
Wybieramy z listy arkusz kalkulacyjny, który przed chwilą stworzyliśmy.
Make odczyta nagłówki kolumn i pokaże nam gotowy do wypełnienia formularz.
Wszystko, co musimy zrobić, to wstawić do poszczególnych pól dostępne parametry. Make.com rozpoznał poszczególne pola i daje nam je wprost do wykorzystania.
Konfiguracja w tym momencie wygląda następująco:
A gdy wszystko zapiszemy, klikniemy „Run once” i wyślemy przykładową wiadomość e-mail, do naszego arkusza powinien już trafić nowy wiersz.
Możemy zauważyć jednak problem. Kwota nie jest odczytywana przez arkusz jako wartość liczbowa. Jest tak dlatego, że arkusz oczekuje w niej przecinka, zamiast kropki.
Aby naprawić ten problem, wracamy do edycji modułu „Add a Row”, gdzie musimy wykonać jedną małą zmianę.
Przechodzimy do pola „Kwota”. Będziemy chcieli zamienić kropkę na przecinek. Zmiana danych w ten sposób jest możliwa z pomocą wbudowanych w Make funkcji.
Funkcje to taki mechanizm, pozwalający bezpośrednio w polach edycji modyfikować dane. W tym przypadku będzie nas interesować funkcja, która wykona w podanym tekście zamianę kropki na przecinek.
Funkcje mają angielskie nazwy, znajdujemy więc (jak można się domyślić) taką o nazwie replace
.
Ta funkcja przyjmuje 3 parametry: tekst początkowy, wartość, którą chcemy zamienić i wartość, na jaką chcemy ją zamienić.
Zamieniamy w parametrze kwota
kropkę na przecinek:
Konfiguracja po zmianach wygląda następująco:
Możemy ją ponownie przetestować i zobaczyć, że wynik tym razem jest już taki, jakiego oczekiwaliśmy.
Najwyższy czas ponownie zapisać naszą automatyzację i uruchomić jej ciągłe działanie.
Finalna automatyzacja
Ostatecznie nasza automatyzacja, która przyjmuje wiadomości e-mail, analizuje ich treść, pobierając interesujące nas parametry, a następnie wstawia te wartości do arkusza (hej, to konkretny i całkiem złożony proces!) składa się z 3 kroków:
Możemy ją oczywiście rozbudowywać dalej, ale jest to już bardzo dobra podstawa, z którą Cię dzisiaj zostawiam.
Ile to kosztuje?
Taką automatyzację na próbę można zbudować, korzystając z darmowego pakietu Make.com. Koszt Make.com będzie więc zerowy.
W tym przypadku będziemy jednak ponosić jeszcze koszty wykorzystania API GPT. Jak duże?
W trakcie pisania tego artykułu korzystałem z modelu GPT-3.5 i przeprocesowałem 10 takich wiadomości. Sumaryczne zużycie na moim koncie w OpenAI wyniosło $0.02 za 10 wiadomości.
Koszt jednostkowy jest uzależniony od długości wiadomości, a sumaryczny dodatkowo od ich liczby w miesiącu. Jak jednak widzisz, ta wartość jest niewspółmiernie niska, jeśli wziąć pod uwagę czas, który należałoby poświęcić na przepisywanie tych danych samodzielnie.
Dodatkowe informacje
Na koniec mam dla Ciebie jeszcze kilka dodatkowych wskazówek i przemyśleń, które możesz wziąć pod uwagę, nawiązując do tej automatyzacji:
- Do tak przygotowanego procesu możesz wysyłać wiadomości ręcznie lub skonfigurować sobie filtr (np. w Gmail), który będzie je automatycznie przekazywał (na podstawie listy nadawców lub słów kluczowych). O konfiguracji filtrów pisałem w tym artykule: Ukryte funkcje Gmaila, które pomogą Ci w organizacji;
- Dodając do tej automatyzacji wiedzę z poprzednich wpisów, możesz uwzględnić przypadek, w którym wiadomość e-mail ma załączniki i wziąć je pod uwagę w odczytywaniu danych. Będziesz wtedy po drodze potrzebować jeszcze modułu, który dostarczy Ci tekst z pliku pdf. Możesz użyć do tego PDF.co lub Google Cloud Vision;
- Możesz również stworzyć rozgałęzienie automatyzacji i zbudować w ten sposób bardziej złożony proces. Na przykład, jeżeli odczytany parametr kwoty jest większy niż jakaś wartość, to możesz wysyłać sobie dodatkowe powiadomienie, czy zapisać zadanie „Opłać fakturę”, jeśli ta jest nieopłacona;
- Możesz poeksperymentować także z innymi akcjami modułu „OpenAI”, w szczególności z „Create a Completion”, dzięki któremu rozwiążesz inne przypadki biznesowe — jak np. generowanie tekstów w ramach automatyzacji.
Podsumowanie
Pisząc ten artykuł, chciałem pokazać Ci dwie rzeczy:
- Po pierwsze, w jaki sposób można włączyć Sztuczną Inteligencję do naszych procesów automatyzacyjnych i przekazywać jej zadania, których realizacja w inny sposób byłaby bardzo trudna;
- Po drugie, że korzystanie z Make.com, gdy już nabierzesz w nim wprawy, pozwala na automatyzację konkretnych procesów biznesowych i to czasem nawet w trzech, prostych krokach. Ot siła i możliwości no-code;
To wszystko na dzisiaj. Daj znać w komentarzu, jakie są Twoje przemyślenia dotyczące tego wpisu. A może masz pomysł, jak konkretnie usprawnić ten proces?
Interesujące, ale np. dla potrzeb księgowych nie wystarczy, oczywiście.
Ja sobie ustawiłem jedną taką automatyzację u Klienta, ale z wykorzystaniem pakietu księgowego wfirma. System wfirma potrafi czytać faktury z Dysku Google, zakładając w nim specjalny katalog wfirma.pl i sprawdzając cyklicznie, czy nie pojawiło się tam coś nowego. Zatem, scenariusz w Make sprawdza mi (a w zasadzie Klientowi mojej księgowości 🙂 ) pocztę pod kątem tytułu ‘faktura’ lub ‘fv’, pobiera załączniki w PDF i wrzuca na Dysk Google, a wfirma już sobie je obrabia dalej.
To duże ułatwienie w pracy. Rano sobie tylko sprawdzam jakie się pojawiły dokumenty robocze, a ponieważ 99% dokumentów jest powtarzalne, wfirma już je rozksięgowuje wstępnie. Pozostaje mi tylko zatwierdzić wersje robocze, względnie – jeśli pojawi się jakiś nowy dokument – przypisać mu schemat księgowy. Oceniam, że oszczędzam w ten sposób do 15 godzin miesięcznie…