od Podstaw
3 godz. 47 min · Airtable · Biznes i Automatyzacje
Adam GospodarczykW kursie dowiesz się o najważniejszych funkcjach Airtable, stworzysz swoje pierwsze bazy a także opanujesz interfejs, widoki i inne podstawowe funkcje. Zobaczysz, jak wiele potrafi Airtable w porównaniu do Excela czy Google Sheets, a jednocześnie - jak proste i szybkie jest w codziennej pracy.
To niesamowite, jak wiele można osiągnąć wykorzystując prostą funkcję filtrowania danych w ramach widoku, której nie ma w arkuszach kalkulacyjnych. Możesz w ten sposób łatwo stworzyć ścieżki użytkowników, zawężać wyniki i przeglądać te, które na danym etapie pipeline'u są najbardziej istotne. W kursie nauczysz się pracować z widokami i zarządzać nimi w intuicyjny sposób. Wśród widoków dostępne są też kalendarze, wykresy Gantt'a, Galerie oraz bardzo przydatny widok Kanban, który pozwoli Ci zrezygnować z Trello.
Kolejną świetną opcją w Airtable są formularze, które pozwalają wypełniać Twój arkusz kalkulacyjny dowolnej osobie. To tak, jak Google Forms połączone z arkuszem Google Sheets, ale dużo prostsze i dające większe możliwości dopasowania do potrzeb użytkowników. Ponieważ formularze tworzysz w ramach widoku, pozwalają one łatwo zawęzić ilość pól do uzupełnienia na przykład do poszczególnych ról użytkowników. Możesz w ten sposób wypełniać CRM, zbierać dane, ankietować użytkowników i wiele więcej!
Prawdziwy potencjał Airtable drzemie w tym, że pod spodem jest to relacyjna baza danych, która automatycznie wystawia swoje własne API, dostępne pod konkretnym URL. Możesz korzystać z bardziej zaawansowanych funkcji, w tym automatyzacji np. z Zapier, które pozwolą Ci nadpisywać, odbierać i edytować dowolne dane. W kursie pokażemy Ci jak tworzyć takie proste, ale też bardziej złożone automatyzacje!
Airtable posiada też swoje własne integracje i pluginy w formie automatyzacji. Pozwolą Ci one na przykład wysyłać maile bezpośrednio z arkusza kalkulacyjnego, ustawiać powiadomienia, modyfikować rekordy i reagować na ich zmiany. Możesz używać nawet własnego skryptu w JS aby obsługiwać takie scenariusze. Te zaawansowane funkcje Airtable także odkryjesz w trakcie naszego kursu!
Kurs jest dla wszystkich, którzy chcą efektywnie zarządzać danymi i już korzystają z Excela lub Google Sheets, ale chcą osiągnąć znacznie więcej, w przyjaznym i szybkim interfejsie. Możliwości Airtable doceni każda osoba, która organizuje pracę, zajmuje się marketingiem, planowaniem, finansami czy buduje swoje własne aplikacje i strony WWW.
W tej lekcji przyjrzymy się nieco bardziej temu, w jaki sposób organizować informacje
w Airtable i w jaki sposób łączyć rekordy ze sobą.
To wszystko pokażę Ci na podstawie moich tabel oraz błędów, które popełniłem i
dobrych praktyk, na które chciałem zwrócić Twoją uwagę.
Pierwszą rzeczą, na którą warto zwrócić
uwagę jest odpowiednie nazewnictwo zarówno bazy danych, tabel, jak i kolumn.
Chodzi o to, że jeżeli struktury będą rosły, to będzie trudno Ci się w nich odnaleźć.
Jednocześnie też warto zachować pewną
spójność, której akurat w tym przypadku trochę brakuje.
Chodzi o spójność polegającą na tym, że
jak widzisz zapisuję tytuły kolumn w języku angielskim, przy czym zapisuje je
tutaj z wielkich liter, a w tym miejscu z małych.
Zdecydowanie lepiej jest wybrać, czy decydujemy się na małe czy wielkie litery,
bądź też czy zapisujemy nazwy kolumn po polsku.
Jeżeli tak, to czy używamy znaków polskich, czego nie rekomenduję, bądź
ewentualnie jakiś znaków specjalnych, czego również nie polecam.
No chyba, że tym znakiem specjalnym jest np.
podkreślenie. To wszystko jest istotne z tego względu,
że po prostu z tabelami, w których jest zachowana pewna spójność pracuje się po
prostu łatwiej, szczególnie później wykorzystując automatyzację.
W praktyce im bardziej intuicyjna oraz
spójne są te nazwy, tym łatwiej będzie nam to wykorzystać przy automatyzacji.
W moim przypadku akurat już nie mogę tego
zmienić, a przynajmniej jest to dość problematyczne, ponieważ mam kilkadziesiąt
różnych scenariuszy, które musiałbym poprawić w momencie, gdy np.
zmieniłbym nazwę tego pola.
Z tego powodu warto zadbać o to już na
samym początku, no ale oczywiście ja akurat uczy się na błędach i kolejne tabele,
które tworzę jak widzisz posiadają już odpowiednie nazwy kolumn.
Kolejną rzeczą, na którą warto zwrócić
uwagę jest kolumna tytułowa czy główna kolumna naszej tabeli.
Chodzi o to, że w momencie gdy łączymy ze sobą tabele np.
tak jak tutaj mamy połączenie pomiędzy
tabelą newsletter oraz links, wewnątrz której zapisane są linki, które
powiązane są z konkretnymi wydaniami newslettera.
To zwróć uwagę, że w kolumnie, w której
mamy zdefiniowane łączenie pomiędzy newsletterem a linkiem, mamy tutaj jasną
informację na temat tytułu konkretnego wydania.
W momencie gdyby tam znajdowała się jakaś inna informacja, np.
identyfikator, o którym powiem za chwilę, no to zdecydowanie trudniej byłoby mi
powiedzieć z jakim pytaniem powiązany jest określony link.
O powiązaniach czy też relacjach będziemy sobie jeszcze mówić, a tymczasem chciałbym
zwrócić Twoją uwagę na pole zawierające daty.
Tutaj również mógłbym teoretycznie zapisać
tą kolumnę wykorzystując typ Single line text, natomiast zależy mi na tym, aby
zachować odpowiedni format daty i dodatkowo w tym przypadku mamy tutaj
ikonkę pioruna, który symbolizuje, że to pole uzupełnia się automatycznie.
Mianowicie mamy tutaj typ Created time,
który ustawia wartość tego pola natychmiast po utworzeniu nowego rekordu.
Dzięki temu nie musimy o to dbać, a
jednocześnie mamy informację o tym, kiedy pojawił się dany wpis.
Taką informację możemy wykorzystać do sortowania, grupowania, bądź filtrowania i
w ten sposób wybierać odpowiednie rekordy, np.
do tego, aby posortować je od najstarszego i publikować je w naszych mediach
społecznościowych w ramach procesu ponownego wykorzystania treści.
Jednocześnie poza polem Created time mamy również pole Last modified time.
Ono również uzupełnia się automatycznie i mało tego aktualizuje się za każdym razem,
gdy zostaną dokonane jakiekolwiek zmiany w naszym wierszu.
Gdyby tego było mało, to możemy również
określić na zmiany, których kolumn chcemy tutaj reagować.
To również jest niezwykle przydatne
chociażby do tego, aby z pomocą Integromatu wybierać pola, które zostały ostatnio
zaktualizowane i dokonywać na nich jakiś modyfikacji.
Przykładowo, jeżeli w tabeli movies mam tutaj krótki tytuł, który umieszczany jest
na miniaturce, no to mogę zdefiniować sobie automatyzację,
która po aktualizacji tego krótkiego tytułu przerenderuje mi grafikę.
Jak to dokładnie zrobić będziemy sobie mówić w jednej z kolejnych lekcji.
Tymczasem wróćmy jeszcze do jednego pola, jakim jest pole ID.
Jest to specjalny rodzaj pola, której typ ustawiłem na formułę znaną chociażby z
Excela, aczkolwiek tutaj wykorzystujemy podobne, ale też nieco inne formuły.
Zatem w tym konkretnym przypadku wykonuję formułę Record ID i w efekcie wartością
tego pola będzie identyfikator konkretnego rekordu.
Co ważne, identyfikatory na przestrzeni całej bazy są unikatowe.
Oznacza to, że mamy tutaj ciągi znaków,
które reprezentują ten jeden konkretny wiersz.
Mało tego, ta informacja wykorzystywana jest do tego, aby zidentyfikować wiersz,
który ma zostać zaktualizowany w ten sposób, dodając tutaj kolumnę tego typu,
oraz ustawiając jej wartość właśnie na identyfikator rekordu.
Możemy wykorzystać tę wartość w przypadku chociażby Integromatu czy tworzenia własnych
automatyzacji z pomocą zakładki Automations.
W temacie organizacji informacji w Airtable to byłoby już na tyle.
Natomiast chciałbym zwrócić jeszcze Twoją uwagę na jeden mały fakt.
Mianowicie zwróć uwagę, że mamy tutaj w ramach jednej bazy danych kilka tabel.
Zwykle decyzję o tym, czy tworzyć nową bazę danych, czy nową tabelę podejmuję na
podstawie tego, czy chcę ze sobą łączyć te dane w jakiś sposób lub też ewentualnie,
czy są one jakoś logicznie ze sobą powiązane.
Przykładowo mam tutaj bazę danych dotyczącą newslettera serwisu eduweb.pl i
wewnątrz jej mam zdefiniowane tabele zawierające wszytstkie
informacje na temat powiązany z tym newsletterem,
natomiast już w przypadku projektu Overment.
Niemal wszystkie informacje, niezależnie
od tego, czy są to posty, newslettery, jakieś spotkania, publikacje itd.
To wszystko zawarte jest po prostu w jednej bazie danych.
W tym wszystkim tak naprawdę chodzi o dwie rzeczy.
Po pierwsze, aby się w tym wszystkim nie
pogubić, a po drugie, aby nie utrudniać sobie pracy.
Czyli jeżeli w przypadku newslettera łączę ze sobą rekordy,
to jeżeli zawierały by się one w oddzielnych bazach danych, tak naprawdę
nie miałbym łatwej możliwości powiązania tych danych.
Aczkolwiek taka możliwość oczywiście istnieje.
Zatem podsumowując, jeżeli chodzi o
organizację informacji w Airtable, zadbaj o odpowiednie i intuicyjne nazwy, odpowiednie
typy pól oraz uwzględnienie tego, w jaki sposób dane wchodzą w relacje między sobą.
Na podstawie czego możesz określić, czy
tworzyć nową bazę danych, nową tabelę, czy po prostu nową kolumnę?
I dodatkowo zadbaj również o to, aby dodać w kolumny takie jak Create Time, Update Ad
oraz kolumnę ID zawierającą formułę ustawioną na record ID.
Jest to niezbędne minimum, którego
wykorzystanie pokaże Ci teraz w praktyce na przykładzie tabeli, wewnątrz której
zapiszemy sobie posty, które mogą być publikowane w mediach społecznościowych.
Także mamy tutaj utworzoną nową bazę
danych, tabelę oraz kilka przykładowych pól, które tworzą się automatycznie.
Zwykle zaczynamy od tego, aby usunąć te
dodatkowe pola, tak by móc zdefiniować całą strukturę tabeli samodzielnie.
Następnie dbam jeszcze o to, aby zmienić nazwę głównego widoku.
Jest to istotne w kontekście tego, że możemy potem tworzyć dodatkowe widoki.
Zdecydowanie lepiej podkreślić, że np.
tutaj mamy wszystkie informacje na temat naszych postów.
Następnie musimy zastanowić się, co będzie główną kolumną naszej tabeli.
W moim przypadku zwykle jest to nazwa,
czyli krótki, opisowy tekst pozwalającymi identyfikować wpisy.
W niektórych przypadkach wybieram tutaj po
prostu formułę i wykorzystuję tutaj wspomniany record ID
do tego, aby nadać po prostu identyfikator dla poszczególnej kolumny.
Tak jak jednak powiedziałem wcześniej, zdecydowanie lepiej jest wybrać tutaj
opisową nazwę, która pomoże nam w łatwiejszej identyfikacji rekordów.
Drugim polem będzie zawartość tekstowa samego posta i zwykle nazywam taką
zawartość content, akurat na potrzeby mediów społecznościowych
nie możemy tutaj dodawać np.
pogrubienia, podkreślenia, czy pochylenia tekstu.
Natomiast już w przypadku treści na bloga,
czy na przykład treści newslettera, możemy aktywować tutaj ten checkbox, który
sprawi, że w momencie, gdy będziemy dodawać nowy wpis, możemy tutaj dodawać
pogrubienie, dodawać fragmenty kodu czy nawet linkować do zewnętrznych źródeł.
Przy okazji Integromatu pokażę Ci też, w jaki sposób zamienić tak wpisany tekst na kod HTML.
Tak czy inaczej jednak nas będzie interesowało to, aby w tym przypadku było
to faktycznie pole long text, ale bez włączonej opcji dodatkowego formatowania.
W moim przypadku zwykle publikuję te same treści na wszystkich moich kanałach,
ponieważ akurat w moim przypadku jest to jak najbardziej w porządku, ale różnicą
jest tutaj Twitter, który ogranicza nas w liczbie znaków.
Z tego powodu dodaję tutaj dodatkowe pole w postaci short content
i właśnie to pole będzie zawierało treść posta w przypadku Twittera.
Kolejnym polem, które będzie nam tutaj potrzebne, jest załącznik, czyli Attachment.
Chodzi o to, że będziemy potrzebowali tutaj grafiki dołączonej do naszego wpisu.
I tutaj możemy rozróżnić specyficzne grafiki dla konkretnego medium
społecznościowego, bądź konkretnego formatu.
Natomiast osobiście stosuję tylko podział na kwadraty oraz prostokąty.
Kwadraty wykorzystywane są w przypadku Instagrama, a w pozostałych mediach
społecznościowych wystarczy grafika w rozmiarach np.
1280 na 720.
Oczywiście to wszystko zmienia się w
czasie i warto dostosowywać swoje automatyzację do np.
zmieniającego się interfejsu Facebooka czy Instagrama.
Natomiast taki ogólny, zaprezentowany
tutaj powiedziałbym raczej sprawdza mi się bez zarzutu.
Kolejnym polem będzie data publikacji.
I tak jak powiedziałem, w przypadku dat zdecydowanie dobrym pomysłem jest
wybieranie odpowiedniego typu dla konkretnego pola.
Tutaj interesuje mnie również dołączenie godziny do naszego pola, ponieważ chcę
dokładnie określić, kiedy dany post ma zostać opublikowany.
Następnie musimy określić, czy dany post został już opublikowany i co prawda
możemy to określić na podstawie daty, ale zdecydowanie lepszym pomysłem jest
wykorzystanie tutaj checkbox, który będzie nas jasno informował o tym,
czy rzeczywiście jakiś post został już opublikowany, czy też nie.
Co ciekawe, najczęściej ten checkbox
zaznaczony jest przez automatyzację na przykład w Integromacie.
Dzięki temu posty, które zostają przez
niego zaplanowane automatycznie są oznaczane i dzięki temu nie będą np.
publikowane ponownie.
I tak w zasadzie zdefiniowaliśmy tutaj
najbardziej podstawową strukturę, którą możemy wykorzystywać.
Natomiast tak jak powiedziałem, dodaję tutaj zwykle jeszcze kolumnę Created at,
która wskazuje na czas utworzenia danego rekordu oraz kolumnę ID,
która będzie pozwalała mi identyfikować rekordy.
I tutaj wybieramy formułę Record ID.
W ten sposób nasza struktura jest już prawie kompletna, ponieważ polecam dodanie
tutaj również dodatkowego pola w postaci Multiple Select, umożliwiającego nam wybór
kanałów, na których zostanie opublikowany dany wpis.
I tutaj możemy dodać sobie Facebooka, Twittera czy np.
Instagrama.
No i tutaj oczywiście możemy jeszcze dostosować kolor.
I załóżmy, że dodamy tutaj jeszcze linkedin'a.
Dzięki temu możemy tutaj łatwo wybierać,
na których kanałach zostanie opublikowany dany wpis.
I oczywiście, aby tak się wydarzyło,
będziemy musieli to zdefiniować później w automatyzacji.
Co ciekawe, musisz wiedzieć, że jeżeli będziesz tworzyć kolejny wpis, możesz po
prostu skopiować zawartość pola pochodzącego z innego wpisu.
W tym celu wykorzystałem tutaj do
wklejenia skrót klawiszowy Command C bądź ctrl na windowsie i command V do wklejenia,
bądź też ctrl V do wklejania na Windowsie.
Mało tego, gdyby tych tagów było więcej, to nic nie stoi na przeszkodzie, aby np.
napisać je w edytorze tekstowym
i umieścić po przecinku, a następnie po prostu wkleić w to pole.
Zauważ, że Airtable odpowiednio rozpoznał tutaj
przecinek i dodał za mnie poszczególne tagi.
Coś takiego świetnie mi się sprawdziło w
przypadku dodawania tagów do filmów, w przypadku których miałem wiele tagów,
które są charakterystyczne dla mojego kanału i po prostu łatwo mogłem doklejać
je do tagów specyficznych dla konkretnego filmu.
Finalnie jesteśmy w miejscu, w którym
struktura dla naszych postów jest już tutaj gotowa i jedyne co możemy jeszcze
zrobić, to po prostu utworzyć nowe widoki dla np.
postów, które czekają w kolejce.
Zatem określamy tutaj widok jako kolejka, a następnie wykorzystujemy filtrowanie
ustawione w taki sposób, aby wybrać tutaj wyłącznie takie rekordy, w przypadku
których publikacja nie jest jeszcze zaznaczona.
Dzięki temu rzeczywiście mamy tutaj tylko jeden post i tym samym, jeżeli będziemy
korzystać z integromatu, bądź z zapiera możemy odwołać się bezpośrednio do tego
widoku i dzięki temu nie będziemy musieli tworzyć dodatkowych formuł wybierających
odpowiedni wpis, który chcemy w danej chwili opublikować.
O tym, jak to dokładnie zrobić, będziemy
sobie jeszcze mówić, a tymczasem muszę przyznać, że właśnie pokazałem Ci, w jaki
sposób sam organizuję praktycznie każdą tabelę, którą przygotowuje w Airtable.
Raz jeszcze podkreślam tutaj odpowiednie
typy danych, odpowiednie nazewnictwo oraz budowanie tej struktury, ponieważ to jak
zaplanujemy ją na początku będzie nam służyć przez naprawdę długi czas.
Oczywiście jeszcze podkreślę, że później
też będziemy mogli modyfikować i rozszerzać tą strukturę, przy czym wtedy
będzie to już nieporównywalnie trudniejsze i wymagało od nas więcej pracy.
No i w tym miejscu muszę przyznać, że dokładnie taką samą strukturę wykorzystuje
na potrzeby moich mediów społecznościowych, gdzie mam bazę danych
160 postów podzielonych na kategorie, gdzie wszystkie grafiki wygenerowały się
automatycznie, a moim zadaniem było stworzenie opisów tych postów.
Sam proces publikacji i udostępnienia ich we wszystkich moich kanałach na mediach
społecznościowych odbędzie się już w pełni automatycznie.
I tak w zasadzie już się odbywa i jak
widzisz mamy tutaj zaznaczone niektóre rekordy jako opublikowane.
To mniej więcej oznacza tyle, że przez
najbliższy rok mój harmonogram jest praktycznie wypełniony.
Oczywiście będę jeszcze publikował posty, które nie będą wchodziły w skład tego
harmonogramu, tylko będą dotyczyć treści, które powstaną w przyszłości.
Nie zmienia to jednak faktu, że mamy tutaj
dziesiątki godzin pracy, która zostanie wykonana za mnie automatycznie.
I to wszystko tylko dlatego, że
zorganizowałem sobie to w Airtable, podłączając tylko jeden bardzo prosty scenariusz.
To tutaj każdego dnia uruchamia się i
zabiera jeden wpis, udostępniając go w social media.
Mam nadzieję, że coś takiego rozbudziło Twoją wyobraźnię i podsunęło Ci też
pomysły do tego, jak możesz wykorzystać taki mechanizm u siebie.
A tymczasem ja dziękuję Ci za uwagę i zapraszam do kolejnej lekcji.