Complete Cursus van Beginner naar Expert in Chatbots en Conversational Design
Introductie
Tijdens deze cursus zullen we kort bespreken waarom je conversational design zou moeten leren, en hoe deze cursus je zal helpen om beter te worden in het maken van chatbots. Daarna gaan we aan de slag en onze chatbot concepten alvorens we een Flow.ai account aanmaken.
Zodra we klaar zijn om onze chatbots te gaan ontwikkelen binnen het chatbot-ontwikkelingsplatform, is het tijd om templates en allerlei soorten triggers en antwoorden te bekijken, evenals andere functionaliteiten zoals entiteiten, doelgroepen, broadcasts en meer!
Daarna zullen we enkele meer geavanceerde functies bespreken, zoals hoe je een enkele chatbot voor meerdere kanalen en talen kunt maken en hoe je de bot het beste kunt lanceren en monitoren.
Ten slotte worden enkele veelvoorkomende fouten uitgelegd om ervoor te zorgen dat je ze niet herhaalt, en krijgt je alle informatie die je nodig hebt om op de hoogte te blijven van toekomstige ontwikkelingen.
Inhoudsopgave
- Waarom je Conversational Designing moet leren
- Waarom je deze cursus moet volgen
- Aan de slag gaan
- Aanmelden bij Flow.ai
- Werken met templates
- Triggers
- Replies
- Entiteiten
- Audience
- Broadcasts
- Projectinstellingen
- Chat-app
- Omnichannel-ontwerp
- Meertalig ontwerp
- Enkele laatste aanpassingen
- Je bot lanceren
- Analytics
- Veelgemaakte fouten voorkomen
- Blijf op de hoogte
1. Waarom je Conversational Designing moet leren
Als je bedrijf steeds dezelfde soort vragen krijgt, zou het inefficiënt zijn om ze allemaal elke keer door servicemedewerkers te laten beantwoorden. Soms hebben bedrijven zelfs een lijst met veelgestelde vragen met de antwoorden, en hun klantenservicemedewerkers kopiëren en plakken vrijwel alleen de antwoorden voor veelgestelde vragen.
Door een chatbot te maken die deze repetitieve taken aankan, kunnen medewerkers zich meer concentreren op de belangrijkere en complexere vragen. Hierdoor kunnen ze degenen die het nodig hebben echt helpen.
Er zijn natuurlijk veel meer voordelen die chatbots voor je bedrijf kunnen opleveren, zoals een betere bereikbaarheid, een verlaging van de kosten, een stijging van de omzet en een betere klantervaring, maar die worden al uitgelegd in Waarom hebben bedrijven met digitaal klantcontact automatisering nodig?, dus we raden je aan dat artikel te lezen als je dat nog niet hebt gedaan.
2. Waarom je deze cursus moet volgen
Als je al enige ervaring hebt met conversational design, of zelfs al met Flow.ai, zou je kunnen denken dat je al weet hoe het allemaal werkt, en dat is misschien waar, maar in werkelijkheid maken veel botontwerpers dezelfde fouten.
De meeste van deze fouten kunnen gemakkelijk worden vermeden door ervoor te zorgen dat je basisprincipes goed zijn. Als gevolg van het volgen van deze cursus zul je er waarschijnlijk achter komen dat je hele proces van het maken van chatbots efficiënter zal worden en minder kwetsbaar voor fouten, zelfs als je al wat ervaring hebt.
Het geeft je ook meer inspiratie over bepaalde manieren om specifieke problemen op te lossen of creatieve methoden om je chatbot-ervaring nog meer te verbeteren!
3. Aan de slag gaan
Voordat je gek begint te worden met het implementeren van alle verschillende botfunctionaliteiten, bevat de eerste stap eigenlijk helemaal geen ontwikkeling. Om ervoor te zorgen dat het proces zo effectief mogelijk verloopt, is het raadzaam om eerst te beginnen met het ontwerpen van je bot en je workflow.
Om je op weg te helpen, hebben we de volgende checklist gemaakt om door te nemen voordat je begint met het ontwikkelen van je chatbot:
- Analyseer huidig klantgedrag
- Maak een overzicht van je FAQ en categoriseer de vragen
- (Optioneel) Teamrollen toewijzen
Analyseer huidig klantgedrag
Allereerst is het handig om een overzicht krijgen van de manier waarop je huidige klanten zich gedragen. Via welke talen en kanalen proberen ze je bedrijf te bereiken? Wat zijn de meest gestelde vragen of klachten?
De reden dat het belangrijk is om de meest populaire berichtenkanalen voor je doelgroep te bepalen voordat je de bot daadwerkelijk ontwikkelt, is dat je voor sommige kanalen, zoals WhatsApp, bepaalde functionaliteiten op een iets andere manier moet implementeren vanwege kanaalbeperkingen, wat we later zullen doorlopen tijdens deze cursus.
Maak een overzicht van je FAQ en categoriseer de vragen
Door inzicht te krijgen in wat je klanten vragen, wordt het duidelijker waar je bot zich op moet richten. Als je de bot voor het eerst alleen voor de belangrijkste functies begint te ontwikkelen, is het gemakkelijker om later andere functies toe te voegen.
Als je al een FAQ op je website hebt staan, kan dat een goed begin zijn voor het initiële framework van je bot. We hebben zelfs een tool om je chatbot automatisch om te zetten vanuit je FAQ!
Heb je nog geen FAQ? Geen probleem. We raden je wel aan om een overzicht te maken van de meest gestelde vragen, inclusief de antwoorden op die vragen.
Het is ook handig om deze vragen op een aantal onderwerpen te categoriseren. Je kunt dit bijvoorbeeld doen in Google Spreadsheets.
(Optioneel) Teamrollen toewijzen
Als je chatbot wordt ontwikkeld door een team in plaats van alleen door jou, kan het handig zijn om rollen toe te wijzen, zoals uitgelegd in Het team achter een chatbot droom: 3 rollen uitgelegd.
4. Aanmelden bij Flow.ai
Tijdens deze cursus zullen we gebruik maken van Flow.ai, een innovatief chatbot-ontwikkelingsplatform waarmee je eenvoudig bots kunt maken zonder dat je code nodig hebt vanwege het Drag & Drop system.
Als je al een account hebt op Flow.ai, kun je doorgaan naar het volgende gedeelte van deze cursus.
We hebben schermafbeeldingen toegevoegd om het je gemakkelijker te maken om de stappen te volgen, maar het kan zijn dat tegen de tijd dat je dit leest, sommige aspecten van het platform er iets anders uitzien. Dat komt omdat Flow.ai constant probeert te innoveren en geweldige functionaliteiten te verbeteren of toe te voegen aan haar chatbot-bouwplatform.
De eerste stap is om je aan te melden.
Zorg er eerst voor dat je de servicevoorwaarden en het privacybeleid leest en vink het vakje aan als je ermee akkoord gaat.
Ten tweede kun je je Gmail-account gebruiken om in te loggen, of je kunt een ander e-mailadres gebruiken.

Nadat je op de knop Sign Up hebt geklikt, klik je op Get Started.

Vul vervolgens je naam en taal in. Maak je geen zorgen als je bots voor meerdere talen wilt maken. Je kunt later nog steeds gewoon bots in andere talen maken.

De volgende stap is om je organisatienaam in te vullen en de branche van je bedrijf te selecteren, evenals je rol binnen het bedrijf. Dit helpt ons te bepalen wat voor soort updates belangrijk voor je zijn, zodat we je relevante informatie kunnen sturen voor het geval je deze nodig hebt.
Je kunt kiezen uit onderstaande branches. Klik op een branche voor meer informatie over hoe chatbots nuttig kunnen zijn voor die specifieke industry.
- Agency
- Automotive
- Education
- Entertainment
- Finance
- Games or Gambling
- Government / Non-profit
- Healthcare
- Human Resources
- IT
- Marketing
- Media & Telecom
- Retail
- Software
- Real Estate
- Support Services
- Travel
- Other
Als je bedrijf in meerdere branches actief is, hoef je je zich geen zorgen te maken. Selecteer gewoon de branche die het beste past bij het gebruik van je chatbot. Als je een branche selecteert, worden geen functies beperkt die niet relevant zijn voor die specifieke branche, dus je kunt nog steeds alles maken wat je jezelf hebt voorgesteld, zelfs als het gedeeltelijk voor een totaal ander gebruik is bedoeld.
Selecteer Other als je branche niet echt overeenkomt met een van de vermelde opties. Flow.ai is altijd geïnteresseerd in het aanpassen aan nieuwe industrieën en om hen te helpen groeien met het gebruik van gespreksautomatisering, dus als je een chatbot wilt maken voor een totaal andere industrie, deel dan gerust je use case!
Je wordt ook gevraag om je rol binnen je bedrijf in te vullen:
- Customer support
- Design
- Engineering
- Founder / CEO
- Marketing
- Product management
- Sales
- Other

