De meeste MKB-bedrijven koppelen uiteindelijk een aantal van hun systemen aan elkaar: het CRM dat de boekhouding moet bijwerken zodra een deal gesloten is, de webshop die een order moet aanmaken in het magazijnsysteem, de HR-tool die bij een nieuwe medewerker ergens anders automatisch accounts moet aanmaken. Onze gids over bedrijfsprocessen automatiseren behandelt de no-code kant daarvan — Zapier, Make, n8n, en welke processen u als eerste automatiseert. Deze gids pakt het op waar die stopt: wat er gebeurt zodra een koppeling meer nodig heeft dan de standaardconnectoren van een no-code platform, en hoe u het zo bouwt dat het een jaar later nog steeds werkt, in plaats van de ene integratie te worden die niemand meer durft aan te raken.
Waar no-code tools niet meer volstaan
Een no-code platform werkt goed zolang beide systemen een standaardconnector bieden en de logica eenvoudig blijft: gebeurt dit hier, doe dan dat daar. U stuit redelijk voorspelbaar op de grens daarvan:
- Een van de systemen heeft geen officiele connector. Een ouder ERP-systeem, een gespecialiseerde brancheapplicatie, of iets dat intern gebouwd is, ontsluit data via zijn eigen API, als het al iets ontsluit, en iemand moet rechtstreeks tegen die API aan programmeren.
- De logica moet over meerdere stappen met echte foutafhandeling lopen. Een enkele trigger-actie-combinatie is makkelijk te overzien. Een keten van vijf stappen waarin stap drie onafhankelijk van de andere vier kan mislukken, en zijn eigen retry en melding nodig heeft, groeit meestal uit boven een visuele workflow builder.
- De data die de koppeling oversteekt is gevoelig, en u heeft specifieke controle nodig over waar die onderweg gelogd wordt, hoe lang die onderweg bewaard blijft, en wie erbij kan — controle waarvoor een generieke connector niet gebouwd is.
- U koppelt dezelfde twee systemen in meer dan één richting, en meerdere losse no-code workflows met elkaar synchroon houden wordt zelf een onderhoudsklus.
Niets hiervan betekent dat het no-code platform de verkeerde start was. Het betekent dat het project groter is geworden dan waarvoor die laag bedoeld is, en dat de volgende stap een koppeling is die rechtstreeks tegen de eigen API's van de systemen gebouwd wordt.
Drie manieren om een koppeling op te zetten
Point-to-point. Systeem A praat rechtstreeks met systeem B. Eenvoudig te bouwen en te overzien voor één koppeling. Het probleem toont zich zodra u meer systemen toevoegt: vijf systemen die allemaal point-to-point aan elkaar hangen, kunnen oplopen tot tien losse koppelingen, elk met zijn eigen authenticatie, foutafhandeling en eigenaardigheden om te onderhouden. Wat bij twee systemen eenvoudig leek, wordt bij vijf een kluwen.
Een centrale integratielaag. In plaats van dat elk systeem met elk ander systeem praat, koppelt elk systeem één keer aan een gedeelde laag die data ertussen routeert. Een zesde systeem toevoegen betekent één nieuwe koppeling naar die hub bouwen, niet vijf nieuwe koppelingen naar alles wat er al staat. Dit kost meer om op te zetten voor slechts twee systemen, precies waarom point-to-point de juiste keuze is wanneer twee alles is wat het ooit wordt, en de hub de juiste keuze wordt zodra u al een derde of vierde systeem ziet aankomen.
Event-driven versus planmatig. Een webhook stuurt data door op het moment dat er iets verandert — een order wordt geplaatst, een status klapt om — zodat het andere systeem vrijwel realtime reageert en er geen API-aanroepen verspild worden aan niets controleren. Polling vraagt op een vast schema "is er iets nieuws?", wat eenvoudiger te bouwen en te overzien is, maar een vaste vertraging tussen de gebeurtenis en de reactie met zich meebrengt, en aanroepen kost zelfs als er niets veranderd is. Gebruik een webhook wanneer het ontvangende systeem er een ondersteunt en vrijwel realtime ertoe doet; polling is een redelijke, eenvoudigere standaard wanneer dat niet zo is.
Wat een integratie in de praktijk echt kapotmaakt
De bouw zelf is zelden waar een integratieproject op mislukt. Het mislukt later, stilletjes, op een manier die veel lijkt op de stille mislukkingen die onze gids over data migratie beschrijft voor datamigraties — dezelfde discipline is hier van toepassing, omdat een integratie in feite een migratie is die nooit stopt:
- Een externe API verandert zonder waarschuwing. Een leverancier hernoemt een veld, zet een endpoint op deprecated, of verstrakt een rate limit, en een integratie die tegen het oude gedrag gebouwd is, begint te falen of, erger, geeft stilletjes onvolledige data terug.
- Authenticatie verloopt. Een API-key wordt aan de andere kant gewisseld, of de refresh van een OAuth-token was niet goed ingesteld, en de koppeling stopt met werken tussen twee momenten waarop niemand kijkt.
- Rate limits bijten tijdens drukte. Een integratie die in testen prima werkt, kan precies falen op het moment dat het volume het hoogst is — de piek rond Black Friday, de maandafsluiting van facturen — omdat niemand hem onder echte belasting testte.
- Een herhaalde stap maakt een dubbele record aan. Mislukt een stap halverwege en wordt die zonder zorgvuldig ontwerp opnieuw geprobeerd, dan kan dezelfde order of factuur twee keer aangemaakt worden. Elke stap zo ontwerpen dat hem opnieuw draaien hetzelfde eindresultaat geeft als hem één keer draaien, in plaats van aan te nemen dat hij maar één keer zal draaien, voorkomt dit.
- Hetzelfde veld betekent iets anders in elk systeem. Een "status"-veld dat in het CRM iets net anders betekent dan in het boekhoudpakket, is hetzelfde datamapping-probleem dat onze gids over data migratie behandelt, alleen nu doorlopend in plaats van eenmalig tijdens een overstap.
De vraag die de meeste integratieprojecten overslaan: wie is verantwoordelijk voor de data
Stuurt een integratie persoonsgegevens — klantrecords, orderdetails, personeelsgegevens — naar een systeem van een derde partij, dan verwerkt die derde partij persoonsgegevens namens uw bedrijf. Onder de AVG maakt dat uw bedrijf de verwerkingsverantwoordelijke en het systeem van de derde partij de verwerker, en moet de relatie tussen beide vastgelegd worden in een schriftelijk contract, niet alleen in een technische koppeling. De eigen richtlijnen van de European Data Protection Board voor kleine bedrijven zijn specifiek over wat dat contract moet dekken: de verwerker mag de data alleen op uw instructies verwerken, moet die vertrouwelijk en beveiligd houden, moet u helpen bij het afhandelen van verzoeken van betrokkenen en u informeren bij een datalek, en — specifiek relevant voor integraties — mag geen eigen subverwerker inschakelen zonder uw voorafgaande schriftelijke toestemming en een reële mogelijkheid voor u om daar bezwaar tegen te maken. De EDPB is even direct over aansprakelijkheid: als verwerkingsverantwoordelijke blijft u verantwoordelijk voor de compliance van de verwerker die u kiest, niet alleen voor uw eigen compliance.
In de praktijk betekent dit dat het de moeite waard is om twee dingen te checken voordat u een nieuw systeem in de keten koppelt: of een bestaande verwerkersovereenkomst die specifieke koppeling al dekt, en of het nieuwe systeem een eigen subverwerker meebrengt (een cloudplatform achter een integratietool, bijvoorbeeld) die niemand schriftelijk heeft geautoriseerd. Een integratie die ooit als technisch project is goedgekeurd, kan stilletjes een compliance-gat worden als er later een nieuw systeem aan de keten wordt toegevoegd zonder dat iemand die overeenkomst er nog eens bij pakt.
Beveiligingsgewoontes die onder tijdsdruk wegglippen
Bewaar API-keys en secrets in een secrets manager of de ingebouwde credential-opslag van uw platform, niet hardcoded in een script of "voor nu even" in een gedeeld spreadsheet. Geef elke credential alleen de minimale toegang die de integratie daadwerkelijk nodig heeft, in plaats van één breed geautoriseerde key voor elke koppeling te hergebruiken omdat die al klaarstaat. Trek credentials dezelfde dag in waarop iemand die er toegang tot had vertrekt, dezelfde discipline die ons team cybersecurity en identity op elk ander account toepast. En log wat er bewogen is, en wanneer — niet om het loggen zelf, maar omdat het alternatief, wanneer een klant zegt dat een order nooit is aangekomen, een welles-nietes tussen twee systemen is die allebei volhouden hun deel gedaan te hebben.
Bouw het zo dat de volgende persoon niet moet gokken
Geef elke integratie een met naam genoemde eigenaar, dezelfde regel die onze gids over procesautomatisering geeft voor no-code workflows: een workflow zonder iemand die verantwoordelijk is, breekt stilletjes zodra een gekoppeld systeem iets verandert. Monitor actief — een melding op het moment dat een koppeling faalt, niet een klacht van een klant drie dagen later als eerste teken dat er iets mis was. En documenteer de mapping zelf: welk veld in systeem A landt in welk veld van systeem B, en waarom een bepaalde keuze gemaakt is op het punt waar de twee systemen het niet helemaal eens zijn over wat een veld betekent. Dat document is precies wat iemand onder tijdsdruk, op het slechtst mogelijke moment, zelf weer moet reconstrueren als het niet al bestaat.
Uitrollen zonder alles op dag één te wagen
Begin met één koppeling, getoetst tegen echte data, voordat die het enige pad wordt waarlangs die records reizen. Laat hem een periode naast het bestaande handmatige proces draaien in plaats van direct over te schakelen, zodat een mappingfout naar boven komt als een afwijking die u kunt checken, niet als een probleem dat de klant al merkt. Pas zodra de eerste koppeling een normale bedrijfscyclus schoon heeft doorlopen — inclusief de drukke dagen, niet alleen de rustige — is het logisch om de volgende toe te voegen.
Fouten die telkens terugkomen
Een kluwen bouwen in plaats van een hub zodra een derde of vierde systeem al in zicht is. Point-to-point is prima voor twee systemen en wordt met elk systeem daarna steeds duurder.
Geen plan voor wat er gebeurt als de andere kant plat ligt. Een integratie die ervan uitgaat dat het andere systeem altijd bereikbaar is, faalt precies op het moment dat het het meest telt: tijdens een storing bij de ander, niet bij uzelf.
Een geslaagde test aanzien voor een afgeronde integratie. Een koppeling die werkt tegen schone testdata gedraagt zich anders tegen de edge cases, retries en vreemde historische records van een echt systeem.
Een nieuw systeem stroomafwaarts toevoegen zonder te checken wie de data nu ziet. Elke nieuwe stap die een stukje persoonsgegevens aflegt, is een vraag die het waard is om vooraf te stellen, niet achteraf.
Veelgestelde vragen
Wat kost het om twee bedrijfssystemen te koppelen? Dat hangt sterk af van of er al een no-code connector bestaat voor beide systemen, hoeveel maatwerklogica de koppeling nodig heeft, en hoe gevoelig de data is. Een koppeling tussen twee gangbare SaaS-tools met een bestaande no-code connector is een ander project dan een koppeling met een legacy-systeem zonder moderne API — vraag een offerte op basis van uw specifieke systemen, niet op basis van een algemeen bedrag.
Kunnen we niet gewoon Zapier of Make gebruiken in plaats van iets op maat te bouwen? Voor de meeste standaardkoppelingen tussen gangbare tools wel — zie onze gids over bedrijfsprocessen automatiseren voor hoe u het juiste no-code platform kiest. Maatwerkintegratie wordt zijn geld waard zodra een systeem geen officiele connector heeft, de logica foutafhandeling over meerdere stappen nodig heeft, of de betrokken data specifieke beveiligings- of contractuele eisen heeft die een generieke connector niet biedt.
Heeft elke integratie die persoonsgegevens raakt een nieuw contract nodig? Niet als een bestaande verwerkersovereenkomst met die derde partij de koppeling al dekt. Het is vooral de moeite waard om te checken wanneer er een nieuw systeem in de keten komt, of wanneer een integratietool zelf op de achtergrond leunt op een andere leverancier die niemand apart heeft geautoriseerd.
Hoe weten we of een integratie echt betrouwbaar is, en niet alleen vandaag werkt? Vraag wat er gebeurt als het andere systeem onbereikbaar is, wanneer een stap opnieuw geprobeerd wordt, en wanneer het datavolume op een dag verdrievoudigt. Een integratie die alleen ooit tegen het ideale scenario getest is, is niet echt getest.
Zo gebouwd dat het ook blijft werken
De integraties die een jaar later de minste problemen geven, zijn de integraties die vanaf het begin met de faalscenario's in gedachten ontworpen zijn, niet de integraties die het snelst gebouwd zijn. Ons team Web & Software Development bouwt de maatwerkkoppelingen die een no-code platform niet kan maken, met de foutafhandeling, monitoring en documentatie die ze stilletjes laten blijven draaien. Is een workflow op n8n, Make of Zapier het juiste antwoord, dan bouwt ons team AI & Automation die kant ervan net zo goed, als onderdeel van hetzelfde gesprek over wat uw systemen elkaar eigenlijk moeten vertellen.
