Skip to main content

Workflows

Ontwerp gestructureerde gesprekken visueel.

9 min read

Een Workflow is een visuele weergave van je gesprek. In plaats van erop te vertrouwen dat de Finn de juiste vragen in de juiste volgorde stelt, teken je de flow — als een stroomdiagram — en de Finn volgt die.

Eerlijk gezegd: de meeste mensen hebben geen workflows nodig. Voor 80% van de use cases werkt de vrije modus (gewoon een goede Identity + Style + Knowledge Base) beter en is die veel makkelijker te onderhouden. Bouw alleen een workflow als je een echte reden hebt om een specifieke volgorde of vertakking af te dwingen.

Je merkt dat je er een nodig hebt wanneer: je de Finn steeds vertelt "je moet X doen vóór Y" en het steeds misgaat. Of wanneer er een compliance-script is dat woordelijk voorgelezen moet worden. Of wanneer het gesprek duidelijke beslismomenten heeft ("als ze A zeggen doe dit, als ze B zeggen doe dat").


Een concreet voorbeeld

Stel, je bouwt een intake-Finn voor een huisartsenpost. Het gesprek moet deze dingen in deze volgorde doen:

  1. Begroet de beller en controleer of het om een echte medische klacht gaat (geen testgesprek van ons).
  2. Vraag naam en geboortedatum.
  3. Vraag welke symptomen ze hebben.
  4. Vraag hoe ernstig de symptomen zijn op een schaal van 1-10.
  5. Bij een ernst van 8 of hoger: direct doorverbinden met de dienstdoende arts.
  6. Bij een ernst van 4-7: een afspraak op dezelfde dag inplannen.
  7. Bij een ernst lager dan 4: een reguliere afspraak inplannen.
  8. Lees een HIPAA-verklaring voor.
  9. Beëindig het gesprek.

Dit is een workflow. Elke stap is een node. De "als de ernst X is"-delen zijn beslisnodes die vertakken. De flow wordt afgedwongen — de Finn kan de verklaring niet per ongeluk overslaan of inplannen voordat de ernst is gecontroleerd.


De editor openen

Vanuit de sidebar van het dashboard: View All Finn → klik op je Finn → klik op Edit Workflow.

De editor opent schermvullend met:

  • Een leeg canvas in het midden (of je bestaande workflow als die er is)
  • Een werkbalk links met de nodetypes die je erin kunt slepen
  • Een minikaart rechtsonder om door grote flows te navigeren
  • Save-/Test-knoppen rechtsboven

Als dit je eerste workflow is, begint het canvas met alleen een Start-node. Bouw van daaruit verder.


De bouwstenen

Er zijn zes nodetypes. Je sleept ze op het canvas en verbindt ze vervolgens met edges (sleep van de rand van de ene node naar de volgende).

Start

Elke workflow heeft er precies één. Het gesprek komt hier binnen.

Je kunt het openingsbericht instellen op de Start-node, of het leeg laten en de normale Welcome Message van de Finn het laten afhandelen.

Say

De Finn zegt iets. Alleen woorden — geen vraag, geen wachten.

Voorbeeld: "Bedankt, ik heb alles wat ik nodig heb. We zien je morgen om 15.00 uur."

Gebruik Say-nodes voor bevestigingen, verklaringen en overgangen tussen onderdelen.

Je kunt dynamische content ophalen met {{contact.name}} (gegevens uit de audience-rij) of {{state.appointment_time}} (gegevens die de Finn eerder in dit gesprek heeft verzameld).

Ask

De Finn stelt een vraag en wacht op het antwoord.

Je configureert:

  • Wat te vragen"Wat is je geboortedatum?"
  • Wat voor antwoord je verwacht — vrije tekst, ja/nee, een getal, een datum, een enum (kies een van meerdere opties).
  • Waar het antwoord wordt opgeslagen — geef het een variabelenaam, zoals dob of severity. Die naam gebruik je later.
  • Wat te doen als het antwoord nergens op slaat — opnieuw vragen, opgeven en doorverbinden met een mens, enzovoort.