Nu is het tijd om je bot een naam te geven. Je kunt deze naam op elk moment wijzigen in de projectinstellingen. Hoe je dat doet, laten we later in deze cursus zien.
Je moet ook gelijk een taal voor je bot selecteren. Flow.ai ondersteunt meer dan 100 talen en het is zelfs mogelijk om Multilingual Chatbots te maken, chatbots die meerdere talen begrijpen. We zullen later uitleggen hoe je dat moet doen, maar voorlopig beginnen we met het maken van een Engelse chatbot.
Vervolgens moet je je primaire use case selecteren. Klik op een van de onderstaande use cases voor meer informatie:
Nadat je je use case hebt geselecteerd, is het tijd om je favoriete kanaal te selecteren. We beginnen eenvoudig door je te laten zien hoe je een chatbot op een webwidget maakt. Later zullen we ook nog wat kanalen toevoegen zoals WhatsApp, Twitter en Messenger. Vanwege het omnichannel design van Flow.ai is het mogelijk om een enkele bot te maken voor meerdere kanalen. Klik op een van de onderstaande integraties voor meer informatie:
- Web Widget
- Facebook Messenger
- Telegram
- Khoros
- Zendesk
- Sparkcentral
- Twilio SMS
- Twilio Voice
- Google Asssistant
- Alexa
- MessageMedia
- Google RBM
- Telekom RBM
- Mavenir RBM
- REST API
- Socket API
- Slack
- Rocket Chat

Als je klaar bent, ben je helemaal klaar om je eigen chatbots te maken!
5. Werken met Templates
Het eerste dat je vervolgens ziet is dat er veel templates zijn om je op weg te helpen. Deze templates zijn geweldig voor als je nieuw bent in de ontwikkeling van chatbots, omdat ze je een goed voorbeeld geven van hoe je bepaalde functies in je bot kunt implementeren. Sommige templates bevatten veelgebruikte flows voor specifieke gebruiksscenario’s, zoals klantenservice, en andere templates laten zien hoe een meer geavanceerde functie kan worden geïmplementeerd, zoals het vinden van het huidige weer.

Je kunt zelfs meerdere templates combineren, maar als je dat doet, zorg er dan voor dat er geen dubbele intents of flows in je project zitten.
Tijdens deze cursus duiken we eerst in chatbots voor Customer Service, dus voeg die template toe aan je botproject door erop te klikken. Nadat je de sjabloon hebt geselecteerd, zie je dat deze een aantal flows voor je creëert:
- Greeting
- Starting Event
- Address
- Opening hours
- Don’t match
- Unknown

We zullen elk van deze flows bespreken om te zien hoe ze werken, maar eerst laten we je zien hoe je nog een template kunt toevoegen. Klik op het Plus-pictogram naast Flows in de linkerbovenhoek van je scherm en selecteer Template.

Laten we het Webshop FAQ-template toevoegen, aangezien onze chatbot van de klantenservice de veelgestelde vragen van onze fictieve webshop natuurlijk moet kunnen beantwoorden!

Flows verwijderen
Omdat de templates vrij algemeen zijn, zijn waarschijnlijk niet alle flows van die template nuttig voor je eigen specifieke bot. Je kunt elke flow eenvoudig verwijderen door deze te selecteren (door op de flownaam te klikken) en vervolgens op het prullenbakpictogram te klikken:

De reden waarom we ervoor hebben gekozen om deze flow te verwijderen, is omdat er al een andere flow is die begint met dezelfde trigger. Elke flow zou een andere trigger moeten hebben, anders weet de bot misschien wat hij moet doen als die specifieke trigger is geactiveerd.
6. Triggers
Maar wat zijn triggers precies? Chatbots hebben in principe twee soorten acties, triggers en replies. Een trigger is een actie die een deel van de bot activeert, meestal een actie van een gebruiker. Een voorbeeld van een trigger is wanneer een gebruiker een vraag stelt aan de bot. Replies zijn wat de bot doet als reactie op de trigger die wordt geactiveerd. Een voorbeeld is de bot die reageert met een antwoord op die vraag die de gebruiker zojuist heeft gesteld.
Triggers zijn altijd roze binnen Flow.ai en replies zijn in het zwart, dus het is heel gemakkelijk om ze te onderscheiden. Je kunt triggers en replies aan je flow toevoegen door ze eenvoudigweg vanaf de rechterkant van het dashboard naar je flow te slepen.
We zullen nu alle soorten triggers bespreken en uitleggen hoe ze werken:
- Text Trigger (Intent)
- Unknown
- Media Trigger
- File Trigger
- Event Trigger
- Timer Trigger
- Any Text Trigger
- Conditions
Text Trigger (Intent)
Teksttriggers zijn de meest standaard type trigger. Ze worden ook wel intents genoemd. Een intent is gewoon een tekstbericht van een gebruiker. Enkele voorbeelden van intents zijn:
- Hallo
- Wat zijn de openingstijden?
- Wat is je adres?
- Ja
- Nee
- Dankjewel
- etc.
Mensen gebruiken veel verschillende manieren om hetzelfde te vragen of te vertellen. Om dit uit te leggen, zullen we kijken naar de eerste Intent die we zojuist als voorbeeld hebben gegeven, de “Hallo” intent.
Intent Training
Niet iedereen begroet door precies “hallo” te zeggen, aangezien er oneindig veel manieren zijn om iets anders te zeggen dat hetzelfde betekent:
- Hallo
- Hi
- Hey
- Goedemorgen
- Hallo daar!
- etc.
In het begin weet je bot niet dat “Hallo” hetzelfde betekent als “Hi”, dus je zult hem moeten leren. Dit is wat we “Intent Training” noemen. Klik op de TRAIN-knop op je intent om het te trainen.

In het Intent Training-scherm kun je variaties aan je intent toevoegen. Hoe meer variaties je aan je bot leert, hoe beter hij zal worden in het begrijpen van vergelijkbare woorden of zinnen. Na het toevoegen van meer dan 10 voorbeelden zal het ook in staat zijn om woorden of zinnen te detecteren die niet exact overeenkomen met een van de gegeven trainingsvoorbeelden, maar er erg op lijken.
Laten we nog wat voorbeelden toevoegen en op Save drukken (in de rechterbovenhoek).

Dit was slechts een heel simpel voorbeeld. Het is niet echt nodig om veel tijd te besteden aan die simpele intents. Zoals je in het volgende voorbeeld kunt zien, wordt het al iets ingewikkelder voor langere vragen:

Ook al heb je je chatbot goed getraind, hij zal waarschijnlijk nog wel eens sommige berichten niet begrijpen. Je bot moet weten wat hij moet doen als hij iets niet begrijpt, en dat is waar de Unknown trigger van pas komt!
Unknown
De Unknown wordt geactiveerd wanneer de bot het bericht van de gebruiker niet begrijpt. Door een flow te maken die begint met deze trigger, kun je de bot instrueren wat hij in deze situatie moet doen. Er zijn meerdere opties om met het onbekende om te gaan. De meest gebruikelijke oplossing is het toevoegen van een Text Reply aan die flow met zoiets als "Ik begreep dat niet. Kunt je de vraag anders formuleren?”.

Quick Replies
Als je bedrijf ook met klantenservicemedewerkers werkt, zou dit een goede flow zijn om de gebruiker de mogelijkheid te bieden om met een servicemedewerker te praten. Een zeer gebruiksvriendelijke benadering van deze optie is het toevoegen van een Quick Reply. Klik op de Text Reply, zodat het wordt geselecteerd, en dan zie je dat je de optie hebt om Quick Replies toe te voegen aan de rechterkant van het dashboard.
Voeg een Quick Reply toe, stel het in op “Send text”, wat betekent dat de gebruiker een tekstbericht naar de bot kan sturen door op de knop van de Quick Reply te klikken, en voeg de label en value toe. Het label is de tekst op de knop en de value is de tekst die wordt verzonden door erop te klikken.

Lees Hoe om te gaan met het onbekende: Wat te doen als je chatbot faalt? voor meer informatie.
Media Trigger
Laten we ook een flow toevoegen die begint met de Media Trigger. Om een nieuwe flow te maken, klik je op hetzelfde Plus-pictogram dat we eerder gebruikten om een template toe te voegen, maar nu klik je op Flow.

Dit zal een nieuwe flow toevoegen met de naam “Untitled”. Dubbelklik op de naam van de flow om deze te wijzigen.

Laten we het veranderen in “Image”, omdat dit de flow is die wordt geactiveerd wanneer de gebruiker een afbeelding naar de bot stuurt. Sleep vervolgens de Media Trigger naar je zojuist gemaakte flow. Als je erop klikt, kun je aan de rechterkant van je scherm zien dat je meerdere opties hebt voor welk type Media het moet activeren. Laten we het voorlopig op Image laten staan.

Zoals altijd zullen we een antwoord aan onze trigger moeten toevoegen. Laten we een Text Reply toevoegen met de tekst “Dat is een leuke foto!”.
Maar wat als iemand een foto stuurt die niet leuk is? Bijvoorbeeld wanneer ze een TV op je website hebben besteld en het scherm kapot is. Dan zou het tot nog meer frustratie leiden als de bot op een ongepaste manier reageert. Daarom moet je daar voorzichtig mee zijn.
Met Flow.ai kun je image recognition gebruiken, maar voorlopig is dat misschien een beetje te ingewikkeld om uit te leggen. Een gemakkelijkere oplossing voorlopig zou zijn om het gesprek over te dragen aan een service medewerker wanneer de bot detecteert dat de gebruiker een afbeelding verzendt. Verwijder de Text Reply en voeg een Handover toe aan de flow:

We hebben dezelfde flow ook nodig als iemand een ander type media verzendt, zoals een video, geluidsbestand of een ander type bestand. Je kunt voor elk mediatype nieuwe flow maken of de zojuist gemaakte flow dupliceren en het mediatype wijzigen.

Event Trigger
In tegenstelling tot de vorige triggers die we hebben besproken, wordt de Event Trigger niet geactiveerd door de gebruiker, maar door de bot zelf. Events zijn een zeer krachtig hulpmiddel om je bot naar verschillende flows of vertakkingen te leiden. Ze stellen je in staat om meer complexe functionaliteiten binnen je bot te bouwen dan simpelweg vragen te beantwoorden of bestanden te detecteren.
Er zijn 4 manieren om een Event te activeren:
- Event Reply
- Ref links
- Handmatige activate door een servicemedewerker
- Code Actions
Als je geen van de vier bovenstaande opties voor een Event gebruikt, zal de bot nooit toekomen aan alles wat je onder dat Event plaatst. Het is een veelgemaakte fout om Events aan de bot toe te voegen zonder manieren toe te voegen om ze te activeren.
Event Reply
De eenvoudigste manier om een Event te activeren, is door de Event Reply aan je flow toe te voegen. Sleep simpelweg de Event Reply naar je flow, selecteer het en kies aan de rechterkant van het dashboard naar welk Event je het wilt laten routen.
Ref links
Voor sommige kanalen, zoals Messenger en Web Widget, heb je de mogelijkheid om gebruikers een Event te laten activeren door een specifieke URL te openen. Deze URL wordt weergegeven in de instellingen aan de rechterkant van je scherm als je op een Event Trigger klikt als je je bot hebt geïntegreerd met een kanaal dat ref-links ondersteunt.
Voor meer informatie, lees de blog over m.me links.
Handmatige activate door een servicemedewerker
Als je naar de instellingen van het Event kijkt, zie je dat er een selectievakje is met de tekst “Allow Manual Trigger”. Het is standaard uitgeschakeld. Als je deze optie inschakelt, kunnen servicemedewerkers het Event handmatig activeren vanuit de Chat App.

In de Chat App kan de servicemedewerker op het vlagpictogram klikken om handmatig een Event te activeren. Als je dit doet, wordt de bot opnieuw onderbroken.

Code Acties
Je kunt ook Events activeren met code-acties. Dit is geavanceerder en vereist codering, dus kijk voor meer informatie naar de Code Action Docs.
Timer Trigger
De Timer Trigger wordt gebruikt om de chatbot een bepaalde periode te laten wachten voordat hij doorgaat naar de volgende actie. Het kan niet worden gebruikt als initiële trigger voor een flow, dus het moet in de context worden geplaatst.
De tijd die de trigger moet wachten, kan worden aangepast binnen de instellingen van de Timer Trigger. Je kan het maar een paar seconden laten wachten, of zelfs meerdere dagen als je dat wil!
Continue timer on reply
Timer Triggers worden geannuleerd wanneer een actie wordt geactiveerd voordat de timer afloopt, bijvoorbeeld wanneer de gebruiker een ander bericht verzendt voordat de bot klaar is met wachten. Als je het selectievakje voor “Continue timer on reply” aanvinkt, zal de bot niet annuleren wanneer een actie wordt geactiveerd. In sommige gevallen kan het handig zijn om deze instelling in te schakelen, maar meestal heb je deze niet nodig.
Send typing
Send typing zal een “typing”-animatie aan de gebruiker in de chat laten zien, zodat het lijkt erop dat de bot zijn bericht aan het typen is. Hierdoor kan de bot zich menselijker voelen, maar het heeft nog een ander voordeel: als de gebruiker ziet dat de bot nog steeds zijn reactie aan het typen is, zal de gebruiker minder snel storen door meer (ongeduldige) berichten te sturen.

Meer informatie over de Timer Trigger
Timers zijn geweldig voor het optimaliseren van de klantervaring, omdat je hiermee feedbackflows kunt toevoegen, wachttijden kunt afhandelen en meer! Voor meer tips over hoe je je bot kunt verbeteren met Timer Triggers, lees de blog 3 manieren om je chatbot te verbeteren met Timers.
Verschillen tussen de Timer Trigger en de Delay Action
Het is belangrijk om het verschil te kennen tussen de Timer Trigger en de Delay action. Delays worden gebruikt om de bot een paar seconden te laten wachten voordat de volgende Text Reply wordt verzonden. Door een korte tijd te wachten tussen het verzenden van berichten door de bot, kan de gebruiker de tijd nemen om het eerste bericht te lezen voordat hij of zij het volgende ontvangt. Dit zorgt er ook voor dat de bot minder spammerig overkomt als je een flow hebt die meerdere tekstantwoorden verzendt.
Je zou theoretisch hetzelfde resultaat kunnen bereiken door Timer Triggers te gebruiken tussen elke Text Reply van de bot, maar dat is niet wat ze horen te doen, aangezien we daarvoor de Delays hebben.
Any Text Trigger
De Any Text Trigger wordt gebruikt voor het extraheren van informatie uit de gebruikersinvoer. Als je de gebruiker om wat informatie vraagt, kun je dat met deze trigger opslaan. Enkele voorbeelden van informatie die je kunt vragen en opslaan met behulp van de Any Text Trigger:
- Naam
- E-mailadres
- Telefoonnummer
- Land
- Datum
- Feedback
- Product
Een e-mailadres vragen en opslaan
Om uit te leggen hoe de Any Text Trigger werkt, zullen we een flow maken waarin we de gebruiker om zijn of haar e-mailadres vragen. Start de flow met een Event Trigger of een Intent, omdat je geen nieuwe flow kunt starten met de Any Text Trigger.
Voeg onder de Event Trigger een Text Reply toe met een botreactie zoals “Wat is je e-mailadres?”. Sleep vervolgens de Any Text Trigger vanuit je triggers-sectie de flow in.

Je zult zien dat de Any Text Trigger standaard “something” heeft ingevuld als zijn waarde. Die “something” zal de naam zijn van de parameter die de bot aanmaakt bij het vastleggen van gebruikersinvoer binnen deze Any Text Trigger. Het wordt aanbevolen dat je deze parameternaam wijzigt om je meer duidelijkheid te geven over het soort informatie dat binnen die specifieke parameter is opgeslagen.
Om de parameternaam te wijzigen klik je op Any Text Trigger. Dat opent z’n instellingen aan de rechterkant van het dashboard. Verander de naam bijvoorbeeld in email. Je zult ook zien dat er naast het wijzigen van de parameternaam nog een andere optie is, de “should be”-optie. Als je erop klikt krijg je een vervolgkeuzelijst met al je entiteiten en de systeemtypes.

Omdat we nog geen entiteiten in dit project hebben gemaakt, zien we alleen de systeemtypen. Als je hier niets selecteert, worden alle typen berichten die door de gebruiker zijn gematcht. In ons voorbeeld willen we alleen het e-mailadres van de gebruiker weten, dus de Any Text Trigger moet niet gematcht worden als de gebruiker geen bericht verzendt dat een e-mailadres bevat. Laten we dus het e-mailadres selecteren in de lijst met systeemtypen en kijken hoe het werkt.
We kunnen deze flow testen door de voorbeeldmodus Try it Out te gebruiken. Sla je flow op en klik op Try it Out bovenaan het dashboard. Dit opent een nieuw venster dat je kunt gebruiken om de chatbot binnen het platform zelf te testen. Als je op het vlagpictogram in de linker benedenhoek klikt, kun je Events activeren. Laten we dat gebruiken om het Event “Ask email address” te activeren en zo onze flow te starten.

