Wyświetlanie 'Default message' w Chatfuel tylko raz

Jak zintegrować Chatfuel z Google Sheets?

Każdy nieco bardziej złożony chatbot przetwarza dane. Mogą to być m.in. dane osobowe (np. imię, wiek, adres) czy dane aplikacji (np. menu, opisy, statystyki). Chatfuel umożliwia nam przechowywanie danych w postaci atrybutów, ale to rozwiązanie ma swoje ograniczenia. W związku z tym należy poszukiwać innych sposobów przetrzymywania i przetwarzania danych. Najbardziej oczywistym z nich, ale jednoczenie wymagającym wiedzy technicznej jest przechowywanie danych w bazie danych. Ja chciałbym jednak w dzisiejszym wpisie przedstawić sposób nieco mniej techniczny, ale równie dobrze sprawdzający się w przypadku chatbotów – Google Sheets. Jak zintegrować Chatfuel z Google Sheet?  Tego się dzisiaj dowiecie.

Stworzymy dziś wspólnie chatbota, który zada użytkownikowi kilka pytań, zapisze odpowiedzi do Google Sheet’a oraz umożliwi sprawdzenie jakie dane zostały wcześniej zapisane. Zapraszam!

Integromat

Chatfuel posiada wbudowaną opcję integracji z Google Sheet’em za pomocą aplikacji Zapier. Co to jest Zapier? Zapier to platforma, dzięki której możemy zintegrować ze sobą setki dostępnych w internecie aplikacji takich jak: Dropbox, Gmail, Google Sheets, Evernote, a także Chatfuel. Na czym to polega? W skrócie wygląda to tak, że korzystając z gotowych elementów tworzymy w platformie tzw. Zap’y czyli wybrany przez nas przepływ danych pomiędzy różnymi aplikacjami. W prosty sposób możemy więc pobrać emaile z Gmail’a, zapisać je w arkuszu a następnie wysłać powiadomienie o tym do wybranego użytkownika. Podobnie możemy spowodować, że wiadomość wysłana do chatbota, spowoduje zapisanie wybranych elementów do Google Sheet’a, a następnie odpowie temu użytkownikowi w wybrany sposób.

Dlaczego wspomniałem o Zapier’ze, a tytuł paragrafu brzmi „Integromat”? Integromat bowiem jest konkurencyjnym serwisem, ale cennik jest nieco bardziej korzystny dla przeciętnego użytkownika. Zasada działania pozostaje podobna, tworzymy tu tzw. scenariusze, które służą do przepływu i przetwarzania danych pomiędzy aplikacjami.

Jak zintegrować Chatfuel z Google Sheet?

Cennik Zapier

Jak zintegrować Chatfuel z Google Sheet?

Cennik Integromat

Tworzymy chatbota

Pierwszym krokiem jaki musimy wykonać, aby zaprezentować w jaki sposób zintegrować chatboty z Google Sheet, jest stworzenie bota w Chatfuel i zdefiniowane w Domyślnej wiadomości możliwość do wyboru dwóch opcji – Zapisz informacje i Odczytaj informacje, które będą odpowiednio zapisywać dane do arkusza oraz je z niego odczytywać.

Jak zintegrować Chatfuel z Google Sheet?

Aby zapisać informacje musimy mieć co zapisać, dlatego przejdziemy teraz do bloku „Zapisz informacje” i dodamy element „User Input” z pytaniami, na które odpowiedzi będą zapisywane do atrybutów.

Jak zintegrować Chatfuel z Google Sheet?

Kolejnym krokiem będzie stworzenie scenariusza w Integromacie, którego zadaniem będzie zapisywanie atrybutów do Google Sheet’a. Dodamy w pierwszej kolejności element Webhook, który będzie przechwytywał wysłane z Chatfuel requesty.

Jak zintegrować Chatfuel z Google Sheet?

Po dodaniu elementu Integromat wygeneruje nam url, który musimy w tej chwili skopiować i wrócić do Chatfuel, aby użyć go podczas wysyłania informacji o użytkowniku. W Chatfuel dodajemy kolejny element do naszego bloku – JSON Api i wklejamy tam url z Integromatu.

Jak zintegrować Chatfuel z Google Sheet?

