Report z online hackathonu aneb Jak jsme kódili chatbota
Na začátku března jsme se společně s naším vrchním webařem Jakubem zúčastnili online hackathonu pořádaného Facebookem, jehož účelem bylo vytvořit řešení pro zasílání zpráv, které usnadní firmám komunikaci. Pro nápad jsme nemuseli chodit daleko.
Chatbota by chtěl mít každý
Naším cílem bylo vytvořit chatbota, který bude HR oddělení ve firmách ulehčovat práci s onboardingem nových lidí. Jednoho už v Ackee máme a také vznikl na hackathonu — tentokrát našem interním, který se konal několik týdnů před tím. Jelikož byl ale náš interní chatbot navržen pro Slack, bylo třeba jej kompletně předělat, aby fungoval v Messenger prostředí, což byl jeden z požadavků FB hackathonu. V čem spočívá rozdíl?
Zatímco na Slacku si vás chatbot uloží ihned po registraci do týmu, v prostředí Facebook Messengeru je nutné chatbota pozdravit a začít konverzaci, aby si vás zapamatoval. Cíl zůstává stejný: pravidelně notifikovat nové kolegy a usnadňovat tak práci HR oddělení. Taková notifikace může být například zpráva typu: Vítám tě ve frontend teamu! Tvůj team leader je Jakub Baierl, neváhej se na něj obrátit s jakýmkoliv dotazem. nebo Nezapomeň, že dnes ve 13:30 se koná týmový meeting ve velké zasedačce. Tyto notifikace chatbot uživateli zasílá po dobu zkušebky podle předem stanoveného harmonogramu. Jak to děláme?
Onboarding chatbot v praxi
Každé oddělení nebo tým má nastavené jiné zprávy i termíny jejich odeslání. O tyto údaje se stará naše HR oddělení. Jelikož ho zpravidla tvoří netechničtí lidé, bylo potřeba jim dát nástroj, který budou moct intuitivně používat a my jako vývojáři zase snadno integrovat. Zvolili jsme Airtable. Jde o typ online upravitelných tabulek ve stylu Google Docs, pro nás však s lepší uživatelskou přístupností a možnostmi přizpůsobení.
V první Airtable tabulce máme tedy několik listů (pro každý tým jeden) a v nich samotná data pro následující kategorie:
- Zpráva
- Po jaké době od registrace se má tato zpráva odeslat
- Po jaké době se má zprava odeslat znovu
- Kolikrát se má zpráva opakovaně odeslat
Aby toho nebylo málo, umí chatbot odpovídat také na základní dotazy. Například: Jak je to u nás ve firmě s dovolenou?, Kdy bude výplata? nebo Kdo je náš CEO?. Klíčová slova pro tyto fráze jsou definována v další Airtable tabulce, kterou může doplňovat každý, kdo k tomu má práva. Chatbot si pak snadno spojí klíčové slovo s definovanou odpovědí a následně dokáže uživateli například poslat odkaz na formulář na zadávání dovolené nebo třeba vysvětlit, že Bíbr není zpěvák, ale Jakubova přezdívka. Mimo Airtable jsme jako interní úložiště použili Firestore a samotný život chatbotovi vdechl Node.js.
Myslíme si, že chatboti svůj potenciál pomalu začínají naplňovat a to byl také jeden z důvodů, proč jsme se do hackathonu zapojili. Kromě toho šlo o skvělou příležitost pochlubit se tím, co v Ackee používáme pro nově příchozí kolegy, a také dát ostatním možnost si naše řešení vyzkoušet na vlastní kůži. Pokud máte zájem chatbota otestovat, stačí ho pozdravit (napište “Hello”) a zbytek už nechat na něm. Až vás chatbot omrzí a nebudete chtít dostávat pravidelné notifikace, můžete veškerou komunikaci jednoduše ukončit napsáním slova “logout”. 😉
Originally published at https://www.ackee.cz on April 18, 2020.