Nadat je het Event hebt geactiveerd, kun je zien dat de bot reageert met “Wat is je e-mailadres?”. Als we het gesprek voortzetten door ons e-mailadres in te typen, is te zien dat de bot het zal opslaan binnen de parameter die we hebben gemaakt. De rechterkant van het Try it Out-venster toont je wat informatie over dit gesprek, zoals de params.

De Any Text Trigger combineren met een Unknown
Maar wat als de gebruiker een ongeldig antwoord intypt (een bericht dat geen e-mailadres bevat)? Laten we het testen om erachter te komen door het Event opnieuw te starten.
Zoals je kunt zien wordt de Any Text Trigger niet gematcht wanneer de gebruiker zijn naam typt in plaats van zijn e-mailadres. In plaats daarvan wordt de Unknown uit een eerder gemaakte flow geactiveerd.

Het werkt nu zoals het zou moeten, maar er is nog één ding te verbeteren. Wanneer de flow met de Unknown wordt geactiveerd, zit de gebruiker niet meer in de flow om het e-mailadres te vragen. Als de gebruiker nu een geldige invoer voor zijn e-mailadres typt, wordt de Any Text Trigger niet meer gematcht omdat deze niet in de juiste context staat:

Idealiter willen we de gebruiker in de juiste flow houden, zelfs als de Unknown wordt geactiveerd. Gelukkig is hier een makkelijke oplossing voor. Sluit het Try it Out-venster en ga terug naar de flow om het e-mailadres te vragen.
Voeg vervolgens een Unknown toe naast de Any Text Trigger. Als de Any Text Trigger nu niet kan worden gematcht, wordt deze Unknown geactiveerd in plaats van de Unknown van de andere flow.
Looping Flows
Laten we ook een Text Reply toevoegen met een foutbericht waarin de gebruiker wordt geïnstrueerd wat hij moet doen voordat we teruggaan naar het begin van de flow zodat de bot opnieuw om het e-mailadres zal vragen. Dit noemen we Looping Flows.
Laten we ook een reactie toevoegen voor wanneer de gebruiker een geldig e-mailadres heeft verzonden. Je kunt zelfs de opgeslagen waarde terugsturen naar de gebruiker door de naam van de parameter tussen dubbele accolades te typen.

Als je opnieuw test, klik dan op Clear in de rechter benedenhoek van het venster. Dit zal het gesprek resetten. Zoals je in de onderstaande schermafbeelding kunt zien, blijft de gebruiker nu in de juiste flow wanneer hij reageert met een ongeldig antwoord, en na het beantwoorden van een geldig e-mailadres bij de tweede poging, zal de bot reageren met de opgeslagen waarde van de parameter.

Meer informatie over de Any Text Trigger
De Any Text Trigger is niet de enige methode om informatie te verzamelen met je chatbot. Je kunt daarvoor ook Entiteiten of Code-acties gebruiken. Voor meer informatie over de verschillen, ga naar How to capture user input. Hoe entiteiten werken, wordt later in deze cursus uitgelegd.
Conditions
Conditions, ook wel bekend als If/Else-statements, zijn een zeer krachtig hulpmiddel om complexere oplossingen binnen je bot te creëren. Met wat creativiteit creëer je eenvoudig heel specifieke functionaliteiten voor je chatbot.
Conditions combineren met parameters
Stel dat je alleen wil dat zakelijke e-mailadressen contact met je kunnen opnemen. Dan wil je misschien je chatbot laten controleren of de gebruiker een Gmail e-mailadres gebruikt of niet. Conditions zijn geweldig om dit soort dingen te controleren en voor beide scenario’s verschillende vertakkingen te maken.
Laten we de Conditions toevoegen en een Text Reply aan beide toevoegen:

Nu zijn de Conditions aanwezig, maar ze doen nog niets. We zullen er enkele regels (rules) aan moeten toevoegen. Klik op een Condition om de instellingen ervan te kunnen configureren, vergelijkbaar met hoe je het al deed met enkele andere acties.
Nu kun je Condition Rules toevoegen. Voeg er een toe en geef aan dat de parameter “email” de tekst “gmail” moet bevatten, zoals weergegeven in de onderstaande afbeelding.

Als Condition A niet kan worden gematcht, zal het proberen om in Condition B te komen. Aangezien er op dit punt niets anders is dat we willen controleren, hoeven we geen regels aan die voorwaarde toe te voegen.
Wanneer we opnieuw testen, zie je dat de bot anders reageert voor gebruikers met een Gmail-adres.

Conditions met meerdere regels
Laten we ook Hotmail e-mailadressen toevoegen aan Condition A door er nog een regel aan toe te voegen. Als we het dan zouden testen, zou het niet werken. Waarom is dat? Dat komt omdat het e-mailadres van de gebruiker niet zowel Gmail als Hotmail bevat, maar slechts één van de twee.
Om te zorgen dat het wel werkt, moet je de condition instellen op “ANY rule is valid” in plaats van “ALL rules are valid”. Hierdoor weet de chatbot dat Gmail of Hotmail Condition A moet activeren, in plaats van een antwoord dat beiden bevat.

A/B testing
Er is ook een optie voor A/B-testen, die kan worden gebruikt om de bot willekeurig een van de voorwaarden te laten kiezen. Dit kan handig zijn om verschillende versies van een flow te maken en te testen welke het beste werkt. Je kunt ook A/B-testen gebruiken voor Soft Launching chatbots.
Zorg ervoor dat je alle Conditions die naast elkaar staan instelt op A/B-testen om het te laten werken. Je bent niet beperkt tot alleen conditie A en B, maar je kunt er zoveel toevoegen als je maar wilt.
Leer meer over A/B testing in Chatbots.
Meer informatie over Conditions
Als je meer wilt weten over Conditions, vind je ongetwijfeld 5 Manieren Om Je Chatbot Te Verbeteren Met Condities erg interessant.
7. Replies
Nu we hebben geleerd over de verschillende soorten Triggers, wordt het tijd dat we je laten zien hoe de Replies werken. Er zijn veel soorten Replies:
- Text Reply
- Event Reply
- Delay
- Location Reply
- Button Reply
- Card
- Carousel
- List Reply
- Image Reply
- Video Reply
- Audio Reply
- File Reply
- Action
- Reset
- Tag
- Handover
- Resolve
- Teleport
Text Reply
Tijdens deze cursus hebben we de Text Reply al een paar keer gebruikt, maar we zijn nog niet de diepte ingegaan met al de mogelijkheden.
Als je op een van je Text Replies klikt, heb je drie verschillende tabbladen met instellingen:
- Text
- Quick Replies
- Advanced
Text Variants
In de eerste, Tekst, kun je je eenvoudige Text Reply tekst invoegen, maar je kunt hieronder ook meer varianten toevoegen. Als je enkele varianten invult, wordt elke keer dat deze Text Reply wordt verzonden, slechts één van deze varianten willekeurig verzonden.
Op deze manier kun je ervoor zorgen dat je bot ervaring minder repetitief aanvoelt, wat vooral handig kan zijn voor flows die een paar keer door dezelfde gebruiker kunnen worden geactiveerd, zoals bijvoorbeeld een feedbackflow.

Je zou denken dat het gebruik van varianten ook nuttig kan zijn voor A/B-testen, maar we raden aan daarvoor Conditions te gebruiken, zoals we eerder hebben uitgelegd, omdat die methode gemakkelijker te meten is.
We zullen het meten van de effectiviteit van je flows later bespreken wanneer we zijn aangekomen bij Tags.
Quick Replies
We hebben al eerder in deze cursus besproken hoe Quick Replies werken toen we het hadden over de Unknown. Zie Hoe je Quick Replies gebruikt voor meer informatie.
Advanced settings voor Text Replies
In de Advanced settings heb je de optie om speech aan te passen, maar daar gaan we tijdens deze cursus niet dieper op in.
Mogelijk zie je ook nog steeds de optie voor Delay Delivery, maar we raden je aan die niet te gebruiken, aangezien dit binnenkort zal worden verwijderd vanwege de recente toevoeging van de Delay action, waarover we straks zullen hebben.
De laatste geavanceerde instelling is de optie om tags toe te voegen. We zullen later in deze cursus ook de tags bespreken.

