Twórz Własne Automatyzacje
3 godz. 14 min · Make · Biznes i Automatyzacje
Adam GospodarczykKorzystając z różnych narzędzi, na przykład do obsługi mailingu, masz do dyspozycji na ogół kilka wbudowanych integracji - przykładowo połączenie z kalendarzem czy bramką płatności. Wyobraź sobie, że takie narzędzie możesz połączyć praktycznie z dowolnym innym, nawet jeśli nie ma go na liście. To właśnie potencjał Make, które umożliwi takie automatyzacje.
Jeśli znasz Zapier, Make to podobna koncepcja, ale daje dużo bardziej zaawansowane możliwości, jest dużo tańsza (lub darmowa) a dodatkowo, ma naszym zdaniem bardziej przyjazny i czytelny interfejs zwłaszcza przy tworzeniu rozgałęzionych scenariuszy. Tworzenie automatyzacji z Make to czysta przyjemność i zdrowa porcja dopaminy!
Co najważniejsze, Make umożliwia tworzenie automatyzacji bez użycia ani jednej linii kodu! To jak programowanie 2.0, gdzie rezultaty widzisz i testujesz w prostym, wizualnym edytorze. To najłatwiejszy sposób aby zacząć przygodę z programowaniem i nowoczesnym podejściem do technologii no-code i low-code.
Mimo, że Make jest natywnym środowiskiem no-code, osoby, które nieco lepiej rozumieją zasady działania protokołu HTTP i API i mają podstawy programowania w JS, otrzymują zupełnie nowe możliwości tworzenia oprogramowania, w sposób wizualny i prostszy niż kiedykolwiek. Jeśli osoby początkujące z Make stają się programistami, programiści stają się superbohaterami!
Wyjątkowe w Make jest podejście do tworzenia automatyzacji wizualnie, gdzie bardzo czytelne jest całe flow scenariusza i to, jak przepływają w nim dane. Zaawansowane możliwości jak stosowanie filtrów czy funkcji sprawia, że w tak prostym interfejsie w zasadzie nie ma zadań niemożliwych!
Z dowolnego narzędzia możesz wysłać dane w postaci Webhooka do Make, które zostaną natychmiastowo odebrane. Następnie możesz łatwo przekazać je w dowolne miejsce i do dowolnego narzędzia - na przykład Airtable, z którego często korzystamy aby gromadzić dane, HubSpot'a, Asany czy wysłać powiadomienie SMS, e-mail, Slack. Całość zajmie Ci kilka minut.
Ten kurs jest przeznaczony dla każdej osoby, która chce pracować wydajniej i zatrudnić roboty (automatyzacje), które wykonają za nią powtarzalne zadania. Dzięki temu, zwiększysz efektywność swojej pracy oraz zostaniesz bohaterem automatyzacji w swojej firmie. Osoby, które przerobiły kurs HTTP i API, a także programiści, mogą wycisnąć z tego kursu jeszcze więcej, na dobre zmieniając swoje podejście do automatyzacji. Polecamy wcześniejsze przerobienie przynajmniej kursu HTTP i API, aby lepiej zrozumieć omawiane zagadnienia.
Cześć!
W tej lekcji pokażę Ci, w jaki sposób możesz tworzyć własne moduły w Integromacie
wykorzystując tą oto dokumentację i można ją nawet porównać do jakiejś rozbudowanej
biblioteki bądź frameworka wykorzystywanego przez programistów.
Natomiast jednocześnie takie podstawowe tworzenie modułów nie wymaga nawet
skomplikowanej wiedzy programistycznej, tylko co najwyżej oswojenia się z
obiektami JSON oraz umiejętności posługiwania się protokołem HTTP.
Tutaj w pierwszej kolejności zaznaczę, że aby utworzyć aplikację przechodzimy do
panelu My Apps, a następnie wybieramy opcję Create a new app.
Jednak zanim to zrobimy, chciałbym
powiedzieć Ci, dlaczego w ogóle chcemy tworzyć własne aplikacje.
Otóż może to nas interesować w trzech scenariuszach.
Pierwszy uwzględnia sytuację, w której jesteśmy programistami.
Stworzyliśmy jakąś aplikację, a następnie chcemy stworzyć integrację w Integromacie.
Coś takiego, jak widzisz, wykorzystałem
już wielokrotnie do stworzenia aplikacji, które sam projektuję.
Drugim scenariuszem, w przypadku których własne moduły mogą okazać się przydatne,
jest sytuacja, w której masz często powtarzany scenariusz.
Tutaj, tak jak pokazywałem, możesz
zaprojektować w taki sposób, aby używać go wielokrotnie.
W takiej sytuacji możesz nawet przygotować
moduł, który umożliwi Ci łatwe uruchomienie tego scenariusza i
przekazanie na niego odpowiednio sformatowanych danych.
No i ostatnim scenariuszem, którego osobiście jeszcze nie wykorzystywałem,
jest projektowanie aplikacji, które wykorzystują API jakichś usług bądź
aplikacji, które jest dostępne dla użytkowników, ale jednocześnie te usługi
czy aplikacje nie są dostępne z poziomu Integromatu.
W takiej sytuacji możemy stworzyć
własną, nieoficjalną integrację, która będzie dostępna tylko dla nas.
I swoją drogą, jeżeli jesteśmy już w temacie dostępności, to jak widzisz
niektóre moje aplikacje są oznaczone jako publiczne, a inne jako prywatne.
Dodatkowo chciałbym tutaj podkreślić jeden mały fakt.
Mianowicie pomimo tego, że np.
integracja EasyBanner jest dostępna
publicznie, nadal jest ona dostępna tylko w ramach zaproszenia.
Aby nasza aplikacja była dostępna globalnie w samym Integromacie, wymagane
jest przejście całego i długiego procesu review ,który składa się
z etapu automatycznego oraz ręcznego. W tym procesie weryfikowana jest bardzo
długa chesklist'a lista oczekiwań Integromat'u względem nas projektantów aplikacji.
Do tego, aby nasz moduł mógł zostać
zaakceptowany i tym samym udostępniony wszystkim użytkownikom.
Dla mnie osobiście nie ma z tym
najmniejszego problemu, ponieważ większość modułów tworzę na własne potrzeby lub też
po prostu sprzedaję, udostępniając również link do zaproszenia.
Wracając jednak do projektowania naszej
aplikacji, to na samym początku chciałbym skupić się na tym scenariuszu, w którym
projektujemy aplikację jako programiści i chcemy podłączyć ją do Integromatu.
Ponieważ nie będziemy tego robić krok po
kroku, aczkolwiek dla osób, które są tym zainteresowane dodam tylko, że jedyne co
musimy zrobić po zaprojektowaniu aplikacji, to po prostu udostępnić ją pod
określonym adresem oraz utworzyć specjalny endpoint w naszej aplikacji, umożliwiający
połączenie z pomocą wybranego przez nas procesu.
Dla przykładu w moim przypadku
uwzględniamy tutaj klucz API i mamy specjalny endpoint, na który kierowane
jest zapytanie w momencie tworzenia połączenia i oczekiwanie Integromatu
sprowadza się tutaj do tego, aby z tego
adresu URL otrzymać status 200, sygnalizujący, że w tym przypadku klucz
API został poprawnie odnaleziony i zatwierdzony.
Poza tym wszystkie pozostałe kroki będą tutaj wspólne dla każdego scenariusza
wykorzystania możliwości tworzenia modułu w Integromacie.
No i teraz tak naprawdę w temacie tworzenia aplikacji tak naprawdę
najbardziej interesują Cię te trzy zakładki.
Pierwszym z nich będzie połączenie, o
którym już powiedziałem i ono akurat będzie wykorzystywane tylko w przypadku,
gdy łączysz Integromat z własną aplikacją, bądź też łączysz się z gotowym API.
W przypadku tworzenia modułów, który
będzie stworzony po to, aby wywoływać Twoje scenariusze w Integromacie.
Zakładka połączenia nie jest tutaj wymagana.
Następną zakładką jest opcja tworzenia webhook'ów, które
w tym przypadku po prostu nazywamy,
a następnie ustalamy, czy chodzi tutaj o dedykowany adres URL czy współdzielony.
Różnica pomiędzy nimi jest taka, że w przypadku współdzielonego adresu URL
musimy wskazać tutaj połączenie i webhook generowany jest przez aplikację, a w
sytuacji, gdy mamy dedykowany adres URL, tutaj nie musimy podawać połączenia, o ile
webhook nie jest rejestrowany przez naszą aplikację.
W praktyce webhook generowany jest analogicznie jak natywny webhook Integromatu,
którego adres możemy po prostu ręcznie skopiować i wkleić do aplikacji, która go
wymaga lub nawet wywołać ręcznie z poziomu Insomni czy Postman'a.
Natomiast jednocześnie, jeżeli aplikacja to wspiera, możemy tutaj ustawić
połączenie, a następnie skonfigurować webhook tak, aby był podłączany oraz
odłączany automatycznie bez konieczności ręcznego wklejania.
Poza tym możemy tutaj określić strukturę danych, które do nas wracają oraz
parametry, które należy podać w momencie tworzenia takiego webhook'a.
Ja osobiście zwykle nie korzystam z tego pola.
Natomiast takie parametry możemy spotkać
chociażby w przypadku WebFlow, gdzie mamy tutaj webhook powiązane ze zdarzeniami.
W momencie jego tworzenia nie tylko określamy jego nazwę, ale również podajemy
dodatkowe informacje, które pozwalają podłączyć go do odpowiedniego projektu.
Zatem jak widzisz, coś takiego również może okazać się przydatne.
Natomiast na potrzeby tworzenia prostych
automatyzacji w zupełności nie jest potrzebne.
Jeżeli chodzi o webhook'i, również nie będziemy się tutaj za bardzo skupiać.
Ze względu na to, że ten moduł będzie
przydatny nam tylko wtedy, gdy rzeczywiście będziemy pracować z aplikacją
udostępniającą API zaprojektowane przez nas lub też ewentualnie w pojedynczych
przypadkach będziemy podpinać się pod API usług, które faktycznie
podobnie jak WebFlow, oferują możliwość podłączenia webhook'ów.
W każdym razie z mojego punktu widzenia
jest to zaawansowana opcja, którą można pominąć.
Jednocześnie też gorąco zachęcam Cię do tego, aby w momencie projektowania własnej
aplikacji, gdy tylko coś nie będzie dla Ciebie jasne, to w takich sytuacjach warto
sięgnąć do dokumentacji i zobaczyć opisy, które przygotował tutaj zespół Integromat'u,
które w mojej opinii stanowią naprawdę dobrą dokumentację, ponieważ za każdym
razem, gdy do niej sięgam, otrzymuję odpowiedź na moje zapytanie.
Jedyną rzeczą jest tak naprawdę skorzystanie z wyszukiwarki i wpisanie
słowa kluczowego, na którego temat chcemy dowiedzieć się więcej.
Wracając jednak do możliwości tworzenia aplikacji.
Kolejną zakładką jest zakładka modułów,
która jak sama nazwa wskazuje umożliwia tworzenie nowych modułów.
Tutaj w pierwszym kroku możemy wskazać ich typ i zwykle wybieramy tutaj akcję.
Natomiast równie dobrze możemy tutaj wybrać opcję polling lub webhook, w
przypadku którego podłączamy wcześniej zdefiniowany webhook.
Natomiast w przypadku polling'u
mamy tutaj do czynienia z akcją, którą możemy spotkać np.
w WooCommerce.
W momencie, gdy obserwujemy jakieś zdarzenia takie jak np.
nowe zamówienia.
Dodatkowo mamy tutaj również opcję search, która również jest dostępna tutaj.
Oddzielona grupą dokładnie o takiej nazwie.
Co prawda na nasze potrzeby nie musimy grupować
w ten sposób naszych akcji, natomiast jest to wskazane, aby akcje
odpowiedzialne za wyszukiwanie zasobów były umieszczone w tej grupie.
Idąc dalej możemy tutaj skonfigurować
połączenie, które jest wymagane dla danej akcji.
Następnie mamy tutaj pole na nazwę i ta nazwa nie może zawierać spacji, więc jest
bardziej wykorzystywana w celach programistycznych.
Natomiast dla użytkownika możemy tutaj
podać etykietę, która będzie wyświetlać się dokładnie na tej liście.
Tak samo możemy podać pole opisu, które również zostanie wyświetlone na liście.
Po dodaniu takiej akcji ponownie
przechodzimy do kolejnego interfejsu, w przypadku którego musimy skonfigurować
sposób połączenia a w zasadzie przesyłania danych.
Zatem jak widzisz, konfiguruje tutaj
obiekt połączenia zawierający informacje na temat tego, na jaki endpoint zostają
wysłane dane oraz to jaką metodą jest to zrobione.
Następnie mamy tutaj parametry query string oraz samo ciało zapytania i
ewentualnie nagłówki oraz określenie struktury odpowiedzi.
Następnie w drugiej zakładce, analogicznie jak pokazywałem wcześniej możemy ustawić
parametry wymagane w przypadku konfiguracji tego modułu.
Natomiast również w tym przypadku nie zdarzyło mi się z nich jeszcze skorzystać.
Znacznie bardziej użyteczną zakładką jest
zakładka Parameters, która umożliwia zdefiniowanie struktury,
która pojawia się po wybraniu konkretnego modułu.
Czyli np. jeżeli tutaj usuwamy sobie produkt, to możemy określić, że wymaganym
parametrem jest tutaj podanie jego identyfikatora.
Aby takie pole zostało tutaj wyświetlone,
musimy po prostu określić obiekt JSON zawierający nazwę tego pola i jego typ,
etykietę oraz to, czy ewentualnie jest wymagana.
Oczywiście opcji, które mamy tutaj do dyspozycji jest znacznie więcej i
szczegóły na ich temat znajdziemy w samej dokumentacji.
Natomiast tymczasem to, co musisz jeszcze wiedzieć na temat konfiguracji modułów
jest zakładka Interfejs, w ramach której możesz zdefiniować strukturę obiektu, w
której użytkownik może spodziewać się po wykonaniu tego modułu.
Coś takiego okazuje się niesamowicie
przydatne na potrzeby sytuacji, w której mapujemy dane.
Mianowicie, jeżeli taki interfejs zostanie zdefiniowany od razu po podłączeniu tego
modułu, będziemy mieć dostęp do zdefiniowanych w tej zakładce właściwości.
Z poziomu tego okienka mapowania wartości.
Inaczej mówiąc obiekty, które zdefiniujesz
tutaj zostaną wyświetlone jako domyślne wartości dostępne w mapowaniu.
Oczywiście coś takiego nie jest wymagane,
ponieważ po wykonaniu modułu otrzymujemy dane, które możemy podłączyć, natomiast z
całą pewnością ułatwia to korzystanie z tego modułu.
Dodatkowo to na co muszę zwrócić Twoją
uwagę to fakt, że tutaj nie musisz tworzyć samodzielnie.
Wystarczy, że posiadasz obiekt JSON,
który chcesz przerobić na taki interfejs i po kliknięciu generuj otrzymujesz
strukturę, którą możesz wkleić do tamtego pola.
Dzięki temu możesz zaoszczędzić mnóstwo czasu przy projektowaniu własnych modułów.
No i teraz ostatnią zakładką, którą tutaj mamy jest zakładka Samples umożliwiająca
przekazanie przykładowego obiektu, który może zostać zwrócony z Twojego modułu.
Jest to dodatkowe ułatwienie w momencie korzystania z tego modułu ze względu na
to, że w takiej sytuacji oprócz możliwości mapowania
poszczególnych właściwości.
Będziesz mieć również podgląd tych
domyślnych wartości, które zostały zdefiniowane właśnie w tym miejscu.
I tak naprawdę w tym momencie doszliśmy do
momentu, w którym wiesz wszystko na temat przygotowywania własnych modułów.
Mamy tutaj jeszcze dodatkowe zakładki,
takie jak zdalne procedury, które również są zaawansowanym tematem oraz możliwość
grupowania poszczególnych modułów wykorzystując ich nazwy.
Takie grupowanie również ułatwia
późniejsze wchodzenie w interakcję z Twoim modułem.
To na co muszę jeszcze zwrócić Twoją uwagę
przed zakończeniem tej lekcji, to to, aby zachęcić Cię do tego, aby przejrzeć
aplikacje, które zostały zdefiniowane tutaj.
Szczerze mówiąc, nie jestem pewien, dlaczego akurat wyświetlają się tutaj
niektóre aplikacje, natomiast z całą pewnością warto sobie podejrzeć np.
to, w jaki sposób Dropbox obsługuje
kwestię podstawowych ustawień, połączenia, czy konfiguracji poszczególnych modułów.
Wielokrotnie zdarzyło mi się skorzystać z
przeglądania tych akcji do tego, aby konfigurować własne moduły.
Wystarczy po prostu odszukać analogiczną akcję, którą chcemy wykonać, a następnie
podejrzeć, w jaki sposób jest ona zrealizowana w przypadku np.
Dropboxa. Zatem jeżeli chodzi o teorię tworzenia
własnych modułów Integromacie, to byłoby już na tyle.
Zatem dziękuję Ci za uwagę i zapraszam do kolejnej lekcji.