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 human-in-the-loop.
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.
Over dit project
- Context
- Minor 'Omgaan met GenAI' @ Rotterdam Business School
- Opdrachtgever
- Yuki (VISMA)
- Team
- Maurice, Folkert, Stefan, Daniel, Lashayra
- Rol
- Full-stack developer
- Status
- Werkend prototype
- Duur
- 20 weken
Technieken
- Python
- FastAPI
- HubSpot API
- Claude Haiku 4.5
- Google Gemini
Meer werk
Meer projecten
NodForSped PyGame
NodForSped is een racespel ontwikkeld in Python met PyGame, waarin spelers kiezen uit vier auto's en racen tegen een computer tegenstander. Het spel bevat drie uitdagende levels en een leaderboard voor scoretracking.
LEES MEER : NodForSped PyGame
Brancom website
De Brancom website, gebouwd met custom HTML, PHP, jQuery/JS en Bootstrap 5, gecombineerd met SCSS-styling en een krachtige back-end op basis van WordPress. Inclusief een blogmodule, interactieve Mega Menu en contactformulieren met ReCaptcha.
LEES MEER : Brancom website
Heemzicht website
De Heemzicht website, een samenstelling van custom HTML, PHP, en Bootstrap 5, samen met volledig custom styling in SCSS en een gestroomlijnd beheer via WordPress. Een perfecte mix van design en functionaliteit.
LEES MEER : Heemzicht website