Kolejnym krokiem będzie połączenie Chatfuel i Integromatu i nagranie przykładowego Requesta, który będzie wychodził od naszego chatbota. W tym celu po stronie Integromatu klikamy ‚Run Once’,  a po stronie Chatfuel klikamy „Test this chatbot” , aby uruchomić przykładową konwersację. Następnie wpisujemy cokolwiek i przechodzimy do bloku, który wcześniej zdefiniowaliśmy i wybieramy opcję „Zapisz informacje”.

Jak zintegrować Chatfuel z Google Sheet?

Następnie wracamy do Integromatu i możemy zobaczyć, że wysłany request nagrał się i Integromat zapisał sobie wysyłane parametry jako zmienne.

Jak zintegrować Chatfuel z Google Sheet?

Kolejnym krokiem będzie zapisanie otrzymanych informacji do Google Sheet’u. Aby to zrobić musimy najpierw stworzyć taki arkusz i oznaczyć odpowiednio nagłówki (na ich podstawie Integromat będzie wiedział, w której kolumnie zapisać informację).

Jak zintegrować Chatfuel z Google Sheet?

Następnie dodajemy moduł Google Sheet w Integromacie i po uprzednim zalogowaniu się kontem Google’a wybieramy opcję „Add a row” i definiujemy, który plik i który arkusz będzie nam służył do zapisu. Po wybraniu odpowiedniego pliku system sam wygenerujemy nam miejsce na zmapowanie kolumn na podstawie wcześniej wpisanych nagłówków. Mapujemy je zmiennymi, które Integromat wygenerował podczas próbnego requestu.

Jak zintegrować Chatfuel z Google Sheet?

Tak dodany moduł zapisze informację, które użytkownik wpisał, ale należałoby również zakończyć tę część informacją dodamy moduł Chatfuel i zdefiniujemy wiadomość zwrotną.

Jak zintegrować Chatfuel z Google Sheet?

Test zapisywania danych

Tak dodany workflow możemy przetestować uruchamiając go jednorazowo, jak na początku lub włączając go na stałe. Efekt?

Jak zintegrować Chatfuel z Google Sheet?

Jak zintegrować Chatfuel z Google Sheet?

Odczytywanie danych

Jeśli zapisaliśmy dane do arkusza to należałoby je teraz odczytać. Aby to zrobić musimy stworzyć kolejny scenariusz – do odczytu danych. Postępujemy podobnie jak przy zapisie:

  • Dodajemy Webhook’aJak zintegrować Chatfuel z Google Sheet?
  • Kopiujemy wygenerowany url i wklejamy go w elemencie JSON API w Chatfuel, tym razem tylko z parametrem messenger_user_id ( w celu pobrania informacji o bieżącym użytkowniku)Jak zintegrować Chatfuel z Google Sheet?
  • Odpalamy jednorazowo Webhook’a, aby nagrać request i przechodzimy do bloku odczytu w ChatfuelJak zintegrować Chatfuel z Google Sheet?
  • Dodajemy moduł Google Sheets do scenariusza i wybieramy tym razem Select rows”Jak zintegrować Chatfuel z Google Sheet?
  • Aby wybrać odpowiedni wiersz wpisujemy w polu „Filtering” formułę do wyszukiwania odpowiedniego wierszaJak zintegrować Chatfuel z Google Sheet?
  • Dodajemy moduł Chatfuel, w którym wygenerujemy wiadomość z informacjami wcześniej uzupełnionymi przez użytkownika.Jak zintegrować Chatfuel z Google Sheet?

    Test odczytywania danych

Po uruchomieniu scenariusza możemy przetestować funkcjonalność odczytywania danych z arkusza Google. Efekt?

Jak zintegrować Chatfuel z Google Sheet?

Podsumowanie

Dzisiaj dowiedzieliście się jak wykorzystać Google Sheet do przetrzymywania i przetwarzania danych oraz w jaki sposób połączyć arkusze z Chatfuel za pomocą Integromatu. Tak skonfigurowany system może stanowić pierwszy krok w kierunku implementacji chatbota dostarczającego dynamiczną treść. Należy pamiętać jednak, że zarówno Integromat , jak i arkusze Google’a posiadają swoje ograniczenia. Stanowią dobry punkt startu jeśli chcemy przetestować naszą ideę, ale gdy nasz pomysł się sprawdzi warto zamienić je na nieco szybsze mechanizmy (np. relacyjne bazy danych, napisanie własnego kodu integrującego)



Udostępnij: