Microsoft Virtual Agent for Dynamics 365

Nie wiedziałem, że Microsoft zbudował rozwiązanie, które pozwala każdemu Power Userowi stworzyć własnego, bardzo funkcjonalnego czatbota. Zawsze myślałem, że tworzenie botów wymaga wiedzy programistycznej i dlatego nie jest to w moim zasięgu, ale okazuje się, że się myliłem.

W sierpniu spotkałem się z kolegą. Elias uczestniczył w Business Apps Summit na początku tego roku i wrócił pełen wiedzy, którą dzielił w bardzo inspirujący sposób. Jednym z tematów, które przedstawiał, był Microsoft Virtual Agent. Na początku nie byłem przekonany, że produkt ma potencjał, dopóki sam nie spróbowałem pracy z nim. Pozwól, że przedstawię Ci to niezwykłe rozwiązanie.

Virtual Agent screencast

Dynamics 365 Virtual Agent

Rozwiązanie zasadniczo ma na celu umożliwienie Power Userom tworzenie czatbotów, które będą dostępne dla użytkowników biznesowych na publicznych stronach internetowych lub wewnętrznych, w firmie. Aktualnie nie posiadają bezpośrednio żadnego kontekstu, w szczególności nie wiedzą nic o konwersującym z nimi użytkownikami. Wszystko, co „wiedzą”, dostarczają sami użytkownicy.

Jedyną możliwością uzyskania dostępu do danych (CDS, Dynamics 365, SharePoint) jest akcja Microsoft Flow. Flow odgrywa rolę integratora i kanału dostępowego, więc używaj go mądrze.

Po pierwsze – wymagania wstępne

Ważne! Zanim rozpoczniesz wiedz, że jest to rozwiązanie „premium”. Rozumiem przez to, że potrzebujesz subskrypcji P1 PowerApps, aby móc stworzyć środowisko i solucje, a także subskrypcji P1 Flow, aby korzystać z akcji Web request/ Web response.

Aby rozpocząć przygodę z rozwiązaniem, musisz najpierw dołączyć do programu preview. Zrób to, dołączając tutaj: https://va.ai.dynamics.com.

Następna rzecz: musisz posiadać środowisko, które nie jest „preview” i jest hostowane w USA. Jest ono wymagane by móc utworzyć bota:

Selecting correct environment for VIrtual Agent

Mając to już za sobą, możesz zacząć się wdrażać. Jeśli chcesz szybko przejść do dokumentacji Microsoft na temat produktu, odwiedź oficjalną stronę: https://docs.microsoft.com/en-us/dynamics365/ai/customer-service-virtual-agent/Overview.

Tworzenie pierwszego wirtualnego agenta

Następnie stwórz swojego pierwszego bota. Ustaw nazwę i wybierz środowisko:

Creating new Virtual Agent bot

Po krótkiej chwili bot jest gotowy. Możesz teraz przejść do ustawień bota, aby zdefiniować język, w którym użytkownicy będą się komunikować, dzięki czemu bot będzie częściej identyfikował słowa kluczowe związane z wybranym modelem:

Setting language model for the bot

Następnie przejdź do obszaru „Topics”. Tu zaczyna się zabawa. „Temat” (Topic) to w zasadzie model działania twojego bota. Zawiera słowa kluczowe i frazy, które służą do wywołania/ uruchomienia określonego tematu, a następnie jego modelu.

Tutaj znajdziesz już kilka istniejących tematów „User” i „System”. Możesz je przejrzeć i zmodyfikować, ja jednak skupię się na budowaniu nowego.

Temat – jak to zrobić

Aby utworzyć nowy temat, kliknij przycisk „New Topic” nad listą istniejących tematów:

Create new Topic in Virtual Agent

Następnie ustaw tytuł i stwórz listę fraz, które zostaną użyte do jego uruchomienia, aby bot podążał zdefiniowaną ścieżką wykonania:

Defining trigger phrases in Virtual Agent topic

Konwersacja – jak to zrobić

Konwersacja określa sposób interakcji bota z użytkownikiem końcowym. Zawsze zaczyna się, gdy użytkownik wpisze jedną ze zdefiniowanych fraz wyzwalających, a następnie wykona się określony przepływ.

Każdy krok może być jednym ze zdefiniowanych i opisanych poniżej:

  1. Każdy komunikat wyświetlany przez bot może być sformatowany przy użyciu bardzo podstawowych opcji. Pozwala także wstawiać zmienne do wiadomości.
  2. End with survey – to końcowy krok, który otwiera „Topic” systemowy „End of Conversation”.
  3. Bot says – akcja wyświetlająca komunikat od Bota.
  4. User says – akcja, która czeka na interakcję użytkownika. Może wyświetlać przyciski ze wstępnie zdefiniowanymi odpowiedziami lub czekać na dane wejściowe od użytkownika, które zostaną zapisane do zmiennej:
    1. Text – zwykła zmienna tekstowa. Może być to dowolna wartość.
    2. Age – liczba dodatnia w przedziale standardowego wieku.
    3. Number – dodatnia lub ujemna liczba całkowita.
    4. Currency – liczbowa wartość waluty.
  5. Escalate – uruchamia „Topic” systemowy o nazwie „Escalate”. Wymaga on jednak wcześniejszej konfiguracji.
  6. Action – pozwala uruchomić Microsoft Flow. Więcej informacji poniżej.
  7. Go to – pozwala przenieść użytkownika do dowolnego innego istniejącego „Topica”, User lub System.

Ważne! Póki co nie istnieje wsparcie i obsługa wyświetlania kart adaptacyjnych (Adaptive Cards). Jednak słyszałem, że zespół produktowy ma to w planach. Bądź na bieżąco 😉

Ważne jest również to, że akcja „User says” może to, co użytkownik wpisuje, albo zapisać do zmiennej, aby można ją było później wykorzystać w konwersacji, lub natychmiast przekonwertować na ścieżki, gdy możliwe odpowiedzi zostaną odgórnie określone:

User says action in Virtual Agent

Action – jak użyć Microsoft Flow

Aby móc użyć Microsoft Flow, przepływ musi być obecny solucji, na środowisku, w którym tworzony jest bot (źródło: https://docs.microsoft.com/en-us/dynamics365/ai/Customer-service-virtual-agent/how-to-flow). Najlepszym sposobem jest więc utworzenie nowej solucji, a następnie utworzenie w niej nowego przepływu Microsoft Flow.

Mając tak utworzony przepływ możesz go wybrać z listy. Pamiętaj, że wszystkie zdefiniowane atrybuty danych wejściowych będą wymagać podania danych (zmiennych), a wszystkie zdefiniowane dane wyjściowe zostaną zamienione w zmienne:

Using Action with Virtual Agent

W poniższym przykładzie Flow oczekuje dwóch wartości wejściowych i zwróci dwie jako dane wyjściowe:

Ważne! Możesz użyć języka znaczników (markup language) w zmiennych zwracanych przez Flow, aby w jakiś sposób sformatować informacje. Zobacz jakie są opcje tutaj: https://docs.microsoft.com/en-us/flow/approvals-markdown-support

Testowanie

Gdy skończysz tworzenie „Conversation”, sprawdź, czy działa poprawnie. Użyj „Topic Checker” (podobnego „checkera”, który możesz znaleźć w Flow i PowerApps), aby sprawdzić, czy występują jakieś problemy w logice tematu (np. nieosiągalne działania):

Kontroler wątków w agencie wirtualnym

Teraz zapisz swoje zmiany, a następnie kliknij w ikonkę by ponownie załaduj bota, w celu uwzględnienia ostatnich zmian. Zachęcam do włączenia funkcji „Tracking”, abyś mógł zobaczyć, jakie akcje są odwiedzane przez bot podczas rozmowy i… zacznij pisać:

Testing Virtual Agent

Deployment

Teraz nadszedł czas, aby opublikować bota, aby umożliwić klientom korzystanie z niego. Dziś jedną z możliwości opublikowania bota jest skorzystanie z witryny demonstracyjnej:

Virtual Agent demo website

Lub umieszczenie go za pomocą iframe na niestandardowej stronie internetowej, niech to będzie blog WordPress, witryna firmowa lub strona SharePoint:

Virtual Agent as part of SharePoint modern site

Słyszałem plotki, że są plany, aby działało w Microsoft Teams 🙂

Statystyki

Ostatnią częścią wirtualnego agenta jest analiza jego działania. Pokazuje ona, jak radzą sobie Twoi agenci, czy klienci są zadowoleni i zaangażowani, czy boty są w stanie rozwiązać problemy klientów itp.:

Virtual Agent analytics

Więcej informacji na temat analityki można znaleźć tutaj: https://docs.microsoft.com/en-us/dynamics365/ai/customer-service-virtual-agent/analytics-overview

Przyszłość i koszty

Informacje opublikowane podczas MBAS mówią, że Virtual Agent powinien zostać upubliczniony od października. Ponieważ jest on częścią Dynamics 365 wierzę, że będzie on dostępny dla klientów posiadających subskrypcję D365. Jednak nawet dzisiaj praca z tym narzędziem wymaga licencji premium dla Flow i PowerApps, chociaż D365 będzie kosztować jeszcze więcej.

Mam nadzieję, że spodobało Ci się to, co przeczytałeś. Jeśli potrzebujesz pomocy przy konfigurowaniu lub konfigurowaniu, nie wahaj się ze mną skontaktować.