Beslissing

Een vertakking. Op basis van iets wat de Finn weet (een opgeslagen variabele, of wat de beller net zei) kies je welk pad je volgt.

Drie types:

  • Eenvoudige vergelijking"als severity >= 8, ga naar de ER-node." Voor als je een getal, een ja/nee of een duidelijke enum hebt.
  • Enum-match"als intent 'cancel' is, ga naar de annuleringsnode." Voor als je een specifieke categorie hebt verzameld.
  • AI-geëvalueerd"klonk de beller gefrustreerd?" Voor als er geen eenduidige waarde is om te controleren — je laat de AI beslissen.

Actie

Een neveneffect. De Finn doet iets, in plaats van alleen iets te zeggen.

De belangrijkste:

  • Book Calendar — voegt een afspraak toe aan een gekoppelde agenda.
  • Transfer Call — draagt het gesprek over aan een echte medewerker.
  • Update CRM — schrijft een veld weg naar HubSpot/Salesforce/Pipedrive.
  • Send SMS — stuurt een opvolgend sms-bericht.
  • Webhook — roept je eigen URL aan (handig om live gegevens op te halen — zie Integraties).

Einde

Beëindigt het gesprek.

Je kunt meerdere Einde-nodes hebben — één voor elke manier waarop het gesprek kan aflopen. "Geëindigd met boeking", "Geëindigd met doorverbinden", "Geëindigd met weigering". Meerdere eindes zijn handig omdat elk een aparte categorie wordt in je analytics.


Basis van de editor

Het canvas werkt zoals de meeste diagramtools.

ActieHoe
Een node op het canvas slepenKlik en sleep vanuit de linkerwerkbalk
Een node verplaatsenKlik en sleep de node zelf
Twee nodes verbindenKlik en sleep van de randstip van de ene node naar de andere
Een node of verbinding verwijderenRechtsklik → Verwijderen (of selecteren + Delete-toets)
Ongedaan maken⌘/Ctrl + Z
Opslaan⌘/Ctrl + S (of de knop Opslaan rechtsboven)
Zoom resettenKlik op de knop "Fit to screen"

Automatisch opslaan staat standaard uit. Vergeet niet op Opslaan te klikken — liever laten we jou bepalen wanneer je vastlegt dan het risico lopen dat een goede staat wordt overschreven door een halfafgemaakte bewerking.


Variabelen — gegevens doorgeven in de flow

Dit is het onderdeel dat mensen als eerste in verwarring brengt. Neem er even de tijd voor.

Wanneer een Ask-node een antwoord verzamelt, wordt dat antwoord een variabele. Wanneer een Action-node gegevens teruggeeft (bijv. een Book Calendar-actie geeft het geboekte tijdstip terug), wordt dat ook een variabele. Variabelen blijven de hele oproep bestaan.

Je verwijst ernaar met dubbele accolades:

  • {{contact.name}} — komt uit de rij in de doelgroep waarvoor deze oproep bedoeld is
  • {{state.severity}} — verzameld bij de Ask-node waar je hebt opgeslagen naar severity
  • {{state.appointment_id}} — teruggegeven door een Book Calendar-actie

Je kunt ze overal plaatsen: in een Say-node, in de vraagtekst van een Ask-node, in de parameters van een Action-node of in de voorwaarde van een Decision-node.

Voorbeeld van een Say-node:

"Genoteerd, {{contact.name}}. Ik heb je ingepland voor {{state.appointment_time}}. We sturen een bevestiging naar {{contact.phone_number}}."


Testen tijdens het bouwen

Je hoeft de hele workflow niet af te hebben om te kunnen testen. Twee opties:

Test on Chat — opent een tekstgebaseerde simulator in je browser. Typ berichten en zie hoe de Finn reageert. Elke node toont zijn invoer en uitvoer in realtime, zodat je precies ziet waar een vertakking misging.