Event Reply
Event Replies hebben één simpele functie: Event Triggers triggeren. Om een Event Reply te kunnen instellen, moet je ervoor zorgen dat je de flow opslaat nadat je de bijbehorende Event Trigger hebt gemaakt.
Delay
Delays worden gebruikt om de bot een bepaalde tijd te laten wachten voordat de flow wordt voortgezet. Deze zijn vooral handig voor grote flows met meerdere textberichten van de bot.
Als je chatbot al die berichten tegelijkertijd zou verzenden, zou het een beetje spamachtig aanvoelen voor de gebruiker. Hij of zij heeft geen tijd om het eerste bericht te lezen voordat hij het tweede en het derde al heeft ontvangen.
Als je Delays gebruikt om een paar seconden tussen de botreacties toe te voegen, geef je de gebruiker de tijd om eerst het bericht te lezen voordat je verder gaat. Dat is erg goed voor de klantervaring!
Voor meer informatie over het gebruik van Delays, en wat de verschillen zijn met Timer Triggers, lees Antwoorden van de chatbot uitstellen.
Location Reply
Je raadt het waarschijnlijk al, maar de Location Reply wordt gebruikt om een locatie te verzenden. Deze Location Replies maken gebruik van Google Maps.
Als je de instellingen voor de Location Reply bekijkt, zul je zien dat je een lengte- en breedtegraad (latitude en longitude) moet toevoegen. Als je niet weet hoe je ze kunt vinden, geen zorgen!
Zoek gewoon naar een locatie via Google Maps, en ze worden allebei in de URL weergegeven (zie onderstaande afbeelding). De eerste is de latitude en de tweede coördinaat is de longitude. Kopieer en plak ze in de Location Reply en je bent klaar!

Om het de gebruiker zo gemakkelijk mogelijk te maken je bedrijf te vinden, voeg je een actie toe aan de Location Reply (ook te vinden in de instellingen). Met deze actie kun je configureren wat er moet gebeuren als iemand op de reply klikt. Stel het in op URL en plak daar de Google Maps-URL.
Op deze manier kunnen je gebruikers je locatie vinden en er zelfs een routebeschrijving naartoe krijgen, wat natuurlijk geweldig is!

Button Reply
Button Replies zijn geweldig om de gebruiker een aantal opties te geven waaruit hij kan kiezen, vergelijkbaar met Quick Replies. Het belangrijkste verschil is dat Buttons niet verdwijnen nadat je op een ervan hebt geklikt. Hierdoor kan de gebruiker teruggaan en een andere optie kiezen.
Dat is de reden waarom Button Replies geweldig zijn als je een chatbot ontwikkelt die met menu’s werkt. Het zou voor de gebruikersvriendelijkheid niet optimaal zijn om Quick Replies te gebruiken voor menu-opties, aangezien deze het voor de gebruiker moeilijker maken om van gedachten te veranderen en een andere optie te kiezen.

Een ander voordeel van Button Replies in vergelijking met Quick Replies, is dat ze je wat meer opties geven, zoals het openen van URL’s.

Card
Cards kunnen ook knoppen bevatten, maar ze geven je nog meer opties. Met kaarten kun je ook een ondertitel toevoegen, of zelfs een afbeelding of video.

Carousel
Een carrousel is zo ongeveer een verzameling van meerdere Cards. Dit is een geweldige functie om sommige van je producten, je verschillende vestigingen, of menu-opties weer te geven.
Als je naar de instellingen van de Carousel kijkt, zie je dat die lijken op die van de Card:

Maar als je naar de Carrousel-instellingen gaat, zie je dat het ook mogelijk is om de volgorde van de Cards te regelen en nieuwe toe te voegen.

List Reply
List Replies hebben ook een vergelijkbare functie als Carousels, maar ze zien er iets anders uit. Of je nu voor de List Reply of een Carousel gaat, hangt grotendeels af van je persoonlijke voorkeur.

Media/File Replies
De Image Reply, Video Reply, Audio Reply en de File Reply werken allemaal hetzelfde. Het enige dat je hier hoeft te doen, is de URL van het bestand invoegen. Als het bestand dat je met de bot wilt verzenden niet online staat, kun je het hosten op bijvoorbeeld Google Cloud om er een URL voor te krijgen.
Het gebruik van Dropbox wordt hiervoor niet aanbevolen, aangezien het niet gegarandeerd perfect werkt op deze manier.
YouTube URL’s werken niet, dus zorg ervoor dat de video die je wilt verzenden ook wordt gehost. Als je een afbeelding wil sturen die al ergens online staat, kopieer dan simpelweg het afbeeldingsadres:

Action
Acties kunnen aan je flow worden toegevoegd als je code wilt gebruiken. Een voorbeeld is het toevoegen van een actie die de Unknown input vastlegt in een parameter, zodat de bot kan detecteren (door voorwaarden te gebruiken) of het bericht een specifiek onderwerp bevat.


Actions worden ook vaak gebruikt voor het activeren van Zapier actions.
Omdat code-acties voor deze beginnerscursus misschien al iets te ingewikkeld zijn, gaan we daar nog niet te diep op in. Als je er meer over wilt weten, ga dan naar de Code Action Documentation.
Reset
De actie Reset geeft je de mogelijkheid om alles te resetten, alleen alle parameters te resetten of slechts één specifieke parameter te resetten.
De functie die alles opnieuw instelt, is geweldig voor het maken van een specifieke Reset Flow, wat erg handig kan zijn tijdens het testen van je bot.

Een voorbeeld waarbij het opnieuw instellen van een specifieke parameter handig is, is wanneer je bot de naam van de gebruiker vraagt, en de gebruiker probeert grappig te zijn door een ongepast woord te typen in plaats van zijn of haar echte naam.
Door een Profanity Filter te gebruiken, kun je dit soort woorden detecteren en de gebruiker het opnieuw laten proberen. Als je ze gewoon terug zou leiden naar het “Ask name” Event in de onderstaande afbeelding, en de gebruiker zou een andere naam invoeren, zou de parameter beide waarden hebben.
Omdat je alleen de tweede waarde wilt opslaan, reset je de eerste waarde (met de profanity), voordat je de flow terug looped. Op deze manier wordt de verkeerde waarde niet opgeslagen.

Als je wilt weten hoe je een Profanity Filter instelt, bekijk dan de instructievideo hieronder.
Tag
Met Tags kun je specifieke informatie voor die specifieke gebruiker opslaan. Wanneer je werkt met externe Customer Care software zoals Khoros, kun je deze tags zichtbaar maken voor de servicemedewerkers, zodat ze bijvoorbeeld gemakkelijker kunnen zien voor welke flows de gebruiker is doorgegaan.
Tags kunnen ook een meer op de backend gerichte functie hebben. Door tags met Conditions te combineren, kun je complexere oplossingen voor je bot ontwikkelen, zoals Locking Flows.
Je hebt ook de mogelijkheid om tags te verwijderen.

Handover
Ook al kunnen chatbots tegenwoordig al veel, is het nog steeds onrealistisch om te denken dat ze alle vragen die je bedrijf krijgt zullen kunnen beantwoorden. Daarom is het uiterst belangrijk om voor een geslaagde handoff te zorgen door de Handover op de juiste manier te gebruiken.
Wanneer de overdracht wordt geactiveerd, zal de bot pauzeren. Dit betekent dat de chatbot niet meer reageert op inkomende berichten, omdat een servicemedewerker in plaats daarvan moet reageren. Je wilt natuurlijk niet dat zowel de medewerker als de chatbot tegelijkertijd reageren.
Als je om wat voor reden dan ook niet wilt dat de bot automatisch pauzeert, heb je de mogelijkheid om dit uit te schakelen in de overdrachtsinstellingen.
Daar zie je ook de optie om de tijdsperiode te wijzigen waarin de bot moet pauzeren. Als je dit leeg laat, wordt de standaardwaarde uit je projectinstellingen gebruikt.

Deze waarde is standaard 15 minuten. Dit betekent dat als een service medewerker het gesprek tussen die periode niet overneemt, de bot weer wordt hervat. Om dit te veranderen, ga naar Projectinstellingen → Language en pas het naar wens aan.
Een servicemedewerker kan het gesprek ook hervatten in de Chat-app.
Resolve
De Resolve actie kan in flows worden geplaatst waarvan je weet dat de gebruiker is geholpen. Je hebt ook de mogelijkheid om te zien of de bot of de servicemedewerker de chat heeft opgelost, wat handig kan zijn voor het monitoren van de botprestaties.

Teleport
De teleportactie kan worden gebruikt om de gebruiker van de huidige chatbot naar een andere te “teleporteren”, maar daar gaan we tijdens deze cursus niet over in.
Kanaalbeperkingen
Als je je chatbot met een of meer kanalen hebt geïntegreerd, zie je misschien dat sommige replies vervaagd zijn. Dit betekent dat het geïntegreerde kanaal dit soort antwoorden niet ondersteunt.
Op sms en WhatsApp kun je bijvoorbeeld geen uitgebreide UI-elementen zoals knoppen of carrousels verzenden. De huidige kanaalbeperkingen voor WhatsApp-chatbots worden weergegeven in de onderstaande afbeelding.

Om alle kanaalbeperkingen te bekijken, ga naar Flow.ai’s Triggers & Replies Reference.
Textual Selection Lists
Als je een bot maakt voor een kanaal die een aantal Replies dat je wilt gebruiken beperkt, zijn er bijna altijd goede oplossingen om te bedenken.
Veel chatbots gebruiken Button Replies of Carrousels voor menu’s met onderwerpen voor een vraag. Dit maakt het gemakkelijker voor de gebruiker, aangezien hij maar op een van de opties hoeft te klikken in plaats van handmatig zijn vraag in te typen.

Deze knoppen zijn niet mogelijk op WhatsApp of SMS, maar als je de gebruiker toch gemakkelijk wilt laten reageren vanuit een lijst met opties zonder al te veel moeite, kun je de opties weergeven in een tekstuele selectielijst, zoals hieronder weergegeven.

De gebruiker hoeft alleen maar met “2” te reageren als hij meer informatie wil over terugbetalingen. Op deze manier is het toch heel gemakkelijk om snel te reageren.
Een ander voordeel van het gebruik van deze tekstuele selectielijsten is dat ze je in staat stellen meer opties in één antwoord weer te geven dan Button Replies (die beperkt zijn tot 3 knoppen per Card). Hierdoor hoef je geen extra submenu’s te maken.
Bekijk de YouTube-tutorial hieronder voor meer informatie over het opzetten van deze tekstuele selectielijsten.
8. Entities
Entiteiten zijn geweldig voor het extraheren van gegevens uit de gebruikersinvoer. Je kunt ook de Any Text Trigger gebruiken voor het extraheren van informatie (of codeacties), maar entiteiten werken anders.
Entiteiten bestaan uit lijsten met verschillende trefwoorden en synoniemen voor die trefwoorden. Een voorbeeld is een lijst met verschillende betaalmethoden.

Als je deze entiteit toevoegt aan de Intent waarbij de gebruiker om de beschikbare betaalmethoden vraagt, ziet die Intent er als volgt uit:

Je kunt de entiteit binnen de trainingsvoorbeelden van je Intent markeren door deze met je muis te selecteren of erop te dubbelklikken. Het is ook mogelijk om meerdere entiteiten aan één Intent toe te voegen.
Wanneer de gebruiker nu de Intent activeert, controleert de bot of de gebruiker al een waarde voor de entiteit in het tekstbericht heeft opgenomen. Als dat het geval is, bevat de parameter “payment_methods” automatisch die waarde.
In het onderstaande voorbeeld accepteert onze fictieve winkel alle betaalmethoden behalve contant geld. Je kunt Condition A gebruiken om te controleren of de waarde van de entiteit contant is, zodat de bot de gebruiker kan vertellen dat dit niet mogelijk is:

Vervolgens zal Condition B controleren of de entiteit een waarde heeft, en als dat het geval is, wordt de waarde geretourneerd door de entiteitsnaam tussen dubbele accolades te gebruiken, vergelijkbaar met hoe we het deden met de parameter van de Any Text Trigger.

Als de gebruiker zojuist iets heeft gezegd als ‘Hoe kan ik betalen?’, Bevat het bericht niet de entiteit. Dan wordt voorwaarde C, de “Else”-voorwaarde, geactiveerd en de chatbot stuurt een lijst met alle beschikbare betaalmethoden.
Een ander voordeel van het gebruik van entiteiten is dat je niet voor alles een aparte Intent hoeft te creëren. Je hoeft geen Intent te creëren voor “Is het mogelijk om met contant geld te betalen”, evenals een Intent voor “Is het mogelijk om te betalen met iDeal?”.
Creëer simpelweg een enkele Intent voor alle variaties en gebruik de entiteit. Dit bespaart niet alleen enorm veel tijd, maar het maakt de bot ook minder kwetsbaar voor het matchen van onjuiste Intents. Als je veel vergelijkbare Intents maakt, kan de bot in de war raken en in sommige gevallen per ongeluk de verkeerde Intent matchen.
Lees ook Entities in plaats van meerdere intents voor meer informatie.
9. Audiences
In het Audience overzicht kun je zien wie er interactie heeft gehad met de bot. Je kunt ook de taal, het kanaal en de datum en tijd van de eerste interactie met de bot zien.

Voor kanalen waarvan de gebruiker anoniem is, zoals de webwidget, verschijnen gebruikers niet in de Audience overview.
Het is ook mogelijk om audiences uit een CSV bestand te importeren, wat handig kan zijn voor marketing-chatbots of interne chatbots op de werkplek die met Broadcasts werken.
10. Broadcasts
Broadcasts geven je de mogelijkheid om proactief berichten te verzenden met je bot, naar al je gebruikers, een segment of zelfs een individuele gebruiker.
Klik allereerst op het pluspictogram om een uitzending te maken. Geef het een naam en selecteer een groep. Maak een nieuwe groep als je er nog geen hebt gemaakt.

Vervolgens, selecteer of je de Broadcast alleen naar een specifieke gebruiker of een segment wilt sturen, en selecteer de juiste gebruiker of het juiste segment. Als je hier niets kunt selecteren, is je Audience waarschijnlijk nog leeg, dus laat enkele mensen chatten met de bot om ze aan je Audience toe te voegen, of importeer ze met een CSV-bestand.
Laat de chatbot vervolgens weten wanneer hij de Broadcast moet verzenden. Je hebt daarbij de volgende mogelijkheden:
- Direct
- Op een specifieke datum
- Maar één keer
- Regelmatig
- Gelimiteerd
Als je een van de bovenstaande opties selecteert, worden de instellingen ervoor gewijzigd. Deze instellingen spreken voor zich.
Daarna is het tijd om te selecteren wat de chatbot eigenlijk moet doen tijdens deze uitzending. Je hebt hiervoor 3 mogelijkheden:
- Trigger event
- Tag toevoegen
- Tag verwijderen
Meestal worden Broadcasts gebruikt om een Event te activeren. Je kunt bijvoorbeeld een flow met een aantal wekelijkse kortingen voor je winkel creëren en Broadcasts gebruiken om die aanbiedingen elke maandag om 12 uur naar je vaste klanten te sturen.
Voor meer informatie over het plannen van Broadcasts, raden we je aan om How to schedule and broadcast chatbot messages door te lezen.
Als je van plan bent om Broadcasts te gebruiken, controleer dan de richtlijnen van je kanalen, aangezien sommige kanalen er beperkingen voor hebben ingesteld om ervoor te zorgen dat mensen op deze manier geen spambots maken.
11. Projectinstellingen
Je kunt de projectinstellingen vinden door op het tandwielpictogram in de linkerbenedenhoek van het dashboard te klikken. De projectinstellingen zijn onderverdeeld in 5 secties:
- General
- Backup
- Languages
- Business Hours
- Resolve (beta)
General project settings
Hier vindt je je project-ID. Dit kan niet worden gewijzigd. De algemene projectinstellingen geven ook je projectnaam en label weer, die je indien gewenst wel kunt wijzigen.
Je kunt ook channel specific design inschakelen. Daar komen we later in deze cursus op terug.
Eindelijk kun je ook het hele project verwijderen in de sectie General Settings.
Backup
Binnen het back-upgedeelte is het mogelijk om een export en import van je chatbot te maken. Het wordt aanbevolen om af en toe back-ups te maken. Deze functie is alleen beschikbaar voor klanten met een pro- of een enterprise plan.
Deze functie is niet alleen handig voor het maken van back-ups, maar ook voor het dupliceren van bots. Op die manier heb je toegang tot het maken van een ontwikkel- en een productieversie van je chatbot. Waarom je eigenlijk een dev- en prod-versie van je project moet gebruiken, wordt uitgelegd in 4 Stappen om je bot succesvol te lanceren .
Languages
Binnen de Languages-instellingen kun je natuurlijk de taal van je bot wijzigen, maar er zijn nog meer handige configuratie-opties in deze sectie.
Different regions
Je kunt niet alleen de taal wijzigen, maar ook de regio. Waarom zou je dat willen doen? Stel dat je klanten zowel uit de VS als Canada komen. De meeste mensen uit beide landen zullen dan waarschijnlijk in het Engels contact met je bedrijf opnemen.
Als de antwoorden op sommige vragen voor beide landen verschillen, kun je voor beide landen iets verschillende versies van je bot maken, zelfs als ze dezelfde taal gebruiken. Hoe je meer regio’s en talen aan je bot kunt toevoegen, wordt later tijdens deze cursus uitgelegd in het onderdeel Multilingual Design.
Confidence threshold
Het is je misschien al opgevallen tijdens het testen in het Try it Out-voorbeeld dat er een aantal percentages aan de rechterkant van het venster worden weergegeven. Deze percentages zijn het vertrouwen dat de bot heeft dat het tekstbericht van de gebruiker daadwerkelijk tot de Intent behoort.
In het onderstaande voorbeeld is de bot 93% zeker van het volgende: “At what time does your shop close?” heeft een soortgelijke betekenis als “What are your opening hours?”.

De confidence threshold is standaard 70%. Omdat 93% hoger is dan 70%, werd de Intent gematcht. Als je de confidence threshold wijzigt naar 95%, zal het bericht van 93% niet meer worden gematcht.

Door je confidence threshold op een hoger percentage in te stellen, zal je bot minder snel op een Intent verkeerd matchen, maar het nadeel is dat er meer berichten niet meer gematcht zullen worden. 70% is een goed startpunt voor de meeste chatbots, maar door je bot veel te testen kom je er misschien achter dat een lager of hoger percentage beter werkt voor jouw specifieke bot.
Minutes to auto pause
We hebben eerder al over deze optie verteld toen we het over de Handover hadden. Als je bot zich nog net in de testfase bevindt, wil je dit misschien instellen op slechts 1 of 2 minuten om het testen te versnellen.
AI model
Je kunt kiezen tussen het language model voor één taal, dat moet worden gebruikt als je een bot wilt maken met slechts één taal en regio, en het model voor meerdere talen is logischerwijs voor het ontwikkelen van meertalige chatbots.
Business Hours
Met behulp van Business Hours kun je Conditions laten werken met specifieke data en tijden. Op deze manier kun je bijvoorbeeld je Handover flow vertakken, zodat je gebruikers een andere reactie krijgen als je servicemedewerkers op dat moment niet aan het werk zijn.

Om Business Hours aan te maken, klik je eenvoudig op het pluspictogram en geef je de kantooruren een label, tijdzone, kanaal en taal. Vervolgens kun je de openingstijden voor elke dag selecteren, evenals specifieke tijden toevoegen voor speciale datums zoals feestdagen.
Je kunt ook meerdere sets Business Hours toevoegen, bijvoorbeeld wanneer je sales team op andere tijden werkt dan het klantenservice team.
Lees ook How To Add Business Hours To Your Chatbot voor meer info.

Resolve (beta)
Aangezien de Resolve-projectinstellingen nog in de bètafase verkeren, behandelen we dat tijdens deze cursus niet. Je kunt meer informatie vinden in de Data Retention Documentatie.
12. Chat App
Als je niet van plan bent de chatbot te integreren met een externe Customer Care-tool, kun je als alternatief de Flow.ai Chat App gebruiken. Het is vrij simpel, maar het kan zeker voldoende zijn als oplossing voor een eenvoudige klantenservice.
Je kunt er inkomende berichten zien, zelfs als de bot nog geen overdracht heeft geactiveerd. Wanneer een overdracht wordt geactiveerd, ontvang je een bericht in de Chat-app dat er iemand moet worden geholpen.
Tijdens een chat wordt aan de rechterkant van het scherm bekende informatie over de gebruiker getoond.
Je kunt ook gebruikers aan jezelf toewijzen, gesprekken archiveren en verwijderen, en als je naar de instellingen van de Chat-app gaat, kun je configureren welke projecten je aan jezelf als servicemedewerker wilt toewijzen.

Lees ook 3 Stappen om aan de slag te gaan met de nieuwe Chatapp voor nog meer informatie over de Chat App.
13. Omnichannel Design
Door Flow.ai’s Omnichannel Design, is het mogelijk om één bot te maken voor meerdere kanalen. Je kunt zelfs voor elk kanaal specifieke aanpassingen doen, zodat je je chatbot nog meer kunt optimaliseren!
Om nog een kanaal toe te voegen, ga je gewoon naar Integraties in het dashboard en voeg je nog een kanaal toe. Merk op dat de integratie van WhatsApp en Twitter extra zal kosten. Zie de Pricing Pagina voor meer informatie.

Nadat je alle benodigde integraties heeft toegevoegd, is het tijd om de flows te doorlopen en te controlerenof ze allemaal goed zijn. Vanwege kanaalbeperkingen moet je sommige flows soms nog een beetje wijzigen.
De flow die we eerder hebben gemaakt met de Location Reply nu is paars gemarkeerd in plaats van roze. Dit betekent dat de flow niet voor alle kanalen precies hetzelfde is. Laten we eens kijken wat er aan de hand is met deze flow.

Zoals hierboven is weergegeven, is de Location Reply paars, omdat het niet op alle kanalen hetzelfde is. Dat komt omdat dat type Reply op sommige kanalen werkt, zoals op WhatsApp, maar niet op bijvoorbeeld Twitter. Als we de Twitter-versie van deze flow bekijken, zul je zien dat de Location Reply er niet bij staat, simpelweg omdat dat gewoon niet mogelijk is.

Je kunt dit oplossen door de Text Reply voor dit kanaal te wijzigen in “Dit is ons adres: Burgemeester Brokxlaan 12, 5041 DB Tilburg, Nederland”.
Naast alle geïntegreerde kanalen, zie je ook het tabblad ‘SHARED’. Dit is het deel van de flow dat voor alle kanalen precies hetzelfde is. Als je wijzigingen aanbrengt in de flow in het SHARED tabblad, worden de wijzigingen doorgevoerd voor op alle kanalen. Dit maakt het sneller en gemakkelijker om wijzigingen aan al je kanalen tegelijk aan te brengen.
Als je iets op een specifiek kanaaltabblad wijzigt, verandert het alleen voor dat kanaal. Op deze manier kun je elk specifiek kanaal per keer optimaliseren.
Als je van plan bent een multi-channel chatbot-oplossing te ontwikkelen, is het raadzaam om Multichannel design - Hoe maak je 1 chatbot voor WhatsApp, Messenger, and Web eens door te nemen.
14. Multilingual Design
Voeg eenvoudig andere talen en regio’s toe aan je bot met Flow.ai’s Multilingual Design. Je hoeft de bot maar voor één taal te maken en deze wordt automatisch vertaald naar alle andere talen die je toevoegt!
In de onderstaande video wordt stapsgewijs uitgelegd hoe je andere talen toevoegt en wat je vervolgens moet doen, aangezien je niet meteen klaar bent nadat je meer talen hebt toegevoegd.
Je moet wel nog even controleren of alles correct is vertaald en het goedkeuren. Deze functie helpt je vertaalfouten te voorkomen.
15. De puntjes op de i zetten.
Voordat je op het punt komt dat je de chatbot gaat lanceren, laten we eerst enkele laatste aanpassingen bespreken die je kunt doen om je chatbot nog beter te maken!
Herbruikbare Flows
Er zijn verschillende laatste aanpassingen die je kunt doen om je chatbot nog beter te maken. Een goede plek om te beginnen is om na te gaan of je (indien nodig) allerlei soorten herbruikbare flows hebt geïmplementeerd:
- De Feedback Flow
- De “Heb je nog steeds hulp nodig?” Flow
- De “Kan ik u ergens anders mee helpen?” Flow
De 3 genoemde flows beginnen vooral met een Event Trigger. Om ze te activeren, gebruik je de Timer Trigger met een Event Reply eronder op alle juiste plaatsen in je bot.
De Feedback Flow kan worden geactiveerd wanneer de bot een antwoord heeft gegeven op een vraag, de “Heb je nog steeds hulp nodig?” flow kan handig zijn als iemand een bepaalde tijd niet heeft gereageerd en de melding ‘Kan ik u ergens anders mee helpen?’ flow kan als een followup werken als iemand antwoordde dat de vorige botreactie heeft geholpen.
Generieke Flows
Vergeet ook niet om Flows op te nemen voor enkele algemene Intents, zoals:
- Hallo
- Ik weet het (nog) niet
- Ik wil het niet zeggen
- Ik heb geen hulp meer nodig
- Reset
- Servicemedewerker spreken
- Bedankt
String Templates
Om de gesprekservaring zoveel mogelijk te personaliseren, kun je ook gebruik maken van String Templates . Dit kan je helpen met eenvoudige functies zoals het opslaan van iemands naam in een tekstbericht, maar je kunt ook verder gaan en datums en tijdzones converteren.
16. Je bot lanceren
Na het ontwikkelingsproces is het tijd om de eerste versie van de bot te lanceren. Het zou niet verstandig zijn om gewoon de bot te implementeren en er klaar mee te zijn, omdat er altijd een risico bestaat dat je bent vergeten een aantal belangrijke Intents aan de bots toe te voegen, of dat sommige Events of Conditions niet correct zijn geconfigureerd.
Door ervaring met meerdere klanten heeft Flow.ai een strategie ontwikkeld met 4 Stappen om je bot succesvol te lanceren, dus bekijk dat zeker voordat je live gaat met je chatbot!
17. Analytics
Als je je bot hebt gelanceerd, denk je misschien dat je eindelijk klaar bent. Nou … dat ben je niet. Net als bij je website of app, is een chatbot nooit echt af. Er zijn altijd dingen te meten en te verbeteren.
Platform Analytics
Dat is waar Analytics om de hoek komt kijken! Het ingebouwde analyseoverzicht binnen het Flow.ai-platform helpt je te detecteren welke flows verbeterd moeten worden, welk kanaal beter werkt, op welke tijden je de meeste vragen krijgt, en meer.
Je kunt zien dat de Analytics is opgesplitst in meerdere gebieden:
- Interactions
- Handover
- Opening events
- Sessions
- Channel volume
- Outbound volume
- Audience
- Export report
We zullen ze nu allemaal kort bespreken.
Interactions
Het aantal interacties met je bot is het totale aantal verschillende mensen dat er een gesprek mee heeft gehad. Maar op sommige kanalen, zoals de Web Widget, is de gebruiker anoniem.
Dat heeft tot gevolg dat de bot niet kan opmerken wanneer dezelfde persoon later terugkomt na het sluiten van de chat. Dit de zorgt ervoor dat de gegevens voor je interacties mogelijk niet 100% nauwkeurig zijn.
Wanneer een gesprek is Resolved en de gebruiker een andere vraag begint te stellen, telt dit ook als een nieuwe interactie.
Handover
Dit laat zien hoeveel overdrachten er voor elk kanaal hebben plaatsgevonden.
Opening events
Het totale aantal dagelijks geactiveerde Opening Events voor elk kanaal is hier te zien.
Sessions
Een sessie lijkt op een interactie, maar het verschil is dat wanneer een ander gesprek met dezelfde persoon begint na 15 minuten (of langer) zonder reactie, dit telt als een andere sessie. Dit betekent dat iemand meerdere sessies kan hebben in een dag.
Bezoek de Pricing Page voor meer uitleg over sessies.
Channel volume
Het kanaalvolume kan worden gebruikt om het chatvolume tussen verschillende kanalen te vergelijken.
Outbound volume
Hier kun je het totale aantal dagelijkse berichten zien dat door de bot wordt verzonden in vergelijking met het aantal berichten dat door servicemedewerkers wordt verzonden.
Audience
De Audience analytics laten het aantal individuele gebruikers zien dat per dag interactie heeft gehad met de bot. Het maakt niet uit hoeveel sessies of interacties de gebruiker heeft gehad, het telt altijd als 1 voor de Audience analytics.
Export report
Hier heb je de mogelijkheid om je analyserapport te exporteren. Je kunt ook het datumbereik selecteren en er is een overzicht van al je geëxporteerde rapporten.

