01/06/2026
Project:

Yuki/VISMA Chatbot

Voor Yuki hebben we een chatbot gemaakt die in gewone taal vragen over hun sales data in HubSpot CRM beantwoordt en zelf voorstellen klaarzet, gebouwd bovenop dezelfde AI die op de achtergrond verkoopnotities en KVK gegevens verrijkt.

Prototype

AI enrichment voor HubSpot

Voor de minor “Omgaan met GenAI” kreeg mijn groep een echte opdrachtgever: Yuki, de boekhoudsoftware van VISMA met 136.000+ klantbedrijven. Yuki’s salesteam werkt met een CRM (HubSpot) waar verkoopnotities grotendeels vrije tekst zijn, bedrijfsvelden vaak leeg blijven en inside sales missende gegevens handmatig opzoekt. De opdracht was een adviesrapport plus een werkend prototype dat laat zien hoe AI dat proces kan verbeteren zonder de controle uit handen te geven. Ik heb het prototype gebouwd: twee Python repo’s met een FastAPI webapp bovenop een los herbruikbaar Python package. Elke wijziging die de AI voorstelt komt eerst in een reviewtabel terecht, en pas na expliciete goedkeuring gaat er iets naar HubSpot. Die keuze voor “ondersteunende AI, geen autonome AI” is direct het advies uit het rapport: gefaseerde uitrol met een mens in de lus.

 

De drie tools

Notities, KVK en een chatbot

Onderdeel A, Notities verwerken, laat een LLM tot tien velden per verkoopnotitie voorstellen (boekhoudpakket, medewerkers, KvK-nummer, omzet, adres), elk met een betrouwbaarheidsscore en een citaat als onderbouwing.

Onderdeel B, KVK-verrijking, vergelijkt HubSpot-bedrijven met het officiële Handelsregister en vult of corrigeert bedrijfsgegevens automatisch, met de bedrijfsnaam als enige uitzondering die nooit wordt overschreven.

Onderdeel C, de Lead-agent, is een chatbot die vragen over de data in HubSpot in gewone taal beantwoordt met tabellen of grafieken: het mag zelf vrij lezen, maar elke schrijfactie toont het als voorstel.

Dataveiligheid

Human-in-the-loop

Het hart van het systeem is de reviewtabel: geen enkele wijziging bereikt HubSpot zonder expliciete goedkeuring. Hoog vertrouwen voorstellen zijn in bulk goed te keuren, laag vertrouwen voorstellen bewust niet, en een conflict oplosser en auditlog houden alles herleidbaar. Afgekeurde voorstellen worden als negatief voorbeeld teruggevoerd in de volgende run. Bij het toepassen worden alleen lege velden gevuld, en een afwijkende bestaande waarde wordt nooit stil overschreven.

Omdat Yuki (nog) geen verwerkersovereenkomst met Anthropic heeft, blocked een ingebouwde testdata guard notities zonder vaste markering nog vóór de API call. De LLM provider is met één variable te switchen (Anthropic Claude of Google Gemini), en de volledige testsuite (490 tests) draait gemockt, zonder externe API calls of kosten.

Vragen? Neem contact met mij op, of keer terug naar het overzicht