Dzięki narzędziom no-code
8 godz. 15 min · Make · Biznes i Automatyzacje
Grzegorz RógIdea ArchitectW kursie dowiesz się, czym jest no-code i jak działają proste rozwiązania do tworzenia stron WWW w oparciu o tą technologię. Wyjaśnię Ci, jakie możliwości są teraz dostępne i które z web builderów warto rozważyć przy tworzeniu kolejnego projektu. Będziesz tworzyć strony głównie z użyciem wizualnych edytorów, co nie wymaga znajomości kodowania na start i umożliwi Ci przygotowanie landing page'a promocyjnego, portfolio, wizytówki, prostego MVP i wiele więcej!
Na przykładzie prostego edytora, jakim jest Carrd, pokażę Ci jak w praktyce przygotować prosty landing page dla pierwszej wersji produktu, do sprzedaży e-booka czy dowolnych innych zastosowań. Carrd jest niezwykle przyjazny i nawet osoby, które wcześniej nie miały żadnej styczności z tworzeniem stron WWW będą w stanie opublikować swoje pierwsze witryny! Ma też szereg przydatnych opcji, które pozwolą nam wyjaśnić kluczowe pojęcia no-code i tworzenia stron w ogóle, bez wchodzenia w szczegóły techniczne i koncentrowania się na wyglądzie. To właśnie z tego powodu wybrałem Carrd, ale Ty możesz też skorzystać z dowolnego innego edytora jak Wix czy Squarespace.
Kolejna sekcja nauczy Cię wdrażać na stronę liczne integracje i rozbudowywać jej funkcje. Dowiesz się między innymi jak podpiąć na stronę analitykę np. z pomocą Google Analytics, wykorzystać gotowe Widgety, zadbać o optymalizację pod kątem SEO czy dołożyć kolejne, własne skrypty. To wszystko bez napisania ani jednej linii kodu!
W tej sekcji omówimy szczegółowo najważniejsze narzędzia, które wykorzystują technologie no-code i pozwalają nam rozszerzyć możliwości stron WWW tworzonych w ten sposób. Dzięki ich wykorzystaniu będziemy mogli rozszerzyć naszą stronę o "bazę danych", wykorzystując Airtable, bez konieczności korzystania z jakichkolwiek technologii serwerowych. Narzędzia takie jak Zapier czy Integromat dadzą nam z kolei możliwość rozbudowania naszej witryny o niezliczone funkcjonalności, takie jak podłączenie list mailowych, ankiet, płatności i wiele, wiele więcej!
Ten rozdział uświadomi Ci prawdziwą potęgę narzędzi i technologii no-code, ponieważ przygotowałem dla Ciebie szereg praktycznych scenariuszy, które bez kodowania pozwalają wdrożyć najbardziej popularne rozwiązania biznesowe i uruchomić je w połączeniu ze stroną WWW. Przygotujemy scenariusze między innymi dla Landing Page'a sprzedającego produkt, gdzie zapiszemy dane klienta, wyślemy stosowne maile a nawet udostępnimy nasz produkt; będziemy też pracować nad prostą stroną do generowania leadów, na przykład umożliwiającą pobranie PDF czy produktu w zamian za email; pokażę Ci także, jak wykonać stronę usługową, gdzie klienci mogą zlecać Ci rozmaite prace; Przygotujemy także rozbudowany scenariusz pod Marketplace czy Job Board, wykorzystujący bardziej złożone automatyzacje. Wykorzystamy do tego mnóstwo dodatkowych, ciekawych narzędzi i technik No-code!
Kurs przeznaczony jest dla osób, które chcą tworzyć strony w nowym podejściu, bez kodowania. Skorzystają z niego zwłaszcza osoby, które chcą uruchomić swój projekt w sieci, stworzyć MVP produktu czy aplikacji, ale niekoniecznie same programują lub mają zasoby i czas na przygotowanie projektu przez programistów. Ponadto z kursu skorzystają ci z Was, którzy tworzą strony, np. w WordPress i chcą zobaczyć, jak można przyspieszyć sobie pracę a nawet front-endowcy, którzy usprawnią wiele procesów z pomocą automatyzacji.
Cześć, witaj w kolejnej lekcji.
Przed nami kolejny projekt i wyzwanie.
Tym razem będzie to marketplace.
Stworzymy sobie jobboard dla osób, które
szukają pracy w przestrzeni no-code i będzie to typowe właśnie taki marketplace,
gdzie można z jednej strony złożyć jakąś swoją ofertę, z drugiej strony inni ludzie
mogą się z nią zapoznać, a następnie na nią odpowiedzieć.
Flow wygląda w ten sposób, że jest on inny dla osoby, która dodaje ofertę, jak
również dla osoby, która rejestruje się jako ten, który chce przyjąć zlecenia,
czyli w naszym przypadku nazwiemy go freelancer i zarówno jedna jak i druga
osoba po rejestracji zostanie dodana do naszego CRM'a, czyli do Airtable, do bazy
danych, a następnie wyślemy email z potwierdzeniem.
Kolejno już ten flow jest inny dla osoby, która zleca jakieś zadanie.
Taka oferta będzie musiała poczekać na zatwierdzenie administratora strony.
W momencie, gdy zostanie zatwierdzona, to zostanie wysłany do tej osoby email z potwierdzeniem.
Pojawi się ona na stronie, a także oferty zostaną wysłane do freelancer'ów, którzy
pasują do konkretnego profilu zgłaszanego w ofercie.
No i po 30 dniach ta oferta wygaśnie, czyli ukryjemy ją na stronie.
Jeśli chodzi o flow freelancer'a, no to po
rejestracji dodamy go do CRM'a i wyślemy email z potwierdzeniem.
Później taki freelancer będzie mógł
przeglądać sobie oferty i będzie mógł aplikować na jakieś wybrane oferty, ale
jeżeli się zarejestruje, to będzie też otrzymywał te oferty, które będą
zatwierdzony i będą pasowały do jego profilu.
Więc w momencie gdy
ktoś będzie aplikował na ofertę, wyślemy mu email z potwierdzeniem, ale także
wyślemy email z aplikacją do osoby, która tą ofertę zleciła.
I tak w skrócie wygląda ten flow.
Ponieważ mamy tutaj dosyć dużo maili,
chciałem pokazać Ci też w tej automatyzacji jak można zastąpić taki
prosty email ten który połączymy z naszą skrzynką po SMTP lub też np.
Gmaila. Bardziej profesjonalnym rozwiązaniem,
które pozwoli nam wysyłać maile tzw. transakcyjne, czyli to są właśnie te maile
z potwierdzeniem rejestracji, i do odzyskania hasła itd.
Co prawda my nie będziemy mieli takich typowych kont użytkowników,
niemniej jednak zdecydowanie lepiej jest maile transakcyjne wysyłać przez jakąś
dedykowaną do tego platformę przez naszą skrzynkę mailową.
My akurat skorzystamy z SendGrid, ale są
inne fajne rozwiązania, które też posiadają API np.
Postmark albo EmailOctopus.
Ale na razie zajmijmy się omówieniem landing page, który stworzyłem.
Jest on bardzo prosty, zawiera miejsce na no-code board.
Ten cały board będę chciał osadzić jako embed z Airtable.
Można by było oczywiście zrobić to
inaczej, wyciągać stamtąd dane i prezentować je np.
w formie tabeli, ale to będzie dla nas rozwiązanie szybsze.
Kolejno mamy po prawej stronie możliwość dodania oferty pracy, czyli add job offer,
również stworzenia profilu jako freelancer.
No i mamy też przycisk, który pozwala aplikować na wybraną ofertę pracy.
Tak że, to jest bardzo uproszczony schemat.
Dosłownie w trzy minuty go wyklikałem,
natomiast bardziej interesuje nas model działania całości.
W związku z tym przenieśmy się do Airtable.
Tutaj też jest schemat uproszczony.
Można to rozszerzać o dodatkowe pola
formularza, dodatkowe dane tutaj przechowywać.
Ale generalnie struktura wygląda tak, że
mamy jedną bazę, która nazywa się marketplace i w tej bazie znajdują się,
znajduje się zakładka na freelancerów i drugi arkusz
to są oferty pracy, czyli mamy freelancerzy i ofertę na freelancer'ach,
mamy imię, później email, następnie avatar będzie można tutaj wgrać i powinienem
zmienić te pole na attachment, wybieram Save.
No i dodałem coś takiego jak ekspertyza.
Czyli będą mogli freelancerzy podać tutaj
jak i w jakich narzędziach no-code się specjalizują.
To jest multiple select, czyli będzie można wybrać więcej niż jedno narzędzie.
I zrobiłem przykładową listę narzędzi.
Wybieram polecenie Save te narzędzia, które
w których ktoś ma ekspertyzę chciałbym też przenieść do ofert, czyli w ofertach.
Chciałbym, żeby też ktoś mógł określić w
jakich narzędziach chciałby ewentualnie, żeby ta osoba pracowała.
W związku z tym możemy zrobić taką fajną sztuczkę w Airtable.
Jeśli mamy jakiś tutaj wypełniony, może wybierzmy WebFlow np.
jeśli mamy jakiś wypełniony rekord, to możemy po prostu go skopiować.
Wybieram polecenie command C
teraz klikając na takim rekordzie, następnie w offers klikam następne pole.
Jego właściwości są teraz nieważne.
Jeżeli wybiorę polecenie Command V to
zobacz, że wkleiłem tutaj nie tylko informacje o tym WebFlow, ale też same
właściwości tego pola są teraz skopiowane i wklejone tutaj,
czyli wszystkie opcje w Multiple select zostały przeniesione,
a my możemy nazwać to pole Preferred Tools, czyli preferowane narzędzia
z pomocą których takie zlecenie powinno być wykonane.
W samym zleceniu mamy nazwę firmy, która zleca albo nazwa osoby, która zleca.
Następnie opis takiego zlecenia to jest long text.
Kolejno mamy
do wyboru czy to jest jednorazowe zlecenie checkbox remote czyli czy może być zdalne,
czy trzeba w konkretnym mieście podjąć takie zlecenie.
Jeśli trzeba w konkretnym mieście to zrobiłem specjalną kolumnę city,
aczkolwiek tutaj nie zrobiłem listy tylko po prostu single line.
Będzie można wpisać tutaj nazwę miasta.
Kolejno szacowany budżet.
Zrobiłem go jako single line po to, żeby można było np.
wpisać widełki z myślnikiem no i skopiowaliśmy właśnie
to preferred tools oraz mamy coś takiego jak email.
To jest email, pod którym taka osoba
zlecający pracę będzie się spodziewać aplikacji.
Ponieważ w poprzednich lekcjach pokazałem Ci szczegółowo jak można przygotować w
Carrd formularze i obsługiwać to teraz zrobimy formularz poza Carrd w taki
sposób, że jeden przycisk add job offer i create profile.
Przejdźmy do sekcji buttons.
Mamy add job offer będzie kierował na URL,
który zostanie wygenerowany przez bezpośrednio przez Airtable.
Bardzo często z tego korzystam.
To co musimy zrobić to może zacznijmy od freelancer'ów.
Następnie przejdźmy.
Tu mamy widok na razie grid view.
Może wpiszmy sobie all freelancers.
Następnie zróbmy kolejny widok, który
będzie widokiem formularza, czyli wybieram Form.
Wpisałem tu nazwę Freelancer Application Form.
Proszę wypełnij ten formularz, a zostaniesz dodane do naszej bazy danych i
freelancer'ówl i będziesz otrzymywał oferty pracy no-code.
Super.
Kolejno mamy name, email i avatar oraz expertise,
ta ekspertyza, którą trzeba wybrać jako opcję i zobacz, że to się pojawi
jako taka lista opcji.
Będzie można wybrać jedno narzędzie, ale będzie można do niego również dodać jakieś
kolejne narzędzie podczas wypełniania tego formularza.
Ponieważ wyświetlają się tutaj same nazwy
pól, to fajnie by było zrobić jakieś bardziej sensowne opisy np.
your expertise.
Wybierz jedno lub więcej narzędzi,
na których się dobrze znasz i możemy teraz wybrać to jako dropdown albo jako listę.
Więc też można zrobić tutaj listę.
I chyba nawet fajnie wygląda ta lista.
Teraz jeśli chodzi o
to pole avatar, możemy dodać znowu tutaj opis dodaj swój avatar np.
możemy dodatkowo wskazać jaki to powinien być rozmiar.
Kolejno pole email.
Użyjemy tego maila, żeby wysyłać Ci oferty.
No i name.
Proszę podaj swoje imię do katalogu.
I teraz możemy jeszcze oznaczyć te pola jako obowiązkowe required, czyli w
zasadzie wszystkie pola będą obowiązkowe tutaj.
Oraz pola your expertise.
No i mamy ankietę gotową.
Możemy teraz jeszcze zmienić tą wiadomość, która się pojawi po jej wypełnieniu np.
Możemy tu dodać informację, że Twój profil
zostanie wyświetlony na stronie po 24 godzinach czy coś takiego.
My zostawiamy to, ponieważ chcemy te profile dodawać od razu.
Zrobimy trochę inaczej w przypadku ofert.
No właśnie, to skoro już mamy gotowe
taki formularz, to teraz wystarczy wybrać polecenie Share form.
Następnie skopiować ten link, który tutaj jest.
Przechodzimy do naszego landing page'a i
dla sekcji create profile wstawiamy właśnie ten link.
Ja dodatkowo dodam jeszcze na końcu slash
małpka blank po to żeby było to otwierane w osobnej karcie.
Wybieram, no w zasadzie przechodzę sobie teraz do przycisku job offer, bo
tutaj jeszcze będziemy musieli uzupełnić kolejny URL, a będzie on z ofert.
I tutaj, podobnie tak jak zrobiliśmy, zrobimy all offers najpierw ten pierwszy widok.
Wybierzmy teraz opcję form i stworzymy z tego formularz.
Zmieniłem tutaj szybko wszystkie opisy.
Teraz wyjaśnić jak to zrobiłem.
Zapostój swoją ofertę pracy dodamy ją w ciągu 24 godzin.
Tutaj możesz podać swoje, swoją nazwę firmy
albo swoje imię i nazwisko, jeśli jesteś osobą prywatną.
Kolejno job description, czyli opis oferty.
Proszę wyjaśni, co ma zostać dokładnie zrobione.
Następnie zmieniłem też trochę te label'e czy to jest jednorazowe zlecenie?
I wtedy zaznaczasz sobie, że to jest jednorazowe.
Czy jest okej dla Ciebie,
jeśli to będzie zlecenie, które ktoś wykona zadalnie?
I tutaj dodatkowo zaznaczyłem, że jeśli zostawisz to nie zaznaczone, to wtedy
zapytam Cię dodatkowo o miasto, w którym chcesz żeby zlecenie zostało wykonane.
I to jest zrobione na takiej zasadzie, że właśnie
w tym polu miasto mam włączoną opcję na dole show filtr only when conditions
are met. Czyli pokaż to pole miasto tylko wtedy kiedy zostanie spełniony warunek.
Jaki to jest warunek?
Wtedy, gdy remote będzie pusty, czyli jeśli ktoś zostawił pusty remote pojawi się City.
Jeśli ktoś kliknie na remote
nie, pojawi się city, bo to znaczy, że zezwala on też na pracę zdalną.
Następnie mamy budżet, możesz podać
widełki, możesz mu podać jakiekolwiek, stawkę godzinową itd.
Też jest to pole obowiązkowe jeśli chodzi o preferowane narzędzia.
Zaznaczyłem, że jest to opcjonalne i nie
zaznaczyłem opcji required dlatego, że może ktoś nie wiedzieć jakimi narzędziami
ma być wykonane zlecenie albo go to nie interesuje i dlatego też nie robiłem tej
listy takiej z checkbox'ami tylko ewentualnie opcje jeżeli ktoś
by sobie chciał zaznaczyć jakieś wymagane przez niego narzędzie.
No i kolejno email.
Użyjemy tego maila po to, żeby wysyłać Ci zgłoszenia od aplikantów.
Tutaj też możemy dodać, że właśnie
opublikujemy to ogłoszenie w ciągu 24 godzin.
Dziękuję za wypełnienie i to się pojawi
wtedy, kiedy taka osoba zgłosi nam ten formularz.
Dodatkowo w opcji płatnej Airtable masz możliwość jeszcze przekierowania strony na
konkretny adres po wypełnieniu ankiety, a nie na taką stronę z tym komunikatem.
No i wtedy rzeczywiście można by było przekierować na nasz adres z jakimś # np.
done I tutaj można by było przekierować na ten
adres Thanks, ale nie jest to jakoś super istotne i
można zawsze to łatwo dorobić.
Można też sobie zaznaczy taką opcję jak:
Email me at codlless
akurat ja podałem ten email do założenia konta, więc można na ten email dostawać
zgłoszenia z tej ankiety, ale my nie będziemy ich potrzebować.
Zrobimy sobie do tego automatyzację.
Mamy w związku z tym kolejny formularz i wybieram polecenie Share form.
Zaznaczam sobie jego adres i kopiuję go do
schowka, następnie przerzucam tutaj do add job offer w to miejsce i tak samo
dodaję do niego @blank, żeby było otwierany w osobnej karcie.
I to wszystko jeśli chodzi o te dwa przyciski.
Teraz, jeśli opublikujemy tę stronę, a ja
opublikowałem ją pod nazwą job-board.co, przejdźmy sobie.
W momencie, gdy ktoś kliknie np.
add job offer, zostanie przeniesiony na taki formularz.
Ja już ten formularz wypełniłem wstępnie, żeby teraz tylko go wysłać, ewentualnie
ten formularz nawet można by było dołączyć na naszej stronie.
Jeśli przejdziemy do tej sekcji post a job offer, to tutaj w sekcji share form mamy też
możliwość za embedowania ten formularz na stronę, czyli wybierz embed on this site
i można będzie sobie za embedować to w dowolne miejsce na naszej stronie, ale
myślę, że jak to się otwiera w nowym oknie to też jest ok.
Więc wybieram polecenie submit po to żeby te dane zostały dodane.
Jest taka wiadomość z podziękowaniem i do all offers powinna trafić moja oferta.
Te trzy wcześniejsze wpisy wrzucimy.
One były przykładowe, zawsze są dodawane przez Airtable.
No i mamy to, więc są zaznaczone te opcje tutaj.
Teraz możemy zaraz zrobić automatyzację zatwierdzania takiego zgłoszenia.
No a jeśli chodzi o freelacer'ów będzie się to działał analogicznie.
Czyli teraz w momencie gdy ktoś wybierze
Create a profile, to zostanie przekierowany do tej drugiej freelancer application form.
Mam tu też możliwości dołączenia pliku,
wybieram a attach file albo po prostu przerzucam plik tutaj.
Wybiorę sobie tutaj opcję do upload'u, przerzucę plik, wybieram polecenie upload
i taki plik zostanie załadowany do naszego Airtable.
Kolejno wybieram to na czym się znam np.
trzy opcje i wybieram polecenie submit i mamy w freelancers,
w all freelancers. Zgłoszenie przyjęte.
Wyrzucę te pola, które są niepotrzebne. No i super.
Dobra, czyli mamy oferty, mamy freelancer'ów
i teraz trzeba dołączyć jakoś na naszą stronę.
Moglibyśmy to zrobić w jakiś bardziej
zaawansowany sposób, tworząc tabele, linkując jakoś te rekordy, ale możemy po
prostu osadzić całą bazę lub też jej wybrane części.
Pytanie czy chcemy osadzać całą bazę?
Nie, dlatego, że nie chcemy pokazywać
freelancer'ów, jak również nie chcemy pokazywać adresu email w ofercie.
Dlaczego? Dlatego, że chcemy, żeby freelancerzy
używali guzika apply for a job po to, żeby mogli zgłosić się do właśnie
wykonania takiej pracy, a my dzięki temu będziemy mogli np.
zcharge'ować taką osobę, która
właśnie zamieściła ofertę za to, że znajdziemy jej pracownika.
W związku z tym chcemy,
nie chcemy zamieszczać całej bazy.
Pokazywałem Ci, jak można to zrobić z pomocą tego guzika share.
Następnie bierzemy sobie private link i tutaj mamy coś takiego jak embed.
Natomiast to właśnie za embeduję nam całą bazę.
Ja wybieram opcję disable.
My chcielibyśmy za embedować specyficzny
widok i to taki widok, który sobie teraz tworzymy np.
bez tego maila. Czyli wybieram
strzałkę i tworzę nowy widok np. grid albo coś takiego jak galeria.
Możemy zrobić sobie galerię, to będzie w miarę fajnie wyglądać.
Gdybyśmy jeszcze np. dodali tutaj zdjęcia też było spoko.
Natomiast ten widok galerii możemy modyfikować w taki sposób, że
wybieram opcję custom cards, a następnie wybieram co ma być widoczne.
Na pewno tego emaila nie chcemy pokazywać, ale pozostałe rzeczy chcemy pokazać.
I dodatkowo jeszcze zobacz, że można tutaj np.
sobie przerzucić budżet pod description albo nawet nad description,
żeby był pierwszy i wszystkie te dodatkowe opcje są też widoczne.
No dobra, wszystko bez maila.
W zasadzie zależy nam na tym, żeby pokazywać w postaci takich kartek
jest ok. I teraz żeby to zamieścić wybieramy ten
przycisk share view, a następnie create a shareable gallery view link.
I teraz przechodzimy do opcji embed this view on your site,
czyli będziemy mogli wygenerować sobie kod iFRAME, który zamieści nam to u nas na
stronie i dodatkowo możemy pokazać kontrolki.
Mamy tutaj taką kontrolkę filter, która
ewentualnie pozwalałaby nam wyfiltrować pola, ale zobacz, że tutaj już nie ma tego
emaila, bo my schowaliśmy go z kartki, więc w zasadzie to jest ok.
Możemy to zostawić.
Dzięki temu ludzie będą mogli jakoś to
filtrować, sortować, albo jeśli nie chcemy tego, możemy po prostu to wyłączyć.
W każdym razie mamy wygenerowany kod
iFRAME, który teraz musimy dołączyć na stronę w Carrd.
Jest to bardzo proste już wiesz jak to zrobić.
Z pomocą plusa wybieramy taki komponent jak embed i do embed zostawiamy code.
Dajemy mu nazwę np. job board.
Styl inline i kod wrzucamy tak jak jest.
Wybieram polecenie Done.
Teraz trzeba jeszcze opublikować zmianę na naszej stronie.
Wybieram Publish changes.
Zaraz zobaczymy jak to będzie się wyświetlało.
Tam mieliśmy rozmiary podane w iFRAME'ie, czyli tutaj możemy je zmienić np.
wysokość czy szerokość takiego elementu, ale wydaje mi się, że jest ok.
Jedna oferta co prawda tylko jest widoczna.
Naturalnie moglibyśmy zrobić sobie oczywiście jakiś
inny widok, czyli przykładowo widok typu grid i teraz wyświetlać to w ten sposób, a
jedyne co byśmy zrobili możemy go nazwać job offers.
Jedyne co byśmy tutaj musieli zrobić to hide fields i ukryli byśmy to pole email,
a następnie przy embedowaniu zrobilibyśmy to co Ci pokazywałem, czyli
ukrylibyśmy opcje filtrowania też, czyli show view contrlos byśmy sobie ukryli.
No i tu mamy kolejny embed kod, który mógłby dla nas za embedować coś takiego.
Ewentualnie alternatywny widok jest też taki, więc chyba nawet ten jest
fajniejszy, więc możemy te carts zrobić właśnie poziome w ten sposób.
Czyli zmiana jest super prosta.
Przechodzimy do tej sekcji embed, wrzucamy
to tutaj, wybieramy Done i zaraz to opublikujemy.
No dobra, czyli mamy oferty pracy, które są widoczne na stronie.
Problem będzie polegał na tym, że jeśli ktoś chce aplikować na taką ofertę, no to tak
naprawdę musi dać jakąś referencję do niej.
Więc moim zdaniem warto by było tutaj pokazać jeszcze dodatkowo jakiś
identyfikator tego ogłoszenia, żeby można było się do niego odnieść.
W związku z tym można w tej
sekcji, gdzie mamy ofertę dodać sobie jeszcze pole jedno, czyli np.
job ID.
I będzie to możemy zrobić automatycznie
nadawanie numerów dla każdej oferty, czyli coś takiego jak auto number.
Wybieram polecenie Save.
Teraz upewniam się, że w tym widoku, który
jest za embedowany, czyli w tym właśnie job offers, nie jest to pole ukryte.
Mamy job ID, możemy nawet gdzieś je przerzucić.
Może być pierwsze w kolejności i do tego job ID.
Poprosimy, żeby ktoś się odniósł.
W momencie kiedy będzie składał, aplikował, składał ofertę.
No i to co jest fajne to że jak wykonamy tutaj zmiany, to nie musimy już nic
zmieniać, nie musimy republikować naszej strony.
Śmieszne słowo.
Po prostu wystarczy, że ją odświeżymy, command R, odświeżam i już
jest to job ID tutaj wpisane.
Więc. No tak, to tyle.
Zobacz, że można sobie kliknąć taką ofertę i zobaczyć jeszcze jej szczegóły.
to co jeszcze warto
o tym pamiętać, aczkolwiek nam tutaj nie przeszkodzi to jest to.
To o czym warto jeszcze pamiętać w kontekście Airtable, że
jeżeli dodajesz tutaj jakieś dodatkowe pola, nie tyle nowe widoki, co właśnie np.
dodaliśmy job ID, no to pamiętaj, że my wcześniej
stworzyliśmy ten widok post a job offer i automatycznie te nowe pola dodane nie
dodają się do formularza, co jest akurat dla nas ok.
Akurat w ogóle to pole
to pole ID jest takie techniczne, że nawet go tutaj nie można dodać.
Natomiast gdybyś dodał później jakieś nowe
pola, które chciałbyś, żeby ludzie jednak wypełniali, to pamiętaj, że musisz przejść
tu z powrotem jeszcze do formularza i one znajdą się tu.
Trzeba będzie je przeciągnąć i upuścić.
W naszym przypadku akurat specjalnie
właśnie zrobiliśmy to wtedy, gdy mamy już gotowy formularz.
Teraz można sobie techniczne pola dodawać i nie przejmować się tym
formularzem.
No właśnie, a techniczne pola będą nam potrzebne dlatego, że mamy
do zrobienia automatyzację polegającą na tym, że dodajemy tą ofertę.
To tak musimy to dodać do Airtable i wysłać email z potwierdzeniem, ale też
za chwilę będziemy potrzebowali, żeby oferta była zaakceptowana przez admina i
wtedy też wysyłamy jakiś email z potwierdzeniem.
Pokazujemy na stronie.
Czyli dopiero w momencie, gdy oferta
zostanie zaakceptowana to my będziemy chcieli ją pokazać.
Jak zrobić taką logikę?
No właśnie to już wiesz, bo tutaj
wystarczy przecież teraz dodać jakieś takie pole accepted
i zrobić je typu checkbox i wtedy admin będzie je oznaczał na true.
A my w tym widoku job offers, który nam
się pojawia na stronie będziemy chcieli prezentować
w filtr wybieram add filter tylko te rekordy, które mają accepted na true.
No i jednocześnie moglibyśmy zrobić sobie jeszcze jeden dodatkowy widok.
Może tej galerii się pozbędę.
Skoro jej nie używam, to może usuńmy ją, żeby mi ten widok nie przeszkadzał.
Ale moglibyśmy zrobić sobie dodatkowe grid widok i np.
zrobić to tu accept, czyli te czekające na akceptację.
I tutaj z kolei moglibyśmy wyfiltrować tylko te rekordy, gdzie accepted jest puste.
I to będzie taki widok naszego admina, który sobie wchodzi, patrzy, że ok, są
tutaj nowe oferty, czy je zaakceptować? Zaakceptować.
Jeżeli kliknie, to wtedy wpadnie to do tego widoku job offers no i cóż automatycznie
przeleci na stronę, więc nic dodatkowo nie trzeba będzie robić.
Może ewentualnie tylko poinformować takiego admina, że w ogóle ogłoszenie
zostało dodane, ale to właśnie zrobimy sobie zaraz po dodaniu oferty.
Czyli no dobra, możemy przejść do pierwszej automatyzacji, którą stworzymy.
Create a new scenario i będziemy chcieli w tej pierwszej automatyzacji właśnie
nasłuchiwać czy zostało stworzone nowe ogłoszenie.
Wybieram Airtable i standardowa procedura w Airtable
będziemy watch a records.
No a skoro watch rekords, to już na pewno wiesz co musimy też zrobić wewnątrz Airtable.
Naturalnie musimy dodać tutaj coś takiego jak, ja
dodam sobie created osobno i będzie to
create time i dodam też last modified czyli modified.
I tutaj stworzymy last modified time, Save.
Mając te dwa pola będę mógł rzeczywiście
łatwo ustawić te automatyzację, które bazują na wyszukiwaniu rekordów dla bazy.
W tym przypadku marketplace będziemy szukać w tabeli offers.
Jako trigger field użyjemy tego pola
created, czyli właśnie stworzone nowe rekordy.
I label field możemy tutaj wrzucić company.
Następnie widok.
Chcemy tutaj skorzystać z widoku ofert do
zaakceptowania, czyli tych, które wpadły jako nowe i będziemy zwracali na raz.
Możemy zwrócić np. 10 czy 100 wyników
nawet zakładając, że ta automatyzacja będzie działać od teraz,
czyli dla nowych rekordów i będzie się odpalać kiedyś np.
raz dziennie i wysyłać
rano informację do admina, że coś tam jest do zatwierdzenia, no i wtedy
trzeba zrobić następujące rzeczy.
Co prawda nie mamy tego w scenariuszu, ale
można by było jakoś notyfikować tych adminów, że coś jest do sprawdzenia.
Czyli przykładowo założyć sobie Trello.
Moglibyśmy zrobić tak jak mieliśmy z
usługami albo możemy wysyłać wiadomość na Slack'a.
Wybieram Slack i create a message.
Można by było wysłać na nasz kanał z
automatyzacjami no i możemy wpisać new offer from.
I tutaj wrzućmy jeszcze od kogo jest ta oferta np.
company to accept.
Ok, i dobrą praktyką jeszcze jest w tego typu wiadomościach czy w tego typu mailach
zawsze dodawać tutaj link do tego widoku po to, żeby ktoś mógł po
prostu szybko w to kliknąć i sobie zatwierdzić np.
taki rekord, czyli w tym widoku to accept wybierzmy
share, create a shareable link i link do tego umieścimy bezpośrednio w wiadomości na Slack'a.
Dobra, wybieram polecenie Ok, czyli poinformujemy naszych moderatorów.
No i dodatkowo chcemy jeszcze wysłać
email z potwierdzeniem do takiej osoby, która dodaje oferte.
Czyli moglibyśmy zrobić to router i wyślemy email.
Wybieram auto-align, Save, ale w przypadku wysłania maila użyjemy
czegoś bardziej skomplikowanego niż standardowy moduł mail.
On nie jest zbyt dobry do wysyłania wielu maili.
Zakładam, że sporo osób może się rejestrować.
No i zaraz będziemy też mieli taki
scenariusz, który będzie kazał nam powiadomić wszystkie osoby wszystkich
freelancer'ów o tym, że jest jakaś nowa oferta.
No i zdecydowanie odradzam robić tego z pomocą modułu mail, żeby np.
na raz wysłać z naszego jednego maila nie wiem, 100 czy tam 500 maili.
Wtedy oczywiście nas z blacklistują różne serwery i
nie jest to fajne, więc warto skorzystać ze specyficznej usługi, która
pozwoli wysłać maile transakcyjne czy maile marketingowe.
Jedną z takich profesjonalnych,
profesjonalnych dostawców, z których często korzystam jest SendGrid.
Na SendGrid możesz założyć darmowe konto.
W ramach tego konta możesz wysyłać
wystarczającą ilość maili, która jest do
przetestowania takiego MVP czy takiej strony, którą tworzymy.
A po kilku kliknięciach i założeniu
darmowego konta warto, żebyś udał się do sekcji email API.
I tutaj będziemy tworzyć dynamiczne
szablony maili, które będą się wysyłać w sekcji dynamic templates.
Ale zanim jeszcze to zrobimy, w settings przejdziemy do sekcji API keys.
W tej sekcji API keys będziesz potrzebował
wygenerować sobie klucz API, czyli wybierasz polecenie create API key.
W tym przypadku użyję klucza full access i jako jego nazwę podam Integromat.
Wybieram polecenie Create & View.
Tego klucza co prawda nie mogę Ci teraz
pokazać, bo będę znowu go musiał niszczyć, ale to co musisz zrobić to skopiować sobie
taki klucz i przejść jeszcze raz do naszej integracji.
Wybierzemy teraz SendGrid i w module
SendGrid mamy w sekcji na samym dole other polecenie send an email.
Wybieramy send an email i musimy dodać SendGrid'a w taki sposób, że właśnie ten API key ten
klucz wklejamy skopiowany, który mamy w schowku w to miejsce i wybieramy Continue.
Teraz musimy uzupełnić następujące pola
przede wszystkim pole email address nadawcy i tutaj wpiszę hello@codeless.how
natomiast istotne jest to, że będzie to jakaś domena naszego jobboard'a i będziemy
musieli zaraz ją zautoryzować wewnątrz SendGrid'a.
Niestety nie jest możliwe podawanie tu
jakiś domen czy jakichś rozszerzeń typu darmowe skrzynki pocztowa, Outlook itd.
Jeśli już korzystamy z rozwiązania takiego
jak SendGrid, jest to rozwiązanie profesjonalne.
Zakłada, że mamy domenę i potrafimy ją
skonfigurować tak, żeby te maile można było z SendGrid'a wysyłać.
Zaraz przez to przejdziemy
jak się okaże, to wcale nie jest takie trudne. W nazwie,
czyli jako nadawca podajemy już cokolwiek
chcemy, a następnie pole send tu do kogo chcemy wysyłać.
Bierzemy z Airtable adres email i wklejamy go tutaj,
a następnie możemy też użyć jako company nazwy.
Dobra, wybieram polecenie add, no i możemy użyć transakcyjnego szablonu SendGrid'a.
My zrobimy to zaraz w przypadku wysyłania ofert do freelancer'ów, a teraz po prostu
zostawimy opcję no, czyli wklejamy sobie treść całą maila tutaj.
Możemy wkleić maila albo w HTML'u albo w plaintext'cie.
Wybierzmy sobie czysty tekst i jako temat podam
po prostu dziękuję za dodanie oferty, a
jako content znowu wkleję jakiś prosty content.
Twoja oferta została dodana, ale czeka na recenzje i poinformujemy Cię jak, w ciągu
24 godzin jak będzie na stronie. Możemy załączyć jakieś rzeczy,
załączniki również możemy z pomocą tej sekcji daty wybrać jakieś np.
opóźnienie i dodać tutaj jedną godzinę,
żeby się nie wysyłało od razu, ale nie widzę takiego powodu.
Wybieram polecenie Ok.
No ale żeby ta nasza automatyzacja, którą mogę zresztą teraz zapisać, mogła
zadziałać, to trzeba będzie jeszcze wrócić do SendGrid'a i skonfigurować go w ten sposób,
że w settings przejść do zakładki sender authentication.
W tej zakładce będziemy musieli
skonfigurować naszą domenę tak, aby komunikowała się z Sendgrid'em.
Wybieramy dostawcę naszej domeny i jeżeli jest na liście.
No to fajnie.
Mój dostawca akurat jest na liście, więc go wybiorę.
Jest to Namecheap, a jeśli nie ma to wybieramy polecenie other host
not listed i wtedy możesz podać taki DNS host.
Generalnie i tak przejdziemy do kolejnych
kroków, które pozwolą nam się połączyć, czyli dodać odpowiednie rekordy DNS.
Ja wybiorę NameCheap,
nie będę chciał dodawać w tym momencie brandowania jeszcze dla linków,
może o tym sobie porozmawiamy kiedyś.
Natomiast teraz wybieram polecenie Next, no i wpisuję nazwę mojej domeny.
Domena to codeless.how
I w sekcjach zaawansowanych zostawiamy wszystko po prostu bez zmian.
Wybieramy polecenie Next, a następnie
dostajemy instrukcje co powinniśmy ustawić w rekordach domeny.
Rekordy domeny powinieneś sam umieć modyfikować.
Jeśli wybierzesz innego hosta, dostaniesz dokładnie to samo.
Jeżeli sam tego nie modyfikujesz, to można
wybrać opcję tą send to coworker i po prostu wysłać to do jakiś email address do
osoby, która nam konfiguruje domeny i ma dostępy.
W tym przypadku ja wybiorę opcję instalacji samodzielnie,
ponieważ dodanie tych trzech rekordów jest naprawdę proste.
Wystarczy zalogować się do naszego panelu do domeny w sekcji, gdzie zarządza się
rekordami DNS dla domeny, u dowolnego dostawcy.
Przechodzimy do dodania nowego rekordu DNS.
To może wyglądać wszędzie troszeczkę inaczej, ale zawsze nazywa się tak samo.
Dodaj rekord DNS i teraz będziemy potrzebowali trzy rekordy typu cname.
Tu jest typ, tu jest host, tu jest wartość.
Dobra, to skopiujmy host dla pierwszego
rekordu, aczkolwiek nie potrzebuje całej tej wartości.
Może skupimy na chwilę całą, ale tak zróbmy tutaj
dodaj nowy rekord typu cname i host jest tutaj.
Zobacz, że mój dostawca już wypełnił kawałek tego hosta, więc jak ja wkleję
dokładnie to to będę miał dwa razy powtórzone codeless.how, więc nie chcemy tego.
Chcemy po prostu dodać ten przedrostek tak, żeby cały rekord składał się tak jak
chciał SendGrid z em 443 i później codeless.how.
Natomiast wartość skopiujemy stąd i wklej w super głupią nazwę, nazwa
kanoniczna, a musimy to akurat u tego dostawcy zakończyć kropką.
Czasem to musimy kończyć kropką, czasem dostawca sam kończy kropką.
Tutaj akurat krzyczało, że trzeba podać kropkę na końcu, więc z kropką albo bez.
To już będzie zwalidowane po stronie Twojego operatora domeny.
I dodaje taki pierwszy rekord.
Kolejny rekord zrobimy na analogicznej zasadzie skopiujemy sobie najpierw nazwę hosta.
Ustawimy tutaj rekord cname, nazwa hosta,
usuniemy z niej codeless.how i w nazwę kanoniczną
wpiszemy to co jest tutaj w wartości i zakończymy to jeszcze kropką.
Wybieram Ok.
I kolejny rekord, który musimy dodać
trzeci kopiujemy,
to też jest rekord cname
wybieramy hosta.
Usuwamy domenę, która zostanie dopisana.
Wrzucamy tutaj w
value to, co skopiowaliśmy sobie
z SendGrid'a. I dodajemy kropkę na koniec ok.
Dobra, teraz mamy wszystkie trzy rekordy
dodane, natomiast rekordy są u naszego dostawcy procesowane.
No i chwilę to potrwa, jak również chwilę potrwa zanim będą one propagować.
Czyli powinniśmy iść teraz zrobić sobie kawę.
Następnie zaznaczyć I've added these records i kliknąć Verify.
Jeśli będziemy niecierpliwy, to tych rekordów jeszcze nie będzie.
Ale widzę, że u mnie to dosłownie momentalnie praktycznie zadziałało.
No to świetnie, możemy wrócić do
autentykacji i widzimy, że ten adres domeny jest zweryfikowany.
Jeśli tak, to naszą automatyzację możemy odpalić.
No ale teraz nie dostaniemy żadnych
wyników dlatego, że nie ma żadnych nowych rekordów.
Przypominam, że sprawdzamy po dacie utworzenia rekordu, więc przejdźmy
na moment do Airtable i po prostu może z zduplikujmy ten rekord.
Wybieram duplicate, w związku z tym już
będę miał nową datę utworzenia created i powinno to w tym momencie zadziałać.
Wybieram polecenie Run once i zobaczymy czy nasza automatyzacja się odpali.
Na Slack'a została dodana wiadomość i mamy też pozytywny wynik przy SendGrid'ie,
informacja o tym, że output wiadomość została wysłana jeszcze nam tutaj SendGrid
dodatkowo zwrócił identyfikator takiej wiadomości.
Ona powinna zostać wysłana na ten adres,
który się pojawił tutaj jako email, czyli na mój adres na Gmailu.
Więc mogę to teraz przetestować. Przejdźmy na Gmaila.
No i wygląda na to, że w moim inbox'ie ten email się pojawił.
Thank you for adding the offer. Pending review. No i super.
Dobra, czyli automatyzacja działa.
To jest pierwsza automatyzacja marketplace.
Zapisujemy te zmiany. Pamiętaj, żeby ustalić odpowiedni scheduling,
czyli odpowiednie interwały i włączyć ją, jeżeli jest gotowa.
Wygląda na to, że mamy zrobiony pierwszy kafelek.
Zostało jeszcze dużo, ale nie martw się proszę, bo już mamy teraz wszystko
skonfigurowane, więc pójdzie naprawdę bardzo szybko.
Mamy w zasadzie tak zrobione dodawanie do Airtable zarówno ofert jak i freelancer'ów.
Mamy wysyłanie tych wiadomości do osób,
które dodały ofertę, ale nie mamy jeszcze wysyłania wiadomości do freelancer'ów.
No to teraz szybko powinniśmy po prostu taki scenariusz powielić.
Czyli w opcjach wybieram polecenie Clone
i teraz zamiast offer added to piszemy sobie freelancer added.
Wybieramy polecenie Clone.
Musimy tu w Airtable był jedynie zmienić to, z jakiej tabeli korzystamy.
Będziemy tutaj szukali w tabeli freelancers.
Tyle, że jeszcze musimy zrobić w tabeli
freelancers te dwa pola, które zrobiliśmy wcześniej czyli modified.
I tutaj zrobimy last modified date i kolejne pole to będzie created.
I szukamy create time. Zapisujemy.
Teraz już będzie ok,
tylko musimy odświeżyć te dane i jako trigger in field wybieramy sobie created.
Label field to będzie np. email i widok
to będą wszyscy freelancerzy. No i spoko.
Teraz możemy wybrać polecenie Ok.
Następnie w SendGrid'zie upewniamy się, że te dane są poprawne.
Czyli tak company możemy usunąć i wstawić tutaj name.
I upewnij się też, że email jest poprawny brane z freelancer'ów i zmieniam treść.
Thank you for signing up.
I jako content możesz sobie wrzucić tutaj informację z podziękowaniem dla
freelancer'a i jeszcze informacją o tym, jak będą przesyłane do niego oferty
zostawimy, nie jest to jakieś istotne.
Wiadomości na Slack'u też warto by było po prostu wyedytować.
Jeśli w ogóle jej potrzebujemy, jeśli jej nie potrzebujemy, to można to usunąć.
I wtedy został nam ten email, który jest wysyłany do freelancer'a po rejestracji.
Zapisujemy, znowu ustalamy kiedy to będzie się publikować
i możemy wejść i odhaczyć drugą automatyzację wysyłanie maila z
potwierdzeniem do freelancera, który się zarejestruje
mamy gotową. Wróćmy teraz do oferty.
W momencie, gdy jest ona dodana i
zaakceptowana przez admina, to pojawia się na stronie i to mamy już zrobione,
ponieważ ona automatycznie się pojawi, kiedy przeskoczy do odpowiedniego widoku.
Ale dodatkowo musimy jeszcze wysłać dwa rodzaje wiadomości.
Pierwszy to potwierdzenie do osoby, która dodała oferte, że ta oferta jest live i
drugi do wszystkich freelancer'ów, którzy spełniają kryteria.
No i to jest już dosyć ciekawe, bo teraz
przejdźmy do Integromatu i stwórzmy kolejny scenariusz.
W scenariuszach wybiorę polecenie create scenario.
No i będziemy oczywiście też korzystać z Airtable i nasłuchiwać rekordów.
Tym razem będziemy nasłuchiwać rekordów,
które znajdą się w tych zaakceptowanych, czyli w ofertach.
W momencie gdy ja to oznacza jako accepted
to wtedy przeleci to sobie do tej sekcji job offers, więc będziemy musieli czekać
na rekordy, które pojawią się w job offers.
Tutaj możemy poddać modyfikacji sobie nawet to sprawdzać.
Więc wybierzmy bazę marketplace.
Kolejno oferty.
Trigger in field będzie modified w tabeli oferty, ale w
widoku pamiętajmy, że job offers, czyli te, które już są zatwierdzone.
Label field może być company.
Jak wiesz to nie ma jakiegoś tutaj
wielkiego znaczenia i ilość rekordów, którą szukamy możemy też tutaj zwiększyć.
Wybieram polecenie Ok.
Będziemy patrzyli od teraz na te rekordy,
które tam się pojawią i potrzebujemy wysyłać dwa rodzaje maili.
Czyli od razu dodam sobie router i pierwszy mail, który wybierzemy to będzie,
oczywiście też skorzystamy już teraz z SendGrid'a
skoro jesteśmy zautoryzowani to szkoda by
było nie korzystać z SendGrid'a, żeby wysyłać w zasadzie wszystkie maile i
transakcyjne i jakieś inne z naszej strony, więc SendGrid connection wybieramy
jako email, podajemy znowu email w naszej domenie, czyli ja sobie podam.
Ja podaję hello@codeless.how.
Tutaj mogę podać imię do kogo wysyłamy.
I teraz tak w tym momencie będziemy
wysyłać to szybkie potwierdzenie do osób, których oferta została zatwierdzona.
Czyli rzeczywiście potrzebny nam jest stąd email, bo to jest ten widok, gdzie w
emailu mamy w job offers mamy email właśnie tego, który zgłaszał ofertę.
Więc tutaj będzie email.
Jako name możemy dać company.
Wybieram polecenie Add.
Nie będę używał szablonu jako temat damy.
Twoja oferta jest live.
Wysyłamy plaintext'em i tutaj napiszemy znowu do osoby, która zapostowałą ofertę,
że ona jest już na naszej stronie, a dodatkowo wysłaliśmy tą ofertę do
wszystkich freelancer'ów, którzy spełniają wymagania.
I teraz ta osoba powinna czekać, bo na
maila będziemy przysyłać jej zgłoszenia od tych freelancer'ów.
Wybieram polecenie Ok.
I tym sposobem mamy jeden scenariusz gotowy.
Mamy obsłużone osoby i możemy tutaj dodać
to jako label, i możemy tutaj dodać to jako label.
Np. Conservation Company.
Może nie jest to najszczęśliwsze, ale coś jednak znaczy.
Dobra, to teraz spróbujmy zrobić ten drugi scenariusz, w którym będziemy chcieli.
Możemy sklonować ten wariant, którym będziemy chcieli wysłać
znowu wiadomości SendGrid'em. Tym razem wysłać je do wszystkich
freelancer'ów, którzy spełniają warunki oferty.
Jak wejdę sobie w job offers te do zaakceptowania,
to mam tutaj preferred tools, które można określić i chciałbym, że jeżeli ktoś
określi w tych preferowanych narzędziach narzędzie, które jest zgodne z tym, co
freelancer ma w expertise, to wtedy wyśle się do niego email.
W związku z tym może tak powiemy sobie też
freelancer'ów, czyli zrobimy Grega, który nie zna Webflow.
Dobra, więc wyrzucę Webflow z jego
z jego tabelki i w ten sposób będziemy pewni, że
tylko Gerty spełnia te, spełnia te kryteria.
Email będzie taki sam.
Dobra, to w razie czego zobaczymy czy nam się wysłał jeden czy więcej.
No i tutaj mamy też jako preferred tools zrobione Webflow, a tutaj może usunę.
Dobra, pamiętaj proszę, co my mamy do dyspozycji w ramach automatyzacji.
Otóż my szukamy w tej watch records,
szukamy w Airtable w tej tabelce offers i stąd mamy wszystkie dane.
Więc stąd będziemy chcieli wziąć ten preferred tool, a następnie będziemy chcieli go
porównać z tym co znajduje się w tabeli freelancers w polu expertise.
Więc przejdźmy teraz do automatyzacji i w to miejsce będziemy chcieli wstawić Airtable
i szukać rekordów, ale nie rekordów tych, które szukaliśmy tutaj, tylko rekordów z
bazy marketplace, ale tych, które znajdują się w tabelce freelancers.
Tutaj mamy szukanie w ofertach, to mamy szukanie we freelancer'ach.
No i teraz najważniejsza dla nas będzie formuła.
Widok możemy sobie zrobić all freelanceri i max records, zwracać np.
1000 freelancer'ów, którzy się nadają albo nawet więcej.
Natomiast formuła jest dla nas kluczowa.
I teraz jak trenować sobie formuły?
Oczywiście jest to temat trochę bardziej zaawansowany i proszę, nie przejmuj się,
jeżeli teraz tego dokładnie nie zrozumiesz.
Airtable ma bardzo obszerną dokumentację dotyczącą formuł.
No i to jest po prostu tak jak z Excelem trzeba się tego nauczyć.
Jeżeli znasz Excela i formuły, które można
tam wykorzystywać, to będzie Ci dużo, dużo prościej.
Natomiast jeśli nie, to
mam nadzieję, że nie odbierasz tego teraz jako czarnej magii, tylko po prostu
przejdziesz sobie do referencji formuł i spróbujesz się ich nauczyć.
Ja tutaj wstawię sobie testowe pole nazwę
i właśnie test i będzie to taka testowa formuła.
Zawsze jeżeli mam jakąś trochę bardziej skomplikowaną formułę do napisania, to
wolę najpierw zrobić w Airtable, a dopiero później przenieść do Integromatu.
No bo tutaj już będę musiał mieć coś gotowe.
Więc to z czego powinniśmy skorzystać, to
będziemy chcieli sprawdzić zawartość pola tego expertise, prawda.
Czyli to jest bardzo łatwo wybrać, Więc mamy to pole expertise.
I teraz jak możemy sprawdzić, czy ono np.
zawiera frazę Webflow?
No moglibyśmy sprawdzić, czy jest równe Webflow,
czyli wpisujemy znak równości Webflow, a następnie Save i patrzymy co się dzieje.
Mamy zero, zero, czyli nic nie jest równe tutaj Webflow
no i oczywiście to się zgadza, bo nic w tym expertise nie jest dokładnie Webflow.
Jeżeli ja bym teraz zduplikował sobie taki rekord i np.
usunął Notion i Airtable, ale dodał samo Webflow to to nam się zgadza.
Rzeczywiście ten rekord spełnia kryteria, spełnia warunki tej formuły.
W związku z tym już wiemy, że nie możemy przyrównywać, to raczej co powinniśmy
zrobić to w pewien sposób wyszukać albo znaleźć coś takiego, co zawiera contain.
Ale mamy tutaj dostępne coś takiego jak search.
Jeśli klikniesz w search, to właśnie pozwoli nam w konkretnym polu wyszukać np.
jakieś frazy i jeżeli kliknę w środku to zobaczę, że tutaj wpisuję ten string,
który chcę znaleźć wewnątrz tego string'u, który w którym szukamy.
Czyli w naszym przypadku będzie to pole.
I jeżeli byśmy wpisali tutaj, że chcemy
szukać Webflow w polu i dokładnie używamy tej struktury, która tu jest czyli teraz
przecinek i podajemy nazwę naszego pola expertise.
To jest prosty zabieg, który pozwoli przeszukać wszystkie i zwróci wszystkie te
wyniki, które w polu expertise zawierają WebFlow.
Wybieram polecenie Save i okazuje się, że
ten zawiera, ten zawiera, a ten nie zawiera.
I rzeczywiście tak jest.
No to teraz skoro już umiemy szukać w ten
sposób, no to jeszcze zostaje taki case, że tutaj będzie np.
kilka narzędzi.
I teraz jak przeszukiwać te kilka narzędzi?
Teoretycznie do naszej formuły moglibyśmy dodać coś takiego jak OR,
czyli możemy sprawdzać wiele warunków naraz z pomocą OR.
Jeżeli otworzymy teraz nawias, to będziemy mogli wstawić pierwszy warunek, później
drugi warunek, później trzeci warunek, czwarty warunek.
I zawsze jak on będzie prawdziwy, no to będzie dla nas zwrócone,
to pole będzie zwracało 1, czyli moglibyśmy tutaj dać search Webflow
expertise po przecinku, moglibyśmy to samo wkleić dokładnie, ale teraz szukać np.
Airtable.
I po przecinku moglibyśmy jeszcze zrobić to samo dla np.
Notion i ponieważ użyliśmy OR.
To teraz jeszcze muszę zamknąć ten nawias, który pochodzi stąd.
Czyli tutaj go domyka.
Wybieram polecenie Save i okazuje się, że wszystkie polami zwracają 1, ponieważ
wszędzie jest albo Webflow, albo Notion, albo Airtable.
No i świetnie. Skorzystajmy z takiego search'a.
Ja skopiuję sobie ten search, wybiorę polecenie Save.
Przejdę do Integromatu i jako formułę możemy wstawić tutaj:
szukaj mi Webflow w ramach expertise. Zobaczymy czy w ogóle tutaj to zadziała.
Nawet nie podmieniając tych danych na
dynamiczne okazuje się, że tak zwraca wyniki.
Dobra, to teraz przejdźmy do środka i
potrzebujemy podmienić to na dane dynamiczne.
Problem polega na tym, że w tym miejscu
dostaniemy zestaw danych, czyli nie dostaniemy tylko informacji Webflow,
ale dostajemy coś takiego co tu jest oznaczone preferred tools.
Takimi dwoma nawiasami.
Jak na to najedziemy, to okazuje się, że jest to tablica.
Czyli dostajemy jest przekazana taka tablica danych, w której w środku znajdują
się wyniki i jako wynik pierwszy dostajemy Webflow.
No ale jako wynik drugi możemy dostać coś jeszcze, coś jeszcze,
coś jeszcze.
Więc gdybyśmy tutaj wstawili tą całą
tablicę, no to sprawdźmy, czy takie wyszukiwanie zadziała?
Run. Teraz musimy wyemulować tą tablicę.
Czyli mamy całą tablicę, ale ona może mieć jakieś item'y.
Obecnie nie ma w nich żadnych item'ów.
One to będą string'i, więc w cudzysłowie.
Webflow i emulujemy to, że znajduje się tutaj jeden item w środku, tak jakby w tej
tablicy było tylko to co jest teraz czyli Webflow.
To zobaczmy co się stanie.
Okazuje się, że wynik nam zostanie zwrócony poprawnie,
natomiast problem pojawi się wtedy, kiedy w tej tablicy będzie więcej danych.
Spróbujmy wyemulować to jeszcze raz, Run,
ale tym razem dodamy sobie i Webflow i na przykład Notion.
Wybieram add, wybieram polecenie Ok.
I w tym przypadku, mimo, że teoretycznie
zwróciło nam to jakiś wynik to zobacz, że sam search wygląda w ten sposób.
Search Webflow, Notion, expertise.
Taką formułę możemy sobie wkleić i
bezpośrednio przetestować w Airtable i okaże się, że Airtable zwraca nam tutaj błąd.
Nie możemy tak zrobić tej formuły.
Ona będzie niezrozumiała zupełnie, bo to tak, jakbyśmy szukali Webflow w Notion.
A później jeszcze expertise wstawiamy jako position.
To nie będzie działać. Więc co możemy zrobić?
Wracamy do Integromatu i no moglibyśmy
przecież zamiast całej tablicy, żeby nie dostawać tutaj rzeczy po przecinku,
dodać po prostu z tej tablicy to, co znajduje się pod indeksem 1 Webflow.
Tyle, że oczywiście to zadziała akurat w
tym konkretnym przypadku, ale musielibyśmy wylistować chyba sobie wszystkie indeksy,
żeby później móc je sprawdzać, czyli zrobić jeszcze ileś adekwatnych modułów
dla każdego indeksu inny, żeby wyszukał najpierw to co jest na indeksie 1 się
zgadza, później to co jest na indeksie 2 czy się zgadza itd., itd.
Więc zamiast tego spróbujemy najpierw rozbić te dane z tablicy, tzn.
na razie może zostawmy tak jak to jest i wybiorę auto-align,
ale spróbujmy dane, które przychodzą do nas z tablicy rozbić na pojedyncze
zapytania, a zrobimy to jeszcze jednym dodatkowym modułem.
Prawy przycisk myszy na kulkach.
Ada a module. Możesz np.
rozpocząć wyszukiwanie wpisując array
i dostaniesz tutaj coś takiego jak flow control.
Mówiłem Ci o tym, że są takie narzędzia.
Tutaj możemy sobie np.
stworzyć jakieś tymczasowe zmienne albo
pokazywałem Ci, omawiałem tego switcha, którego możemy zrobić, ale oprócz tego w
Narzędziach jest jeszcze coś takiego jak flow control.
I teraz wybierając flow control mamy dwie
akcje, które nas w kontekście tablic interesują.
Po pierwsze możemy zagregować rozmaite dane do tablicy, czyli mamy różne
rozproszone dane i możemy z tego zrobić tablicę.
To jest oczywiście odwrotne do tego, o co nam chodzi.
My potrzebujemy tutaj iterator.
Chodzi o to, że wpuszczamy tablicę do takiego modułu i możemy interować osobno
po każdym elemencie tablicy, czyli po każdej tej rzeczy po przecinku.
Jeśli ktoś w ofercie wstawiłby, że potrzebuje i Webflow i Notion i Airtable,
to my moglibyśmy iterować osobno po każdym takim elemencie.
Dobra, no to teraz to potrzebuje tablicy.
Musimy tutaj wstawić tablicę i tablica to
jest to, co ma właśnie te nawiasy klamrowych.
Zresztą jak najedziemy to jest tutaj informacja o tym, że to jest array
to jest tablica, więc używamy tej tablicy i chcemy ją rozbić.
Wybieram polecenie Ok.
Przetestujemy ten moduł. Jak on działa?
Wybieram Runs module only i
i wyemulujmy sobie taką tablicę, czyli wyemulujmy jak gdybyśmy mieli tutaj.
Miałem w schowku ten cały search, ale zróbmy sobie tak, gdybyśmy mieli np.
tutaj Webflow, jeszcze skopiuję sobie na chwilę do schowka Notion, to wyrzucę.
Czyli pierwszym item'em będzie Webflow.
Drugim item'em będzie Notion.
I gdybyśmy mieli takie 2 item'y, zobaczmy co się stanie.
Jako output dostaniemy dwa bundle, czyli dostaniemy osobno Webflow i osobno Notion.
To znaczy, że później te dwa kolejne bundle
polecą do Airtable, czyli będziemy mieli raz wykonany dla jednego bundle'a Airtable i
drugi raz wykonany dla drugiego bundle'a Airtable.
I to jest właśnie to, o co nam chodzi, czyli przejdźmy do search records.
Przejdźmy do formula, teraz usuńmy tutaj tablicę preferred tools
i zamiast tej tablicy wstawmy value wstawiam to w ciapkach, bo tutaj oczekujemy string'a.
Będziemy potem szukać.
Szukamy w expertise i to powinno zostać
przeiterowane indywidualnie dla każdej wartości value zwróconej z iteratora.
Wybieram polecenie Ok.
I teraz żeby to przetestować już potrzebowałbym rzeczywistych danych, tzn.
że mogę na chwilę wybrać disable root, a
także odpiąć ten moduł po to żeby jeszcze teraz nie wysyłać maili.
Teraz to zapiszę.
No i chciałbym to przetestować.
Jeżeli teraz wybiorę polecenie Run no to nie dostanę żadnych wyników.
Muszę jakąś ofertę zatwierdzić.
Najpierw tą sobie powiele, żebym mógł później
jeszcze testować, więc wybieram polecenie accepted.
I tutaj ważna bardzo rzecz zmieni mi się w
momencie, gdy cokolwiek zmodyfikuje ta data modified.
I to właśnie o to chodzi.
Zobacz, że jak kliknę accepted.
Zmieniła mi się data modified.
To o to chodzi dlatego, że tutaj w tej sekcji watch records w tym module.
Ja właśnie patrzę po tej dacie modified i
dzięki temu ja będę w stanie znaleźć ten nowy rekord i zobacz teraz co się stało.
Został wywołany ten operator, ten iterator w output'cie zwrócił mi value Webflow, czyli
to było dokładnie ta jedna rzecz, która była w ofercie tutaj Webflow.
No i przeszukał rekordy w wśród osób, które znajdują się na liście freelancer'ów.
W poszukiwaniu tego Webflow, powinienem nam znaleźć
dwa rekordy, czyli Gerty'ego oraz Grega copy.
Zobaczmy czy tak się stało.
Jest jeden wynik, ale w output'cie znajdują się dwa bundle.
Pierwszy bundle to jest właśnie Gerty, drugi budle
to jest Greg copy i rzeczywiście to działa.
Dodatkowo możemy tutaj w expertise zobaczyć
co znalazł w tym bandle'u pierwszym, że Gerty ma Webflow, Airtable i Notion a Greg
ma w expertise samo Webflow, ale to też zadziałało.
No bo szukaliśmy po Webflow. Żeby mieć pewność, że wszystko działa
poprawnie, powinniśmy w zasadzie jeszcze wykonać jeden eksperyment.
Znowu zduplikuje sobie ten rekord.
A następnie w tym rekordzie dodam jeszcze tutaj Airtable i zobaczę czy przy dwóch
elementach w preferred tools po zaakceptowaniu będę miał dobry wynik
również tutaj. Wybieram polecenie Rune once i powinno mi to znaleźć
w zasadzie zobacz, że tutaj mamy dwie operacje
teraz dla tego, że zwróciliśmy dwa bundle i dla Webflow szukamy i osobno dla Airtable.
Rzecz jasna można to by było połączyć, że
szukamy osób, które zawierają w skill'ach tylko to i to, ale wydaje mi się, że tak
znajdziemy więcej freelancerów, wyślemy więcej propozycji, więc jest ok.
No i tutaj te dwie operacje zostały wykonane.
Pierwsza dla Webflow, gdzie znalazło nam te dwa rekordy i druga dla Airtable, gdzie
znalazło nam w output'cie też dwa rekordy i to też jest ok.
Czyli można powiedzieć, że mamy to gotowe.
Teraz zostało jeszcze dorobienie maili
tutaj enable root daje na confirmation to company to jest gotowe, ale my jeszcze musimy
wysyłać i maile do wszystkich osób znalezionych tutaj.
I to będzie stosunkowo proste, bo
wystarczy, że teraz podamy, tylko musimy się upewnić, że tutaj wyczyśćmy na chwilę.
Musimy się upewnić, że wysyłamy pod dobre adresy email, czyli musimy tutaj wskazać
adresy, które wyszuka nam ten moduł Airtable 8, czyli ten, który szuka w freelancer'ach.
Tutaj jest email takiego freelancer'a.
Musimy go wpisać name.
Opcjonalnie możemy też to zrobić.
Wybieram polecenie name.
Dobra, wybieram ok.
No i oczywiście trzeba było zmienić treść tego maila.
Czyli tutaj w temacie możemy wpisać, że jest dla Ciebie nowa oferta dostępna.
No a w treści moglibyśmy podać rozmaite dane tej oferty.
Mamy je wszystkie w tej sekcji 1.
Czyli moglibyśmy podać z jakiej firmy, moglibyśmy
wkleić tutaj opis, no ale przede wszystkim zależy nam na tym, np.
budżet też możemy wkleić tak dalej, czyli
wszystkie te dane możemy dodać, możemy je opakować jakimś tekstem,
ale przede wszystkim zależy nam na tym, żeby ta osoba, jeśli jest zainteresowana,
aplikowała na tą ofertę i możemy wstawić, że aplikuj teraz,
a następnie podamy tutaj adres, pod którym można aplikować.
I to też będzie fajne, ponieważ na razie jeszcze tego adresu nie mamy.
Ja to chwilowo zatwierdze i przejdę do naszej strony.
Tutaj jest też taki guzik apply for a job.
Chciałbym, żeby zarówno ten guzik jak i to
co wysyłamy w mailu tutaj linkowało w zasadzie do tej samej
ankiety, którą stworzymy sobie tym razem na Typeform'iem.
W zasadzie zanim to zrobimy, można by było upewnić się, czy na pewno to zadziała,
czy na pewno wyśle się ten email pod oba adresy i możemy to spróbować
wyemulować sobie nawet jeszcze odpalić raz ten cały scenariusz,
zatwierdźmy ten rekord, który tutaj był wcześniej i zobaczmy jak to się uruchomi.
Powinno wysłać nam zarówno maila z potwierdzeniem teraz jak i tutaj.
No i zobacz, że zostały wykonane dwie operacje.
Najpierw zostało wysłany email pierwszy do Gerty'iego na adres
hello@codeless.how
a później została wykonana operacja druga, gdzie został wysłany email do Grega copy.
On ma co prawda taki sam adres,
ale został wysłany do tej drugiej osoby.
Czyli to działa dobrze.
Tutaj wysłaliśmy maila do,
mamy jeden adres do codeless copy copy,
czyli właśnie do tej osoby która zgłaszała ofertę.
No a tutaj z freelancer'ów wybraliśmy i Gerty'go i Grega copy którzy mieli Webflow.
Więc wszystko jest ok.
Ta automatyzacja działa nam poprawnie.
No to teraz powinniśmy zadbać o to, żeby dało się stąd aplikować na tą ofertę.
No i zrobimy to w ten sposób, że utworzymy nową ankietę na Typeform.
Jeśli założysz bezpłatne konto na Typeform, będziesz mógł skorzystać z tych
wszystkich funkcji, które tutaj są potrzebne.
Ja zrobiłem nowy workspace dodając go tutaj.
Nazwałem go job board.
Następnie tworzę sobie nową ankietę, czyli wybieram Create new Typeform.
Możesz zacząć od jakiegoś fajnego szablonu
albo możesz po prostu wybrać start from scratch, żeby zacząć od czystej kartki.
Nazwę go job board submissions wybiorę polecenie
Continue i będę mógł dodać tutaj pierwsze pytanie.
I mogę teraz dodać tu kilka pytań, które są stricte związane z tą ofertą.
Czyli przykładowo mógłbym umieścić pole
long text i wpisać tutaj pytanie na zasadzie dlaczego jesteś, dlaczego
myślisz, że jesteś dobry do wykonania tego konkretnego zlecenia?
Mógłbym też zacząć dodawać takie rzeczy jak przykładowo
nawet tutaj jest coś takiego jak fail upload, czyli mógłbym poprosić o wrzucenie
Twojego CV, aczkolwiek nie chcę tego robić.
Wybieram polecenie Delete dlatego, że takie
właśnie dane generyczne dla kandydata powinienem mieć w mojej bazie
freelancer'ów, czyli powinienem mieć w Airtable w zakładce freelancers.
W związku z tym tutaj raczej powinny się
znaleźć tylko specyficzne rzeczy w kontekście tego konkretnego zadania.
Może na ile je wyceniasz?
Dlaczego jesteś dobry do tego zadania?
Może jeszcze moglibyśmy dodać takie pytanie kiedy możesz zacząć?
W sumie można kliknąć na właściwości tego pytania i można zmienić short text np.
na date,
powinno tutaj być pole, które pozwoli nam wybrać datę.
No i możemy jeszcze wpisać wiele jakiś różnych rzeczy.
Natomiast jak możemy to połączyć ze wspomnianą przeze mnie
tą zakładką freelancers i dobrać się do jakichś danych, które mamy tu,
bo zakładam, że tutaj w formularzu ktoś
mógłby wgrywać swoje CV i wszystkie inne dane, które są potrzebne na tym etapie.
Natomiast w Typeform'ie potrzebujemy tylko to jakoś połączyć i Typeform oferuje
taką świetną funkcję, która niestety jest dostępna tylko w płatnym planie, ale
możesz skorzystać z darmowego triala i sobie ją przetestować.
I polega ona na możliwości, możliwości
dodania tak zwanych ukrytych pól, czyli hidden fields.
Wybiorę teraz tą opcję i to oznacza, że możemy w ramach naszej ankiety wybrać
wpisać nazwę takiego pola i ono zostanie przekazane.
Zobacz jak wygląda teraz adres naszej ankiety.
To ja zacznę wpisywać i wybiorę enter to do adresu zostanie dopisane takie pole, a
my będziemy mogli przygotować jego jakby przekazać dla niego wartość.
Teraz dokładnie Ci wytłumaczę o co chodzi.
Stworzyliśmy już to pole hidden fields, ale tak naprawdę czego my powinniśmy szukać?
Zobaczmy w naszym scenariuszu, co potrzebujemy zrobić.
W momencie, gdy ktoś zaaplikuje na ofertę, potrzebujemy wysłać email z
potwierdzeniem i wysłać i maile z aplikacją.
Czyli my potrzebujemy adres email osoby,
która się zgłasza i adres email osoby, która dała ofertę.
No i te rzeczy można łatwo wziąć z naszej automatyzacji tzn.
że tutaj dodamy sobie ukryte pola w postaci email freelancer
wybieram return, enter oraz email company.
I teraz nasz adres wygląda w ten sposób
możemy go skopiować command C, przejść do automatyzacji i w SendGridzie
tutaj gdzie mamy apply now wkleić po prostu ten link.
Ponieważ tu mamy wszystkie te dane to będziemy mogli podstawić pod iksy
adres email freelancer'a email, który mamy zwrócone tutaj.
To jest to.
No i adres email firmy to będzie company, czyli to.
Ale to oczywiście nie jest wszystko i możemy tu przekazać szereg innych danych w
taki sposób ukryty w ramach ankiety, żeby już ktoś nie musiał tego wypełniać.
Podam Ci jako przykład coś takiego, że
możemy tutaj przekazać następujące pola FID i to będzie freelancer ID.
A następnie podamy pole OID, czyli offer ID.
Teraz zobacz, że doszły nam tutaj pola & freelancer ID i offer ID.
Po co mi to będzie? Zaraz Ci pokażę, przejdę do automatyzacji
i jeszcze to sobie dodam, czyli na końcu linku wkleję.
I mamy tak freelancer ID,
wklejamy tutaj identyfikator Freelancer'a, a nie mamy identyfikatora freelancera?
No dobra, to najpierw dodamy offer ID,
OID, wybieram job ID.
To jest dokładnie to, bo ID tutaj to jest identyfikator tego pola.
Natomiast my musimy jeszcze dodać freelancer ID, czyli musimy przejść do
naszego Airtable, dodać tutaj jeszcze jedno pole i możemy to pole nazwać freelancer ID,
a następnie powiedzieć, że to jest autonumber.
Wybieram polecenie Save
i fajnie jest ten number umieścić sobie gdzieś tutaj, a nawet może to być nasza
główna kolumna, ale mniejsza o to na razie.
W każdym razie jeśli to już jest, to
musielibyśmy tak najpierw zatwierdzimy te dane.
Teraz musimy jeszcze raz wywołać to search records, żeby nam znalazło rekordy i możemy
jako value tutaj przekazać Webflow, żeby cokolwiek znalazł.
Wybieram polecenie Ok.
W tym momencie te dane nam się odświeżą
w automatyzacji nie musi całej wywoływać, wystarczy tutaj już jak wejdę do SendGrid'a
to teraz te nowe dane powinny być dla mnie dostępne,
czyli freelancer ID jeśli kliknę powinienem dostać tutaj freelancer ID.
Dobra. I mamy to zrobione.
Czyli podsumowując teraz nasza automatyzacja potrafi wybrać osoby, które
są zainteresowane i osobno do nich wysłać maile w taki sposób, że wyśle do nich
preformatowany link, gdzie zawiera pewne już jakby wypełnione odpowiedzi w ankiecie.
Gotowe. Więc to jest ok.
Będziemy musieli teraz przejść do Airtable, a następnie dodać jeszcze jedną
tabelę, do której będą trafiały po prostu te jobs submissions
więc możemy to zrobić job submissions
I teraz jak chcielibyśmy to skonstruować? No właśnie.
Na pewno możemy tutaj odbierać te wszystkie pytania, czyli dlaczego jesteś
dobry? I kiedy możesz zacząć? I wszystkie inne, które znajdują się w ankiecie.
A dodatkowo możemy odbierać tu wszystkie
te pola, czyli email freelancer'a, email firmy i identyfikatory.
Czy to wystarczy?
Zastanawiam się jeszcze nad tym, co można by było wrzucić tutaj jako name.
I to będzie dosyć istotne.
Moglibyśmy tutaj zrobić np.
nazwę firmy, nazwę freelancer'a.
Moglibyśmy ewentualnie przekazać datę wykonania i datę zgłoszenia takiego
formularza, więc moglibyśmy zmienić to pole na date.
W sumie może to być nawet i tekst, który tutaj przekażemy.
W jaki sposób moglibyśmy sformatować tą datę,
ale żeby to zrobić, to znowu
musielibyśmy tutaj dodać pole date i dopisać to jeszcze raz.
Przejdźmy do Integromatu i dopisać to tutaj.
Znowu po znaku & mamy iksy.
No i teraz trzeba by było przekazać tutaj jakoś sformatowaną datę.
Już wiesz jak to robić, ale chciałem Ci pokazać, że możesz jeszcze z daty wybrać
coś takiego jak format date i to jest bardzo fajne, ponieważ te formaty daty.
Możesz sformatować tą datę wtedy np.
wpisując dzień, miesiąc, rok albo jeszcze dodając godzinę, minutę.
Pokażę Ci jak to wygląda.
Korzystamy z format date.
Tutaj przekazujemy now czyli teraz, a tutaj jak chcemy to sformatować np.
gdybyśmy chcieli dni, miesiąc
i rok po myślniku to możemy to tak zrobić w ten sposób.
Możemy jeszcze tutaj zrobić np.
godziny i minuty.
Dlaczego godzinę zrobiłem z dużych?
W ten sposób będę miał zegar 24 godzinny.
Gdybym zrobił godziny z małych, będę miał zegar 12 godzinny.
Ale to mniejsza o to.
Możesz to doczytać wszystko tutaj, ale ja chciałem przekazać tą datę dlatego, że
wydaje mi się, że to będzie fajne w kontekście tego, że teraz ta data zaraz
zobaczysz, wszystko Ci się zaraz zacznie składać w całość.
Że ta data będzie przekazana w to miejsce,
w to miejsce będziemy chcieli przekazać to pytanie i w zasadzie czemu
by nie skopiować całej nazwy tego pytania?
To jest akurat long text, więc zostawimy.
Wybieram polecenie Save.
Następnie mamy takie pytanie: When you can start?
i to wpiszemy tutaj i to będzie data.
Więc zróbmy tutaj pole z datą.
Bardzo istotne jest to, zaraz zresztą
zobaczysz, żeby zgadzały nam się typy tych pól.
Jeżeli tu jest date to tam ma być date.
Natomiast bardzo ważne jest też to, że jeśli coś będziemy przekazywali w
parametrze, to będzie to przekazywane zawsze jako string'i.
Czyli np.
jeśli mamy tutaj freelancer ID to nie będzie numer tylko będzie zawsze text.
Czyli mamy jeszcze email freelancer
company i to też nie będą maile tylko text i tak samo identyfikatory.
Także musimy to dodać.
Dodajemy tutaj freelancer
email.
I to będzie single line text po prostu, kolejno będzie company email.
Też single line. Freelancer ID i offer ID.
I jeszcze mamy tą datę, ale ona będzie przekazana tutaj.
No dobra, wygląda na to, że wszystko mamy.
To teraz trzeba by było jeszcze raz upewnić się, że jest to
opublikowane z tymi wszystkimi polami i trzeba by było połączyć to z Airtable.
Możemy zrobić to na dwa sposoby.
Pierwszy to wbudowane integracje, czyli narzędzia, które znajdują się na liście.
A gdybyśmy nie mieli narzędzia na liście
albo chcielibyśmy w ogóle zrobić coś własnego, to korzystamy z weebhok'a.
Tutaj dodamy sobie nowy webhook wpiszemy adres webhook'a, który wygenerujemy na
Integromacie no i będziemy mogli odebrać po prostu dane całej ankiety i zrobić z nimi
wszystko, co tylko chcemy przetworzyć tak jak chcemy.
Natomiast my skorzystamy z tej wbudowanej integracji,
czemu nie? Skoro jest tutaj połączenie do Airtable.
Łączymy się z Airtable i wybieram odpowiednie połączenie.
Wybieram marketplace, następnie tabelę job submissions.
I teraz muszę połączyć pytania z moimi polami, czyli wybieramy pytanie na Typeform'ie:
Why you think you're good for this job? Dlaczego jesteś dobry?
I tutaj dlaczego jesteś dobry?
Ok, następne, kiedy możesz zacząć? I tutaj powinno być
kiedy możesz zacząć? Następne.
Tutaj już mamy same ukryte pola.
Ok, to najpierw email freelancer, bo jest na górze po prostu
dlatego z freelancer email łączymy.
Później email company łączymy z company email.
Przekazujemy kolejno FID jako FID i jeszcze mamy OID przekazane jako OID.
I w końcu ostatnie data przekazujemy jako datę.
Wybieram polecenie Continue.
Mamy możliwość aktywowania takiej integracji.
No jest, działa.
Co to znaczy, że to działa?
To znaczy tyle, że jeśli przeszlibyśmy
teraz do tej ankiety i ją wypełnili, to otrzymalibyśmy dane.
Tyle że my potrzebujemy ją wypełnić.
W zasadzie w takim schemacie, jaki tutaj dostajemy, czyli mamy w pewien sposób
sformatowany link, gdzie przekazujemy rozmaite dane.
Moglibyśmy,
I w ogóle zauważyłem, że się pomyliłem, bo zobacz, że mamy company, następnie
freelancer ID i po znaku równości powinien być dopiero freelancer ID.
Musimy to przenieść
za znak równości i taki drobny błąd by mnie na pewno wiele kosztował.
Jeszcze raz.
FID to powinno być równa się freelancer ID
& OID tutaj jest dobrze.
& date tutaj jest,
powinno być dobrze.
Czyli taki link.
Możemy w zasadzie go przetestować w ten
sposób, że wrzucimy go sobie teraz w nowe, w nową zakładkę i podstawimy te dane.
Email freelancer równa się i przekażmy tutaj jakiś email test@test.com.
To samo zrobimy w company email czyli test@test.com. Freelancer ID
przekażemy powiedzmy tutaj 1 offer ID przekażemy np.
10 i datę chcemy sformatować
w ten sposób zostawię ten format. Ok.
I możemy teraz spróbować wcisnąć enter.
Powinniśmy pójść do Typeform'a i powinny
wszystkie te dane być przekazane pod spodem.
Dokładnie tak, jakby ktoś kliknął z tego linku w mailu.
Teraz może podać swoje odpowiedzi.
I podać też datę, kiedy może zacząć,
a następnie wybieramy polecenie Submit i idziemy do naszego Airtable.
I proszę bardzo wskoczyło.
Czyli mamy dobrze zrobioną, zrobione połączenie.
Jeśli w Integromacie wszystko działa to powinno być ok.
No i mamy wszystkie dane, które są nam potrzebne do tego, żeby zrealizować
zadanie, które przed sobą postawiliśmy, czyli żeby wysłać confirmation email
zarówno do aplikanta, jak i do firmy, bo mamy te dwa adresy email.
Nie będę tego robił, bo to jest już
banalnie proste w kontekście Integromatu,
po prostu tworzysz sobie następną
automatyzację, która sprawdzi nam nowe rekordy w job submissions.
Oczywiście dodamy tutaj coś takiego jak
created i będziemy po created date w Integromacie
mogli sobie sprawdzić jakie nowe rekordy tutaj doszły,
ale jak zwykle zrobiłem, ale jak zwykle dodatkowo zrobiłem tutaj coś ekstra.
Mianowicie przekazałem tutaj freelancer ID i offer ID i zrobiłem to nie bez powodu.
Dlaczego? Dlatego, że chciałem pokazać jeszcze jedną
fajną rzecz, czyli możliwość łączenia ze sobą różnych zakładek.
Jeśli wybierzesz +, a następnie wpiszmy, że to jest freelancer.
I teraz wybierzemy coś takiego jak link to another record, będziemy mogli przejść do
freelancers do tej pierwszej zakładki i który rekord chcemy podlinkować?
Chcemy tylko jeden,
czyli wyłączę multiple records
i wybiorę polecenie Save a to który konkretnie lookup field,
czyli który rekord będziemy linkować.
Możemy wybrać po freelancer ID.
Czyli teraz możemy dodać jeszcze jedno
pole takie pole lookup, gdzie już połączyliśmy się z zakładką freelancers.
I teraz po którym polu chcemy się połączyć?
Wybieram to freelancer ID add one field
i de facto moglibyśmy nawet automatycznie to zczytywać.
Niestety tu przychodzą string'i, ale jeżelibyśmy webhook'a tam w Typeform'ie
to moglibyśmy wysyłać to z Integromatu jako liczbę.
I teraz w polu freelancer pojawi się możliwość wybrania naszego freelancer'a.
Wiemy jaki jest identyfikator, więc możemy wpisać jedynkę.
Tutaj go tylko nam znajdzie.
Możemy go wskazać, że to jest Gerty.
Tak naprawdę to pole freelancer ID jest techniczne, zaraz je ukryjemy, ale
ukryjemy je razem z jeszcze jednym linkiem do company czy w zasadzie do offer, bo
powinniśmy połączyć to właśnie z offer, czyli link to another record offers.
Znowu tylko jeden rekord chcemy łączyć
Save i tym razem znowu będziemy łączyli tym razem po job ID.
Wybieram add one field.
I wspomniałem, że to są właśnie takie techniczne pola, więc możemy je ukryć.
Wybieram polecenie hide fields i zarówno to jak i to ukryjemy.
Natomiast freelancer możemy wybrać i offer też możemy wybrać.
Zobacz, że mamy offer ID 10.
Tutaj mamy już właśnie tę ofertę, offer ID 10.
Możemy też wpisać 10 i
wyszukać i proszę bardzo, połączyliśmy to z freelancer'em i z ofertą.
Dlaczego to jest ciekawe?
Dlatego, że teraz takie połączenie działa we wszystkich naszych zakładkach.
Czyli gdy wejdziemy do freelancer'ów,
to będziemy mieli Gerty'iego, który aplikował na job submission.
I właśnie specjalnie dałem tutaj tą datę.
W ten sposób sformatowaną, że będziemy mogli szybko zobaczyć po dacie wszystkiego jego
job submissions, będziemy mogli w to kliknąć, podejrzeć cały submission, który zgłosił
I tak samo będzie w ofertach, bo w ofertach też mamy do tej konkretnej oferty
informację o połączonym rekordzie z tej tabeli job submissions
i też jest on po prostu po tej nazwie, która tutaj jest datą.
Moglibyśmy tą nazwę jakoś inaczej
wygenerować, ale tak przyszło mi do głowy, że data będzie całkiem spoko.
Też możemy to podejrzeć.
No i tak samo w job submissions mamy możliwość
kliknięcia i podejrzenia sobie freelancer'a i możliwość podejrzenia samej oferty.
Moim zdaniem bardzo fajne, oczywiście w
zależności od tego co później biznesowo chcesz zrobić.
W kontekście tych job submissions to co my powinniśmy zrobić, to tak jak
powiedziałem jest już banalnie proste, bo wystarczy nowy scenariusz w Integromacie,
który wyśle, który sprawdzi ten rekord nowo dodany i wyśle pod te dwa adresy
emaile z jakąś treścią, z informacją dla tej osoby, że
jej zgłoszenie zostało wysłane dla tej osoby, że jest nowe zgłoszenie.
No i teraz właśnie w tym mailu będziemy mogli wyciągnąć sobie jakieś dane.
Dlatego im więcej danych tutaj będziemy mieli tym lepiej, bo będziemy mogli
podesłać je w zgłoszeniu do konkretnej firmy.
Tak jak powiedziałem, to już wykracza
trochę poza zakres tego, co sobie założyliśmy.
Zakładam, że te maile są bardzo proste do zrobienia, a nam została do zrobienia
ostatnia rzecz, czyli wyłączenie oferty po 30 dniach.
Po 30 dniach mamy automatycznie ukryć taką ofertę na stronie.
Czy to będzie proste, czy to nie będzie proste do zrobienia?
Myślę, że będzie całkiem proste, bo mamy przecież ofertę i mamy tą sekcję job
offers, która nam pokazuje listuję te aktywne oferty.
Czyli jeśli oferta jest aktywna, ona trafia do job offers, jeśli nie, to jej po
prostu na stronie nie widać, jeśli tutaj jej nie ma w tym widoku.
Więc my po prostu z tego widoku będziemy
musieli odfiltrować te oferty, które są starsze niż 30 dni.
Mamy oczywiście tutaj created time i tego się zaczepimy.
Czyli stworzymy jeszcze jedną kolumnę.
Pewnie będą nam potrzebne dwa obliczenia.
Pierwsze to będzie offer expiry date.
Czyli kiedy wygasa taka oferta i stworzymy ją oczywiście jako formułę,
bo będziemy chcieli wyliczyć w tej formule 30 dni.
Dodać będziemy chcieli do tej konkretnej daty.
Jak można to zrobić?
Jeżeli wyszukasz sobie po date,
to mamy coś takiego jak date add i to jest rzeczywiście to, o co nam chodzi.
Możemy kliknąć w środku i zobaczyć, że to
dodaje do jakiejś daty określoną ilość dni.
Podobnie jak w Integromacie możemy sobie wpisać jaki unit chcemy dodać np.
tygodnie, dni itd.
i dodać albo odjąć.
Czyli najpierw potrzebujemy datę.
Ta data to będzie oczywiście nasze pole created, czyli znajdźmy to pole created.
Teraz po przecinku potrzebujemy do niego dodać 30.
No i jeszcze możemy tutaj wpisać jednostkę, bo nie wiem czy jest domyślna.
Pewnie nie jest. W związku z tym musimy tutaj wpisać days.
Ok. Moglibyśmy week itd.
Wydaje mi się, że to powinno zadziałać.
Wybieram polecenie Save i mamy poprawnie wyliczone daty.
Rzeczywiście są poprawnie wyliczone,
natomiast są inaczej sformatowane, ale mi to w ogóle nie przeszkadza.
W związku z tym, no mamy to, wiemy kiedy oferta powinna wygasnąć.
No i teraz najtrudniejsze zadanie przed
nami, czyli jak ją usunąć z tego widoku w momencie, kiedy ona dojdzie do tej daty.
Jednym z rozwiązań, które możemy zrobić i ja tutaj wpiszę nazwę jako expire count,
czyli odliczanie do tego, aż ona wygaśnie.
Zobacz o co mi chodzi.
Stworzę tutaj formułę i po prostu postaram się porównać ten
dzień, kiedy oferta wygasa z dniem dzisiejszym.
Jeżeli dzisiaj wygasa, to po prostu będę mógł ukryć. Jak mogę to zrobić?
Jest tutaj coś takiego, wyszukujemy
znowu po dacie, jak date time diff
czyli różnica między jedną datą from a drugą datą to.
I znowu mamy unit, czyli np.
podajemy sobie weeks czy days czy cokolwiek.
Czyli teoretycznie gdybym ja teraz
sprawdził różnicę pomiędzy tą datą expire date czyli offer expire date.
Ok, mogę znaleźć.
Dlaczego w klamerkach?
Dlatego, że zawiera spacje.
Jeżeli zawiera spacje to musimy ją zawrzeć w klamrach, bo inaczej nie będzie działać.
A więc offer expire date porównujemy po przecinku.
Z jaką datą?
Otóż porównujemy ją z dzisiaj.
Na szczęście Airtable ma coś takiego jak today, więc możemy skorzystać z today.
I teraz porównujemy te dwie daty.
A co chcemy porównać?
Musimy jeszcze dać jej jednostki.
Czyli znowu musimy wpisać days i wybieram polecenie Save i zobaczmy.
I to jest dokładnie 30 dni.
W momencie gdyby coś było utworzone możemy,
nie możemy tego zmienić, ale
nawet dobrze odlicza, dobrze odlicza,
więc jutro będzie tutaj 29 dni, 28 itd każdego kolejnego dnia.
A w momencie gdy dojdzie do zera to będę chciał usunąć to z tej tabelki job offers.
Więc w tabelce job offers, która wyświetla się na stronie
będę musiał filtrować po jeszcze jednej rzeczy add filter i dodamy sobie tutaj filtr,
który sprawdzi mi czy expire count jest większy od zera
i jeśli to będzie większe od zera to znaczy, że jeszcze te dni sobie lecą.
A jeżeli to będzie 0 albo mniej, no to wtedy już ta oferta powinna zostać ukryta.
Więc to jest rozwiązanie, które pozwoli nam wyrzucić te rzeczy z widoku,
a to znaczy, że zostaną też wyrzucone z naszej strony.
No dobra, super, czyli mamy cały scenariusz gotowy.
Nie było to proste.
Dla mnie też nagranie tego materiału i
zbicie tego, skoncentrowanie w około godzinę czy godzinę 10 to naprawdę było
spore wyzwanie, ponieważ większość rzeczy też robiłem na bieżąco, ale mogłeś
zorientować się po godzinach, że zajęło mi to z 2 czy 3 razy dłużej.
Ale z drugiej strony wydaje mi się też, że
fakt, że to jest w całości też ma pewną zaletę jest to zwarte i ja jeszcze
podzielę to na sekcje jeśli chodzi o wideo, więc będziesz mógł do nich wracać.
Natomiast też proszę nie przejmuj się
jeżeli będziesz miał kilka podejść do tego typu materiału.
No właśnie o to chodzi, żeby w pewnym momencie sobie zatrzymać, cofnąć,
przerobić coś jeszcze raz i prawdopodobnie ten materiał zajmie Ci jego przerobienie
kilka godzin, podobnie jak mi robienie tego.
W związku z tym na spokojnie proszę poeksperymentuj.
Najważniejsze jest dla mnie to, że udało mi się przekazać wiele naprawdę kluczowych
koncepcji i patrząc na to, co już mamy przerobione i dodatkowo to co pokazałem
teraz w Integromacie również rozmaite operacje połączenie SendGrid'a,
operacje takie logiczne też w Integromacie czy np.
w Airtable. Sporo funkcji i formuł przerobiliśmy.
To są naprawdę rzeczy bardzo zaawansowane i z pomocą wiedzy przynajmniej
zorientowania się tego, że to tak działa i można to tak zrobić, no to Ci daje
naprawdę te ogromne możliwości później, jak zrobić już tą konkretną rzecz?
Rzeczywiście no
będzie trzeba poeksperymentować, prawdopodobnie poszukać czegoś w
dokumentacji formuł, ale ważne, że już wiesz, że aha, ok, jest taka
funkcja daty, jest taka formuła albo w Integromacie,
aha, mogę przeformatować datę, albo mogę
połączyć SendGrid'a po to, żeby wysyłał dla mnie wiadomości i nie
muszę tego robić z mojej skrzynki.
Naprawdę to jest bardzo cenna wiedza,
którą warto mieć i wszystkie te lekcje praktyczne, które przygotowałem.
Myślę, że naprawdę dają taki kompleksowy
obraz rozmaitych rzeczy, które można wykonać i na ich podstawie możesz
praktycznie nieskończone scenariusze tutaj robić stron, które działają, jakiś MVP działających.
No i mam nadzieję, że będzie to dla Ciebie
też bardzo ciekawa przygoda, że po eksperymentujesz z tym.
Tym czasem dziękuję Ci za uwagę w tej części.
No i do usłyszenia.