External Analytics
Er zijn ook andere manieren om de chatbotanalyses bij te houden. Integreer je chatbot eenvoudig met Dashbot, Google Analytics, Chatbase of Insocial.
Je kunt ook je chatbot integreren met Zapier om je data naar Google Spreadsheets te exporteren.
18. Veelgemaakte fouten voorkomen
Om het maximale resultaat te behalen, is het belangrijk om veelgemaakte fouten te vermijden.
Perongeluk flows verkeerd loopen
Een fout die gemakkelijk gemaakt kan worden, is het per ongeluk loopen van flows, zodat de bot dezelfde cyclus blijft herhalen. Om je een voorbeeld hiervan te geven, hebben we de onderstaande flow gemaakt, waarin de bot de gebruiker vertelt om op een van de knoppen te klikken nadat de gebruiker binnen 2 minuten niets heeft gedaan.
Het lijkt misschien een slim idee om vervolgens terug te gaan naar het hoofdmenu, zodat de gebruiker de opties opnieuw ontvangt, maar het probleem hier is dat de bot dat na nog eens 2 minuten opnieuw zal doen, en na nog eens 2 minuten opnieuw, enzovoorts.
Meerdere bestaande chatbots gebruiken een soortgelijke “Heb je nog steeds hulp nodig?” flow, die wordt geactiveerd na een bepaalde tijd van inactiviteit van de gebruiker, en vervolgens de menu-opties opnieuw laat zien, zodat de gebruiker gemakkelijk door kan gaan.
Daar is niets mis mee. In feite is het zelfs een goede aanvulling op de bot in de meeste gevallen, maar zorg er wel voor dat je op deze manier geen eindeloze cyclus creëert.

Verkeerd gebruik van context
Sommige mensen probeerden hun hele chatbot in één flow te maken. Op deze manier kunnen veel Intents niet worden gematcht, zelfs niet als ze een confidence level van 100% hebben. Dat komt omdat de context problemen zal veroorzaken als je Intents zich op een laag niveau van een flow bevinden in plaats van aan het begin van afzonderlijke flows.
Resetten in de context
Als je de Reset actie gebruikt om alles opnieuw in te stellen, verliest de bot zijn context. Laten we eens kijken naar de flow waarin we de Profanity Filter eerder tijdens deze cursus hebben uitgelegd. Het zou moeten werken zoals weergegeven in de onderstaande schermafbeelding.

Het werkt correct omdat de Reset werd geïnstrueerd om alleen de parameter met de naam te resetten:

De veelgemaakte fout is om alles hier te resetten. Dan kan de bot zijn context verliezen en zal hij niet meer matchen met de juiste stap.
Events toevoegen zonder triggers
Een andere veelgemaakte fout is dat mensen vergeten dat een Event Trigger nooit zelfstandig kan worden geactiveerd zonder daadwerkelijk te worden geactiveerd door een codeactie, een servicemedewerker, een referentie-URL of een Event Reply.
We komen vaak flows tegen zoals het onderstaande voorbeeld, die niet zullen werken.

Meerdere flows die beginnen met een Unknown of dezelfde Intent
Als meerdere flows in hetzelfde chatbotproject dezelfde Intent of een Unknown hebben aan het begin van de flow, is er geen context die de bot kan gebruiken om de gebruiker naar de juiste flow te leiden. Dit kan enkele problemen veroorzaken, zoals de bot die matcht met de verkeerde flow, of de bot kan zelfs helemaal niet meer toestaan om bepaalde berichten te matchen.
Gebruik van de Timer Trigger in plaats van Delays
Voor het toevoegen van wat Delays tussen Text Replies van de bot, gebruiken sommige mensen Timer Triggers in plaats van Delays. Dit zou theoretisch kunnen werken, maar de kans is veel groter dat je op deze manier een fout maakt.
Bij Timer Triggers is het selectievakje ‘Continue on reply’ niet standaard aangevinkt. Als je dit niet aanvinkt en de gebruiker reageert voordat de opgegeven tijdsperiode voorbij is, wordt de Timer Trigger niet meer geactiveerd. Dan kan de gebruiker dus niet meer verder in die flow.
Delays gaan altijd door, ook als een gebruiker in de tussentijd een bericht stuurt, wat ze ideaal maakt voor het toevoegen van korte vertragingen tussen de botberichten. Ze zien er ook compacter uit, zodat grote flow er op deze manier overzichtelijker blijven uitzien.
Kanaalbeperkingen vergeten
Misschien wel de meest gemaakte fout is dat mensen kanaalbeperkingen of specifieke karakterlimitaties vergeten. Als je bijvoorbeeld meer dan 20 tekens toevoegt aan een Quick Reply in Messenger zal het niet passen.
Door te testen in de bestemde kanalen in plaats van alleen in het testvoorbeeld van Flow.ai Try it Out, kun je een beter begrip krijgen van hoe je bot omgaat met de kanaalbeperkingen.
19. Blijf op de hoogte
Gefeliciteerd met het voltooien van deze cursus! We hopen dat je veel hebt geleerd! Maar dit is natuurlijk niet alles wat er over chatbots te leren is. Flow.ai heeft een grote verscheidenheid aan andere blogs en documentatie die je kennis nog verder kunnen uitbreiden!
De chatbot-industrie is nog relatief nieuw en blijft zich snel ontwikkelen. Flow.ai werkt constant aan verbeteringen voor haar platform, om ervoor te zorgen dat je de beste gespreksoplossingen voor je bedrijf en je klanten kunt creëren.
Daarom is het belangrijk om op de hoogte te blijven van de laatste ontwikkelingen, zoals nieuwe integraties, functies of andere wijzigingen aan het platform.
Om ervoor te zorgen dat je geen belangrijk nieuws mist, volg Flow.ai op LinkedIn, Twitter, Facebook en Instagram, en abonneer op het Flow.ai YouTube-kanaal.
Voel je ook vrij om lid te worden van onze Slack-community. Met meer dan 1000+ enthousiaste chatbot-ontwikkelaars is dit de plek om snel antwoord te krijgen op al je vragen en om inspiratie op te doen uit andere ambitieuze botprojecten!