Het artikel
Een visuele workflow kan verrassend veel maatwerkcode voor integraties vervangen. Een formulier wordt verzonden, een klantrecord wordt bijgewerkt, een melding wordt verstuurd en een document wordt opgeslagen. Met een tool als n8n kun je deze stappen relatief snel met elkaar verbinden.
Maar naarmate een integratie groeit, verandert de belangrijkste vraag. Het gaat niet langer alleen om kan dit geautomatiseerd worden? De vraag wordt hoe eenvoudig blijft het om de oplossing te begrijpen, te testen, te onderhouden en te herstellen wanneer er iets misgaat?
De keuze tussen n8n en maatwerkcode gaat niet zozeer over visuele tools versus programmeren. Het gaat erom hoeveel controle je nodig hebt om een probleem goed op te lossen.
Waar n8n goed werkt
n8n is vooral handig wanneer je bestaande systemen met elkaar wilt verbinden en relatief eenvoudige handelingen wilt coördineren.
Denk bijvoorbeeld aan een contactformulier dat automatisch een record in een CRM-systeem aanmaakt, een bevestigingsmail verstuurt en iemand via Teams of Slack informeert. Of een gepland proces dat gegevens ophaalt uit een API, enkele velden aanpast en vervolgens een rapport verstuurt.
Dit zijn geschikte toepassingen omdat de afzonderlijke stappen overzichtelijk zijn, de externe systemen al API's aanbieden en het proces aangepast kan worden zonder een complete applicatie te wijzigen.
Een ander voordeel is de overzichtelijkheid. Een workflow maakt de volgorde van handelingen goed zichtbaar. Dat is vooral waardevol wanneer je het proces bespreekt met iemand die geen ontwikkelaar is.
Bijschrift: Visuele workflows zijn vooral nuttig wanneer een proces bestaat uit duidelijke, afzonderlijke stappen.
Wanneer de workflow zelf het probleem wordt
Een visuele workflow kan lastig te onderhouden worden wanneer de bedrijfslogica steeds complexer wordt.
Stel je een integratie voor die bestellingen van verschillende leveranciers verwerkt. Iedere leverancier gebruikt net iets andere gegevens. Producten moeten aan elkaar gekoppeld worden, uitzonderingen moeten worden afgehandeld, prijzen moeten opnieuw worden berekend en gegevens moeten worden gecontroleerd aan de hand van bestaande informatie.
In het begin lijkt het toevoegen van nog een voorwaarde of een extra verwerkingsstap geen probleem. Maar naarmate het aantal uitzonderingen groeit, verandert de workflow in een ingewikkeld netwerk van vertakkingen.
Enkele signalen dat het te complex wordt:
- Dezelfde validatie- of transformatielogica wordt in verschillende workflows herhaald.
- Voor het testen zijn veel combinaties van invoergegevens en uitzonderingssituaties nodig.
- Er worden grote hoeveelheden gegevens verwerkt of er gelden hoge prestatie-eisen.
- Het opnieuw uitvoeren van mislukte stappen, het voorkomen van dubbele verwerking en het waarborgen van gegevensconsistentie worden steeds belangrijker.
- Verschillende applicaties moeten exact dezelfde bedrijfsregels toepassen.
Geen van deze situaties betekent automatisch dat n8n ongeschikt is. Ze kunnen er wel op wijzen dat een deel van de oplossing eenvoudiger te beheren is als afzonderlijke software.
Bijschrift: Naarmate bedrijfsregels en uitzonderingen zich opstapelen, kan een visuele workflow moeilijker te doorgronden worden dan een kleine, goed gestructureerde softwaredienst.
Wanneer maatwerkcode verstandiger is
Met maatwerkcode heb je meer vrijheid om de logica te structureren, te testen en opnieuw te gebruiken.
Een kleine softwaredienst kan bijvoorbeeld een duidelijk gedefinieerde API aanbieden, binnenkomende gegevens valideren, bedrijfsregels toepassen en een voorspelbaar resultaat teruggeven. Met geautomatiseerde tests kun je zowel normale situaties als uitzonderingen controleren.
Dit is vooral nuttig wanneer dezelfde functionaliteit op meerdere plaatsen nodig is of wanneer wijzigingen zorgvuldig beheerd moeten worden.
Zelf code schrijven brengt echter ook verantwoordelijkheden met zich mee. Je moet rekening houden met het uitrollen van software, beveiligingsupdates, logging, monitoring en onderhoud.
Een complete applicatie bouwen voor iets dat met een korte workflow opgelost kan worden, is niet automatisch een betere technische keuze. Het kan juist onnodige complexiteit toevoegen.
De hybride aanpak
In de praktijk is een combinatie van beide vaak de beste oplossing.
Laat n8n zorgen voor triggers, planning, API-koppelingen en de coördinatie van het proces. Verplaats gespecialiseerde verwerkingen naar een kleine softwaredienst die één taak goed uitvoert.
Bijvoorbeeld: n8n ontvangt een bestelling vanuit een extern systeem. Een maatwerk-API valideert de bestelling, past de bedrijfsregels toe en geeft een resultaat terug. Vervolgens werkt n8n het doelsysteem bij en verstuurt het eventuele meldingen.
Daarmee maak je onderscheid tussen wanneer en waar iets gebeurt en hoe de ingewikkelde verwerking precies werkt.
Bijschrift: Een visuele workflow kan de samenwerking tussen systemen coördineren, terwijl een afzonderlijke softwaredienst de complexe logica afhandelt.
Deze aanpak maakt ook de verantwoordelijkheden duidelijker. De workflow laat het totale proces zien, terwijl de softwaredienst onafhankelijk getest en hergebruikt kan worden.
Uiteraard moeten de verbindingen tussen beide onderdelen nog steeds goed worden ingericht, met aandacht voor foutafhandeling, authenticatie en logging. Het opsplitsen van een oplossing moet een probleem oplossen, niet twee nieuwe problemen creëren.
Vijf vragen die je vooraf moet stellen
Voordat ik een aanpak kies, kijk ik naar vijf zaken:
- Hoe ingewikkeld is de daadwerkelijke logica? Systemen met elkaar verbinden is iets anders dan complexe bedrijfsregels implementeren.
- Hoe vaak zal het proces veranderen? Sommige wijzigingen zijn eenvoudiger visueel door te voeren, terwijl andere beter beheersbaar zijn met gestructureerde code en tests.
- Wat gebeurt er als er iets misgaat? Een melding opnieuw versturen is iets heel anders dan per ongeluk een factuur twee keer verwerken.
- Wie gaat de oplossing onderhouden? Zelfs de technisch beste oplossing heeft weinig waarde als niemand er later goed mee kan werken.
- Wordt de functionaliteit op meerdere plaatsen gebruikt? Gedeelde logica verdient vaak een duidelijke interface in plaats van dezelfde functionaliteit in verschillende workflows te dupliceren.
Kies de eenvoudigste oplossing die beheersbaar blijft
n8n is niet alleen een tool om snel prototypes te maken, en maatwerkcode is niet automatisch de professionelere keuze.
Een goed ontworpen visuele workflow kan jarenlang betrouwbaar functioneren. Een kleine maatwerkintegratie kan eenvoudiger te onderhouden zijn dan een onoverzichtelijke automatisering. En een combinatie van beide kan effectiever zijn dan alles koste wat kost met één technologie proberen op te lossen.
Het doel is niet om zo min mogelijk code te schrijven of het aantal stappen in een workflow zo klein mogelijk te houden.
Het doel is om iets te bouwen dat begrijpelijk, betrouwbaar en aanpasbaar blijft wanneer de behoeften veranderen.