Test on Call — belt je telefoon. Realistisch van begin tot eind. Gebruik dit voordat je live gaat voor echte gebruikers.

Werk aan een klein stuk → test → werk verder → test. Probeer niet alles vooraf te ontwerpen.


Als er iets misgaat in een flow

Een paar veelvoorkomende patronen en hoe je ze oplost:

"De beller zei iets vreemds en de workflow liep vast"

Dit is het meest voorkomende probleem. Echte bellers antwoorden niet in het formaat dat je Ask-node verwacht.

Oplossing: voeg fallback-edges toe aan elke Ask-node. De fallback treedt in werking wanneer het antwoord niet kan worden verwerkt — stel de vraag opnieuw, stop netjes, of spring naar een ander deel van de flow.

Ook: overweeg de Ask-node om te zetten van "exact match" naar "AI-evaluated" — zo kan het model geparafraseerde antwoorden interpreteren.

"De Finn klinkt robotachtig"

Als je workflow vooral uit opeenvolgende Say-nodes bestaat, krijgt het gesprek geen ruimte om te ademen.

Oplossing: voeg vrije tussenstukken in. De End-node heeft een optie om over te dragen aan free-form — bij activering verlaat de Finn de workflow en gaat de rest van de oproep conversationeel verder met de normale Identity en Knowledge Base.

Workflows zijn ideaal om verplichte onderdelen door te lopen. Free-form is ideaal voor al het andere. Combineer ze.

"De variabele verschijnt als {{state.x}} in het transcript"

Je hebt een typefout in de variabelenaam. De Say-node verwijst naar {{state.severity}}, maar de Ask-node sloeg op naar severity_score. Zorg dat ze exact overeenkomen.

"De editor loopt traag bij grote workflows"

De meeste flows met meer dan 30 nodes gaan traag aanvoelen.

Oplossing: bundel sub-flows in Group-nodes (Pro-abonnement). Of splits op in meerdere Finns die via Transfer-nodes zijn verbonden.


Versiebeheer — ongedaan maken op workflowniveau

Elke keer dat je opslaat, ontstaat er een nieuwe versie. De huidige versie is wat nieuwe deployments gebruiken. Actieve deployments blijven draaien op de versie waarmee ze zijn gestart.

Terugdraaien: Edit WorkflowHistory → kies een versie → klik op Restore. Herstelde versies worden de huidige versie.

Als je ooit naar een workflow kijkt en denkt "dit werkte vroeger wel", bekijk dan de geschiedenis voordat je de moed opgeeft.


Workflows delen en hergebruiken

Workflows exporteren naar JSON. Gebruik dit om:

  • Een workflow van de ene Finn naar de andere te kopiëren (of van een dev-account naar een productieaccount)
  • Workflows buiten het platform in versiebeheer te houden (commit de JSON naar git)
  • Sjabloonworkflows met je team te delen

Exporteren: Workflow bewerken → ⋯ menuExporteren als JSON.

Importeren: Workflow bewerken → ⋯ menuImporteren uit JSON.


Wanneer je workflows helemaal moet overslaan

Gebruik workflows niet voor:

  • Eenvoudige vraag en antwoord. Vrije vorm plus kennisbank werkt beter.
  • "Voer een natuurlijk gesprek over X." Vrije vorm is hier het juiste middel.
  • Verkennende gesprekken. Je weet vooraf niet hoe het gesprek verloopt — laat het model improviseren.

Gebruik workflows voor:

  • Compliance-gebonden scripts (disclosures, verplichte formuleringen).
  • Intakeformulieren met meerdere stappen (specifieke velden in een specifieke volgorde verzamelen).
  • Triage (het gesprek routeren op basis van de eerste antwoorden).
  • Alles wat je omschrijft met de woorden "moet" en "in deze volgorde."

Volgende

Was this page helpful?

Still stuck or have feedback?

Email [email protected] or use the chat bubble in the bottom-right corner — it's a Finn that knows the Academy cold.