Po ostatnim wpisie na blogu, w którym tworzyliśmy pierwszą automatyzację, miałeś/aś trochę czasu, żeby zapoznać się z interfejsem Make.com i spróbować we własnym zakresie się nim pobawić.
Dzisiaj przychodzę do Ciebie z kolejnym krokiem. O ile nasza pierwsza automatyzacja była już nawet przydatna, o tyle jednocześnie była bardzo liniowa. Wszystko, co robiła, to za każdym razem, gdy otrzymywaliśmy wiadomość e-mail ze słowem „faktura” i załącznikami, to przenosiła te załączniki z wiadomości e-mail do folderu w Dropbox.
To bardzo prosta, jednokierunkowa lista zadań. Życie nie zawsze jest jednak takie proste, a już na pewno nie są takie automatyzowane przez nas procesy. Dlatego dzisiaj pójdziemy o krok dalej i stworzymy coś bardziej złożonego.
Aby zrozumieć całość dzisiejszego wpisu, będziesz potrzebować wiedzy z artykułu: Twoja pierwsza automatyzacja w Make.com
Proces, który dziś zautomatyzujemy
Dzisiaj stawiamy przed sobą nieco ambitne z pozoru zadanie. Oto co zrobimy. Wiele twórców online korzysta z Notion do planowania treści do publikacji online. Dzięki temu, że Notion ma bogate możliwości konfiguracji, czy różne widoki (w tym np. widok kalendarza), jest dobrym wyborem do tego celu.
Istnieje jednak pewien problem z tym związany — Notion, o ile jest dobrym narzędziem do tworzenia i planowania, o tyle, kiedy przychodzi do właściwej publikacji, to jego możliwości się kończą. Przygotowane treści musimy publikować ręcznie lub przenosić do innych narzędzi, w których możliwe będzie ich zaplanowanie.
A gdyby jednak nie trzeba było tego robić? Gdybyśmy publikowali treści bezpośrednio z Notion?
Taaadaa — oto nasze dzisiejsze zadanie.
Przygotujemy sobie automatyzację, która pozwoli nam na planowanie publikacji postów w social media, bezpośrednio w Notion.
Przyjmujemy następujące założenia:
- Budujemy (lub mamy) w Notion system tworzenia, planowania i publikacji treści w social media;
- Chcemy, aby wszystkie treści, które są oznaczone jako gotowe do publikacji, zostały opublikowane w konkretnym czasie (w pakiecie darmowym Make możemy liczyć na dokładność do 15 minut, a w płatnym do 1 minuty);
- Chcemy w całości opierać proces tworzenia i publikacji na Notion, wspierając się automatyzacją z Make;
- Zamierzamy publikować na Facebook, Instagram i LinkedIn;
- Do każdego postu będziemy zawsze dodawać jedno zdjęcie (dla ułatwienia, ale opowiem Ci też, jak publikować posty bez grafik lub z wieloma grafikami);
Ważna informacja! Jeżeli korzystasz z darmowego pakietu Make, to Twoje posty będą mogły być publikowane z dokładnością do 15 minut. W pakiecie płatnym jest to 1 minuta.
Nasz proces będzie wyglądać więc następująco:
- Pobieramy z Notion wszystkie treści gotowe do publikacji w danym momencie;
- Sprawdzamy, do jakich serwisów przeznaczone są te treści;
- Dokonujemy publikacji;
- Oznaczamy, które treści zostały opublikowane;
Proces wydaje się całkiem prosty, ale w odróżnieniu od naszej pierwszej automatyzacji pojawi się tutaj kilka wyzwań do rozwiązania.
Tworzymy strukturę w Notion
Zaczniemy od tego, aby stworzyć strukturę treści w Notion.
Jeśli już taką masz, to upewnij się, że zawiera ona pogrubione elementy.
- Nazwa publikacji;
- Grafika (File & media);
- Data publikacji (24h, pełna data);
- Serwisy do publikacji (instagram, LinkedIn, Facebook);
- Status (oczekuje, w trakcie, gotowe, opublikowane; wykorzystamy do tego zwyczajne pole Select, a nie pole Status z Notion);
- Po otworzeniu każdego elementu możemy wpisać w nim treść — to będzie nasze główne miejsce pracy;
Uważaj! Ze względu na limity ilości znaków w różnych serwisach, musisz zawsze upewnić się, że Twoja treść jest zgodna z zasadami. Jeżeli Twój tekst będzie dłuższy, niż dopuszczalny limit, to automatyzacja nie opublikuje takiej treści. Musisz samodzielnie upewnić się, że tak nie jest… lub dodać sprawdzanie do automatyzacji.
Aby było nam łatwiej, możemy dodać do naszej tabeli przykładowe treści, jeśli takich jeszcze nie mamy.
Lista postów do publikacji
Pierwszym krokiem naszej automatyzacji będzie połączenie z Notion i pobranie wszystkich treści, które mamy opublikować.
Znajdujemy więc na liście modułów Notion i szukamy w nim akcji „Search Objects”. Potrafi ona wyszukiwać w określonej tabeli Notion wiersze, według podanych parametrów. Dokładnie o to nam chodzi — szukamy wierszy z odpowiednim statusem i datą.
Do konfiguracji tego modułu będzie nam potrzebne ID naszej tabeli (inaczej zwanej też Bazą danych -> Database ID). Wpisujemy je, aby zobaczyć resztę pól konfiguracyjnych i przechodzimy do konfiguracji parametrów zapytania.
Będą interesować te pozycje, które są już gotowe (pole „Status” mają ustawione na „Gotowe”) i których data publikacji jest przed chwilą obecną (nawet jeżeli automatyzacja zostanie wykonana kilka minut po preferowanej dacie, to wciąż publikacje zostaną znalezione).
Konfiguracja filtrów wygląda następująco:
Na koniec określamy, jak dużo elementów ma być pobranych jednorazowo. W naszym przypadku wystarczy, jeśli będzie to 10. Jeżeli w danym momencie wpisów będzie więcej, niż 10, to kolejna porcja zostanie po prostu przetworzona przez kolejne wykonanie automatyzacji.
Każdy wiersz w tabeli, który spełnia te warunki, będzie oddzielnie przepuszczony przez naszą automatyzację — dla każdego z nich zostaną wykonane kolejne kroki.
Automatyzacje w Make warto często uruchamiać i sprawdzać ich efekt. Dlatego, mimo że nasz obecny proces składa się, na razie, z tylko jednego kroku, uruchomimy automatyzację na próbę i sprawdzimy, jakie dane pobrała.
Poznajemy dane wejściowe
Po pierwszym uruchomieniu automatyzacji możemy podejrzeć, jakie informacje otrzymuje Make. Jeżeli wcześniej nie dodawałeś/aś danych testowych do swojej tabeli, to dobrym pomysłem będzie zrobić to teraz.
Po pobraniu danych będziemy mogli zobaczyć, jakie dokładnie informacje otrzymujemy na początku. Znajdziemy wśród nich np. datę utworzenia strony, jej ID, adres URL, czy wszystkie parametry (kolumny) z tabeli.
Co ciekawe, nigdzie nie widać jednak właściwej treści naszej strony.
Aby ją pobrać, będziemy potrzebowali wykonać drugi krok. Skorzystamy z modułu Notion -> List Page Contents.
W tym module jako parametr Page ID wykorzystamy wartość z pobranej wcześniej strony.
Tak przygotowaną automatyzację możemy ponownie uruchomić i zobaczyć, jaki efekt otrzymaliśmy dla List Page Contents.
To jest ten moment, w którym następuje pierwsza chwila załamania — dlaczego te dane wyglądają na tak skomplikowane? Co robią tutaj te wszystkie „Bundle”? Gdzie są drzwi?!
Spokojnie, zostań ze mną. Niedługo wszystko wyjaśnimy.
Poznajemy agregatory
Moduł „List page contents” zwrócił nam dużo elementów typu Bundle.
Make działa tak, że jeżeli w jakimś miejscu pojawiają się bundle, to działa to na niego jak pętla — kolejne kroki automatyzacji są wykonywane dla każdego bundle oddzielne.
No a my chcemy przecież dodać jeden post, a nie 10.
Dlaczego w ogóle otrzymaliśmy taki wynik? Ponieważ Notion traktuje każdy paragraf w naszej treści jako oddzielny element i w ten sposób ją zwraca. Każdy z tych 10 bundli to jeden akapit / jedna linia tekstu.
Aby rozwiązać ten problem, musimy powiedzieć naszej automatyzacji „Hej! Ja to bym chciał/a, żeby te wszystkie bundle złączyły się w jedno!”.
W tym celu w automatyzacji możemy skorzystać z agregatorów. Znajdziemy je w kategorii „Tools”.
W Make mamy do dyspozycji 3 rodzaje agregatorów:
- Table aggregator — grupujący bundle do formatu tablicy elementów;
- Text aggregator — grupujący elementy z bundli do formy tekstu;
- Numeric aggregator — umiejący liczyć sumę lub średnią z dostarczonych wartości;
Nam będzie potrzebny Text aggregator. Będziemy chcieli w efekcie uzyskać treść naszego postu, gotową do publikacji w social mediach.
Dodajemy więc Text Aggregator i łączymy go z naszym List Page Contents. Nie jest łatwo znaleźć interesujący nas parametr do agregacji, ale spieszę z informacją że będzie to Paragraph.rich_text[].plain_text
.
Co istotne, domyślnie agregator będzie ściskał nasze treści i nie zostawi im żadnej przestrzeni pomiędzy akapitami. Gdy jednak włączymy ustawienia zaawansowane (lewy, dolny róg okienka konfiguracji agregatora), to zobaczymy m.in. pole Row separator. Ustawiamy jego wartość na “New row”, aby “aktywować” odstępy.
Agregator powinien być skonfigurowany następująco:
To wszystko powoduje, że nasza automatyzacja wygląda mniej więcej tak:
I możemy ruszyć do dalszego boju!
Bliższe spojrzenie na warunki
Czas powoli przechodzić do samego publikowania naszych treści. Mamy już wszystko, czego do tego potrzebujemy — treść naszego wpisu i wszystkie parametry strony, które posłużą nam do sterowania publikacją.
Teraz musimy wykonać następujące kroki:
- Po pierwsze wypada nam zmienić status publikacji, aby ponowne uruchomienie automatyzacji nie spowodowało, że posty opublikują nam się jeszcze raz. Zmienimy status na „Opublikowane” (dla ułatwienia, bo w tym momencie jeszcze nie do końca jest to prawdą);
- Następnie powinniśmy sprawdzić, w jakich serwisach ma być opublikowana treść i w zależności od wyboru, dokonać publikacji;
Pierwszy krok zrealizujemy przez wstawienie modułu Update a Database Item, w którym będziemy potrzebowali ustawić ID naszej bazy danych (Database ID), id elementu (Page ID) oraz oznaczenie, co ma zostać zmienione (Key=Status, Type=Select, Value=Opublikowane).
Teraz możemy przejść do właściwej publikacji. Przypomnijmy, że w zależności od naszego wyboru, chcemy publikować na 3 platformach: Instagram, LinkedIn, Facebook, ale tylko wtedy, kiedy treść będzie oznaczona odpowiednimi wyborami.
W tym miejscu nasza automatyzacja musi więc się podzielić na kilka odnóg. Pomoże nam w tym wbudowany w Make moduł pomocniczy: Router.
Mówiąc wprost, Router pozwala na rozgałęzienie naszej automatyzacji na kilka odnóg. Każda z takich odnóg może być wykonywana każdorazowo lub możemy wskazać warunki, które muszą być spełnione, aby dana ścieżka została „aktywowana”.
I właśnie ten element pozwoli naszej automatyzacji publikować treści w konkretnych serwisach tylko wtedy, kiedy tego oczekujemy. Chcemy przy każdej treści móc wybrać z dostępnej listy, do których serwisów dana treść jest przeznaczona i aby automatyzacja respektowała ten wybór.
Zacznijmy od tego, żeby utworzyć router i dodać 3 moduły Instagrama, LinkedIna i Facebooka, służące do publikacji postów.
Następnie klikamy w ikonę ustawień przy każdej ścieżce i wybieramy „Set up a Filter”.
W oknie konfiguracji filtra wpisujemy jego nazwę (np. Post LinkedIn), a poniżej konfigurujemy filtr. Znajdujemy na liście zmiennych pole Properties Value.Rodzaj[ ]: Name
wybieramy warunek „Contains” i podajemy wartość „LinkedIn”. Analogicznie dla pozostałych ścieżek (Instagram i Facebook).
Dzięki temu automatyzacja będzie sprawdzać, jakie wartości wybraliśmy w polu „Rodzaj” i dokona publikacji w określonych przez nas miejscach.
Publikujemy!
Wydaje się, że mamy już wszystkie składowe, potrzebne do publikacji — mamy pobraną treść posta i jego parametry, wiemy, gdzie chcemy publikować i mamy już nawet przygotowane do tego moduły. Przejdźmy do ich konfiguracji.
Musimy po kolei kliknąć każdy z modułów, a następnie wypełnić danymi dostępne tam formularze.
To, co mamy do dyspozycji (i czego potrzebujemy) obecnie to:
- Treść naszego posta, znajdująca się w parametrze
text
modułuText agreggator
; - Adres URL grafiki do publikacji, w polu
Properties Value.Pliki[]: File.URL
- Pozostałe parametry naszego obiektu z Notion — gdyby jakieś nam były jeszcze potrzebne;
Facebook i Instagram
Bez problemu możemy wykorzystać te informacje do konfiguracji Instagrama i Facebooka.
W przypadku LinkedIna sprawa nam się nieco skomplikuje. Okazuje się bowiem, że w tym module nie wystarczy, że dostarczymy adres URL obrazka do publikacji. Ten serwis wymaga od nas fizycznie gotowej treści obrazka, podczas gdy my mamy, na razie tylko adres URL.
Pobranie pliku będzie możliwe za pomocą modułu HTTP i akcji „Get a file”. Wystarczy w formularzu wybrać parametr z adresem URL obrazka (Properties Value.Plik[]: File.URL
).
Musimy jednak ten moduł wstawić przed klocek z LinkedInem. Jak to zrobić?
Najlepiej będzie zrobić to tak:
- Dodajemy akcję pobierania pliku i podłączamy ją za modułem LinkedIn;
- Usuwamy moduł LinkedIn;
- Dodajemy nowy moduł LinkedIn za plikiem;
Dlaczego tak? Bo nie stracimy wtedy skonfigurowanego wcześniej filtra. Gdybyśmy najpierw usunęli moduł LinkedIn, a później dodawali nowe, to musielibyśmy filtr skonfigurować jeszcze raz. Nie chcemy mieć więcej pracy, co nie? 😄
Nasza odnoga z LinkedIn powinna obecnie wyglądać tak:
A konfiguracja modułu HTTP tak:
Gdy mamy już plik, to moduł LinkedIna sam rozpozna go w formularzu. Pozostanie nam uzupełnić jedynie pola Title i Description (możesz użyć nazwy Twojej strony z Notion, czyli parametru Properties Value.Nazwa[]: Plain text
) oraz treści postu w sekcji Content.
Gotowa automatyzacja
Finalnie nasza automatyzacja w tym momencie przedstawia się następująco:
Pozwala przy tym publikować treści bezpośrednio z Notion do wybranych sieci społecznościowych.
Jeśli tylko masz ochotę, możesz eksperymentować bardziej, oto kilka pomysłów:
- Facebook i LinkedIn pozwalają na publikację postów bez grafik. Możesz dodać odpowiednie moduły i dodać warunek „jeśli nie ma grafik, to idź taką ścieżką”;
- Facebook i Instagram pozwalają na publikowanie postów z wieloma grafikami, ale również są to oddzielne moduły. Możesz spróbować je skonfigurować;
- Śmiało dodawaj obsługę innych sieci społecznościowych, z których korzystasz;
Pamiętaj, że automatyzacja powinna usprawniać Twój proces, a nie czynić go bardziej złożonym, dlatego eksperymentuj i dostosuj stworzoną automatyzację do swoich potrzeb.
Czy to ma w ogóle sens?
Na stworzenie tej automatyzacji za pierwszym razem z pewnością potrzebowałeś/aś dłuższej chwili. Im więcej takich automatyzacji zbudujesz, tym w przyszłości będzie Ci to przychodzić sprawniej.
Możesz się jednak zastanawiać, czy to ma w ogóle sens? Przecież istnieją usługi pozwalające planować z wyprzedzeniem publikację postów w social media?
Oczywiście, czasami lepiej jest skorzystać z gotowca. Jeśli jednak Twój proces tworzenia treści jest oparty o Notion, to dlaczego by nie publikować od razu z niego?
Co według mnie daje nam taka automatyzacja?
- Wiele osób tworzy i planuje treści w Notion. Dzięki tej automatyzacji dodajemy do tego procesu możliwość ich publikowania;
- Jeśli nie potrzebujemy niczego więcej, to nie musimy płacić za subskrypcję dodatkowego narzędzia;
- Nauczyliśmy się wspólnie się nowych rzeczy;
- Mamy kontrolę nad tym, co po kolei się dzieje w tym przykładzie. Jeśli dojdziemy do wniosku, że chcemy wykonać dodatkowe kroki albo rozszerzyć publikację jeszcze o inne miejsca, to nic nie stoi na przeszkodzie;
Jeśli jednak dojdziesz na jakimś etapie do wniosku, że chcesz korzystać do planowania treści np. z aplikacji Buffer, to nic prostszego — Make posiada integrację z Buffer, możesz więc podmienić publikację bezpośrednią na zapisanie postów do publikacji w Make. Unikniesz dzięki temu kopiowania treści ręcznie.
Podsumowanie
Automatyzacja, którą stworzyliśmy w tym artykule, może Ci pozwolić oszczędzić trochę czasu każdego miesiąca, jeśli zajmujesz się publikowaniem postów w sieciach społecznościowych.
Jeśli jednak ten przypadek biznesowy nie jest Ci bliski, to wciąż możesz wykorzystać tę wiedzę do budowania innych automatyzacji.
Poznaliśmy dzisiaj narzędzia pomocnicze w Make, takie jak agregatory, czy routery, a także zobaczyłeś/aś na własne oczy, jak działają warunki. Z tymi informacjami możesz już tworzyć bardziej złożone automatyzacje, które pozwolą Ci oszczędzać jeszcze więcej czasu.
[…] Jak sterować przebiegiem automatyzacji w Make?; […]