Handen typen op een laptop met een spreadsheet op het scherm.
GidsUitgebreide gids14 november · 09:0019 min leestijd

Dataverse met n8n koppelen: identiteit, sleutel en write-back testen

Test één Dataverse-record via n8n van sleutel tot read-back. Kies gedelegeerde of app-only toegang, beperk de tabelrechten en vang geweigerde writes en tijdelijke API-fouten gecontroleerd op.

De Dataverse-credentialtest is groen. De eerste write eindigt met “Access denied”. Dat past bij het rechtenmodel: n8n kan een identiteit aanmelden zonder dat die identiteit één specifieke tabel mag wijzigen. Begin daarom met één record, één sleutel en een read-back die bewijst wat er echt is opgeslagen.

Microsoft kondigde op 2 november 2026 de Dataverse-route naar onder meer n8n aan. Voor één accountrecord geeft de ingebouwde Dataverse-node een vaste workflow met controleerbare stappen.

Een gecontroleerde Dataverse-write-back is een n8n-stroom die één rij met een vaste sleutel selecteert, alleen afgesproken velden schrijft en daarna dezelfde rij opnieuw leest. Je accepteert de run pas wanneer sleutel, Dataverse-ID, waarden en status overeenkomen. Microsoft Entra bepaalt wie de aanvraag doet; de securityrol in Dataverse bepaalt welke tabelactie die identiteit mag uitvoeren.

De route werd concreet toen Microsoft op 2 november Dataverse ook via n8n bereikbaar maakte. De node kan rijen lezen, aanmaken, wijzigen en verwijderen, plus Create or Update op basis van een record-ID of alternate key. Na een write vraagt de node de rij opnieuw op en geeft de Dataverse-reactie terug. Leg daarnaast zelf een aparte Get-stap vast als read-back, zodat de volgende stap expliciet de uiteindelijke waarden controleert. De n8n-nodebeschrijving noemt die bewerkingen en de twee authenticatieroutes.

Wat je nodig hebt

Zet eerst de omgeving en de mensen klaar. Een testrecord in productie verandert nog steeds live data: ook een foutieve telefoon, eigenaar of status is daar echt.

  • Een Dataverse-testomgeving met één standaardtabel. Gebruik voor het voorbeeld de Accounts-tabel. De Web API-entiteit heet accounts, de logische tabelnaam is account en de primaire sleutelkolom heet accountid. Gebruik het echte HTTPS-omgevingsadres uit Power Platform, bijvoorbeeld https://contoso.crm.dynamics.com. Zet er geen /api/data/v9.2 achter in de n8n-credential.
  • Een stabiele koppelsleutel. Kies één bron-ID die niet verandert wanneer een accountnaam of e-mailadres wijzigt. accountnumber kan in een omgeving als alternate key worden ingericht, maar is dat niet automatisch. Maak de sleutel in Power Apps en wacht tot de status Active is. Een alternate key met lege waarden is geen betrouwbare uniekheidscontrole.
  • Een Microsoft Entra-appregistratie en twee aparte n8n-credentials. Maak een credential van het type Microsoft Dataverse OAuth2 API voor Authorization Code en een tweede voor Client Credentials. Gebruik voor delegated access een exacte Web-redirect-URI en de gedelegeerde Dynamics CRM-toestemming user_impersonation. Gebruik voor app-only een tenant-GUID en maak de bijbehorende application user in precies dezelfde Dataverse-omgeving.
  • Een rol per identiteit en handeling. De medewerker in de gedelegeerde proef moet toegang hebben tot de omgeving en het testrecord. De Dataverse-application user voor app-only krijgt een eigen rol. Voor een bestaande rij heeft de write minimaal Read en Write nodig; als de alternate key geen rij vindt en de flow mag creëren, is ook Create nodig. Voeg Append en Append To alleen toe als de flow relaties wijzigt. Geef geen Delete als de workflow niets verwijdert.
  • Een recordcontract met logische veldnamen. Noteer welke systeembron eigenaar is van elk veld, welk datatype het heeft en wanneer een lege waarde een veld mag wissen. Voor de test zijn accountnumber, name, telephone1 en één eigen tekstkolom voor de synchronisatiestatus genoeg. De exacte naam van die kolom hangt af van de prefix van je Dataverse-oplossing.
  • Een n8n-project met een beheerder en een tweede eigenaar. De GitHub-releasepagina van n8n toonde op 14 november 2026 stable 2.47.7 en pre-release 2.48.4. Houd je productie-instantie op een vaste stabiele versie en test node- of credentialwijzigingen eerst op dezelfde versie in een aparte omgeving. Wijs een projectbeheerder aan die de credential kan delen, vervangen en intrekken.
  • Een foutpad dat de sleutel bewaart. Maak een Error Workflow met een Error Trigger en een duurzame plek voor de business key, het doel-ID, de payload of payloadhash, de poging en de foutstatus. De standaard Error Trigger ontvangt uitvoeringsmetadata, niet vanzelfsprekend de oorspronkelijke rij. Sla de werkgegevens dus vóór de write op.
  • Een halve dag met de juiste beheerders en een passend budget. Reken voor één tabel en één gecontroleerd record op een eerste werkblok van een halve dag als omgeving, testdata en toestemmingen al klaarstaan. Goedkeuring van Entra, een nog niet actieve alternate key of onduidelijk bronhouderschap vraagt extra doorlooptijd. Op 14 november 2026 kost n8n Cloud Starter €20 per maand bij jaarlijkse betaling en bevat het 2.500 workflowuitvoeringen per maand. De self-hosted Community Edition is gratis als software, maar vraagt eigen tijd en infrastructuur voor updates, back-ups, monitoring en geheimenbeheer. De Dataverse- en eventuele Power Automate-licenties blijven apart.

Richt het proefrecord pas in wanneer deze acht punten afgevinkt zijn:

Vlak voordat je de eerste Dataverse-write uitvoert
0/8

Concrete stappen: van identiteit tot teruggelezen record

1. Leg de sleutel, tabel en verwachte rij vast

Maak in de Dataverse-testomgeving een Accounts-record dat je veilig mag wijzigen. Noteer het volledige accountid, de waarde in accountnumber en de bronhouder van ieder veld dat je schrijft. Richt accountnumber als alternate key in wanneer de waarden uniek en niet leeg zijn. Microsofts alternate-keydocumentatie zegt dat de key pas bruikbaar is wanneer de indexstatus Active is. Bij Pending, In Progress of Failed voer je geen write uit.

Noteer op één testblad de vaste GUID, de alternate key en de verwachte waarden vóór de wijziging. Gebruik een ID uit dezelfde testomgeving, geen productie-ID. De eerste Get op die GUID moet de verwachte alternate key teruggeven.

Controle: de key is Active, heeft geen lege onderdelen en de Get vindt de bedoelde rij. Klaar als iemand het record op ID en externe sleutel kan aanwijzen.

2. Maak de delegated- en app-only-credentials

Gebruik Authorization Code wanneer een medewerker de Dataverse-actor moet zijn. Registreer in Entra bij API permissions de gedelegeerde Dynamics CRM-toestemming user_impersonation, zet de exacte Web-redirect-URI uit n8n in de app en vraag beheerderstoestemming aan als het tenantbeleid dat vereist. Meld aan met een testgebruiker en noteer de Dataverse-identiteit uit WhoAmI.

Gebruik Client Credentials voor de vaste achtergrondidentiteit. Maak in het Power Platform-beheercentrum onder Environments > [testomgeving] > Settings > Users + permissions > Application users een application user met dezelfde application ID als de Entra-app. Wijs de testrol toe. Gebruik een tenant-GUID en de basis-URL van de omgeving; voeg geen /api/data/v9.2 toe. Kies de juiste National Cloud.

Bewaar een client secret in de n8n-credential en leg de vervaldatum vast; n8n ondersteunt ook certificaatgebruik. De credentialtest roept GET /api/data/v9.2/WhoAmI aan. Die bevestigt een verbinding met de omgeving, niet de rechten op iedere tabel of rij. n8n maakt expliciet onderscheid tussen een geslaagde WhoAmI-test en de benodigde tabelrechten.

Controle: maak twee credentials met verschillende namen, bijvoorbeeld DV delegated pilot en DV app-only pilot, en lees dezelfde proefrij met elk. Klaar als beide identiteiten afzonderlijk herkenbaar zijn en de verwachte rij kunnen lezen. De identiteit en rechten van een connector moeten per dienst en handeling afzonderlijk worden beproefd; voor Dataverse betekent dit een aparte proef op de tabel.

3. Geef alleen de tabelrechten die de route gebruikt

Open de securityrol van de testidentiteit en controleer de Accounts-tabel. Een Get vraagt Read, Update vraagt Write en Create vraagt Create. Voor Upsert gelden volgens Microsoft doorgaans Read en Write op de tabel. Als Create or Update ook een nieuwe rij mag maken, geef dan eveneens Create. De Microsoft-matrix koppelt tabelacties en relaties aan de vereiste privileges.

Geef Read en Write op het laagste toegangsniveau waarmee de testrecord bereikbaar is. De rol kan bijvoorbeeld toegang beperken tot User, Business Unit of Organization. Microsoft beschrijft hoe securityrollen die recorddiepte bepalen. Voeg Append en Append To alleen toe wanneer de flow relaties wijzigt. Laat Delete uit als de workflow geen records verwijdert. Kolombeveiliging en recordtoegang blijven aparte controles, ook als de tabelrol goed staat.

Controle: de Read-proef slaagt en alleen de rol met Write kan de bestaande rij wijzigen. Klaar als de rol geen rechten bevat die de workflow niet gebruikt. Een lege tabelkiezer vraagt om controle van metadatarechten; handmatige invoer van accounts omzeilt die controle niet.

4. Bouw de flow en map alleen de afgesproken velden

Maak een n8n-flow met Manual Trigger, Edit Fields en Microsoft Dataverse. Begin met Resource: Row, Operation: Get, Table Name or ID: accounts en Row ID: By ID. Vul de vaste GUID in en haal alleen accountid, accountnumber, name, telephone1 en je statuskolom op. Zet een IF achter de Get die stopt als de teruggelezen key afwijkt.

De write-node gebruikt Operation: Create or Update, Identifier Type: Alternate Key en Alternate Key Predicate: accountnumber='NLM-2048' in het voorbeeld. Zet voor de bekende acceptatierij Options > Behavior op Update Only. Voor productie zet je het predicate in Expression-modus en bind je de gevalideerde invoersleutel, bijvoorbeeld accountnumber='{{$json.accountnumber}}'. Gebruik in een aparte proefkey Create Only of Create or Update om de create-route te testen. De standaardinstelling maakt een rij bij een miss en wijzigt de bestaande rij bij een match.

Kies Input Mode: JSON en map alleen de logische namen die deze stroom beheert, bijvoorbeeld name, telephone1 en nlm_syncstatus. De alternate key staat in het predicate. De node gebruikt voor Get, Update en Delete een record-ID; alleen Create or Update ondersteunt alternate-key-adressering. Een Get na de write gebruikt de primaire ID uit de Dataverse-reactie. Een n8n-flow bouw je op uit een trigger en acties in vaste volgorde; hier vormt de read-back na de write de extra controle.

Bij Fields (Key / Value Pairs) zijn waarden tekst. Een keuzeveldcode, boolean of getal wordt daar niet vanzelf naar het Dataverse-type omgezet. Gebruik JSON voor die waarden. Een lookup is evenmin een weergavenaam: gebruik een GUID of een juiste navigatieverwijzing zoals /contacts(GUID). Een lege bronwaarde mag een bestaande doelwaarde alleen wissen als het contract dat toestaat.

Controle: de Edit Fields-uitvoer bevat één item, de key is gevuld en de Row Item bevat alleen toegewezen velden. Klaar als de key en payload overeenkomen met het testblad en de eerste write op Update Only staat. De n8n-node ondersteunt Create, Update, Create or Update, Get en Get Many op standaard- en aangepaste tabellen.

5. Lees de write terug op ID, key, velden en status

Voeg na de write een tweede Dataverse-node toe met Resource: Row, Operation: Get en Row ID: By ID. Vul de primaire ID uit de write-uitvoer in. Voor Accounts is de kolom accountid. Selecteer de alternate key, naam, gewijzigde velden en statuskolom. Een Get op de primaire ID controleert dat de write dezelfde rij raakte.

Zet achter de Get een IF die ID, key en verwachte veldwaarden vergelijkt. Markeer de run pas daarna als verified. Bewaar execution ID, doel-ID, business key, credentialnaam, tijdstip en uitkomst. Houd de interne status van je workflow apart van statecode, statuscode of een eigen bedrijfsstatus in Dataverse.

Controle: de teruggelezen waarden komen exact overeen. Klaar als alleen een volledige match de run als verified markeert. Bij een ontbrekend veld controleer je eerst de Get-projectie.

6. Laat een write opzettelijk weigeren

Maak een testrol met Read en zonder Write. Lees het proefrecord en voer daarna dezelfde update uit. De write moet worden geweigerd en de teruggelezen velden moeten ongewijzigd zijn. Leg de run vast als blocked_permission. Een 401 past eerder bij aanmelding of token; een 403 of Dataverse-privilegebericht past bij een aangemelde identiteit zonder die actiebevoegdheid.

Herhaal de proef afzonderlijk met delegated en app-only als beide routes kandidaat zijn. Voeg daarna alleen Write toe aan de tijdelijke rol en bied dezelfde key opnieuw aan. Je hoeft de identiteit niet tot System Administrator te promoveren. De credentialtest en de tabel-write bewijzen verschillende delen van de toegang.

Controle: read-only kan Get uitvoeren maar wijzigt geen veld; dezelfde write slaagt na de beperkte rolwijziging. Klaar als de fout niet wordt herhaald en geen andere securityrol de ontbrekende bevoegdheid stilzwijgend verleent.

7. Test een tijdelijke API-fout en wacht volgens Retry-After

Laat een n8n-testflow een geïsoleerd testendpoint aanroepen en daarna dezelfde herstelroute gebruiken. Het endpoint geeft één keer 429 met Retry-After: 7 terug en daarna succes. Sla key en payload vóór de write op. Laat n8n minstens zeven seconden wachten, bied dezelfde key opnieuw aan en lees de rij terug. Dit test de herstelroute zonder Dataverse met een request-burst te belasten.

Microsoft levert bij Dataverse Web API-429 een Retry-After-waarde in seconden; de duur hangt af van de belasting in het voorafgaande vijfminutenvenster. RFC 6585 uit april 2012 definieert 429 en laat Retry-After de volgende poging begrenzen, en Microsoft beschrijft de Dataverse-wachttijd en het headerformaat.

De n8n-rate-limitdocumentatie begrenst Retry On Fail tot vijf seconden wachten en maximaal vijf pogingen; de HTTP Request-node neemt Retry-After niet vanzelf over. Gebruik voor langere wachttijd een Wait-route of duurzame wachtrij. Laat een 403 naar herstel van rechten gaan. Bij een timeout na een write lees je eerst dezelfde key terug, omdat Dataverse de wijziging al kan hebben opgeslagen. Bij een 429 horen wachten volgens Retry-After, begrensde retries en replay met dezelfde business key bij een herstelbare route.

Controle: de proef geeft één 429, bewaart key en payload, wacht zeven seconden en eindigt met één record met de verwachte waarden. Klaar als er geen tweede rij bestaat en de eerste uitvoering terug te vinden blijft. Forceer deze fout niet in productie.

8. Leg eigenaar, stoproute en hervatbewijs vast

Registreer workflownaam, n8n-project, omgeving, Entra application ID, application user of gedelegeerde eigenaar, credentialbeheerder, vervanger, securityrol, secret- of certificaatvervaldatum, business key, toegestane velden en de stoproute. Wijs een eigenaar aan die zowel de credential kan vernieuwen als kan besluiten of de flow opnieuw mag schrijven.

n8n 2.46.0 voegde op 27 oktober 2026 persoonlijke credentials in teamprojecten toe. Een workflowrun gebruikt de toegang van de credentialeigenaar; collega’s zonder credentialtoegang kunnen die flow niet uitvoeren of publiceren. Gebruik voor productie een beheerde teamcredential met een tweede projectbeheerder. Ook degene die toegang uitgeeft, moet het intrekmoment en een vervanger vastleggen.

Zet bij een incident eerst de n8n-workflow op Inactive. De Power Platform-beheerder kan de app-only application user deactiveren; bij delegated trek je de gebruikersrol of toestemming in volgens tenantbeleid. Bewaar wachtrij-items. Hervat pas nadat een beheerder de credential heeft getest, de exacte GUID en key heeft teruggelezen, achterstallige items heeft geteld en de status na replay heeft gecontroleerd.

Controle: een aangewezen beheerder kan de workflow uitschakelen en de app-only-identiteit blokkeren. Klaar als de vervanger read-back kan uitvoeren en het register een eigenaar, vervaldatum en hervatbesluit bevat.

Valkuilen

Een groene credentialtest wordt aangezien voor tabeltoegang

Symptoom: n8n meldt dat de credential geldig is, maar de tabelkiezer blijft leeg of de eerste write faalt. Oorzaak: WhoAmI toont dat de identiteit de omgeving bereikt; het verleent geen Read, Write of toegang tot de specifieke rij. Metadatarechten, een beperkte recorddiepte of een ontbrekende rol kunnen de volgende stap blokkeren. Mitigatie: voer na iedere credentialtest een echte Get uit op de proefrij. Controleer bij app-only of dezelfde application ID in de juiste omgeving als application user bestaat. Voeg het ontbrekende tabelprivilege toe.

De alternate key bestaat op papier, maar is nog geen sleutel

Symptoom: een key-predicate faalt of een retry maakt toch een tweede record. Oorzaak: een Dataverse alternate key werkt pas nadat de indexstatus Active is. Lege keywaarden handhaven geen uniqueness; bepaalde tekens, waaronder slash, hekje en procentteken, maken upsert via de Web API onbruikbaar. Mitigatie: test de keystatus, de bestaande duplicaten en de echte waarden voordat de workflow actief wordt. Houd de key onveranderlijk in de bron en gebruik in de test een eenvoudige tekstwaarde zoals NLM-2048.

De create-route krijgt minder rechten dan de update-route

Symptoom: een bestaand account wordt bijgewerkt, maar een nieuwe key geeft een privilegefout. Oorzaak: voor een match voert Dataverse een write uit; voor een miss moet de flow een record maken. Een upsert vereist volgens Microsoft doorgaans Read en Write, terwijl het create-pad ook Create nodig heeft. Mitigatie: als de flow uitsluitend bestaande records mag wijzigen, zet Behavior op Update Only en laat Create weg. Als hij nieuwe accounts mag maken, geef Create op de bedoelde tabel en test beide gevallen op afzonderlijke proefkeys. Gerelateerde rijen kunnen daarnaast Append en Append To vragen.

Een 204 of timeout start een blinde tweede write

Symptoom: de API-write lijkt geen inhoud terug te geven of de verbinding stopt voordat n8n het antwoord opslaat. Oorzaak: de Dataverse Web API kan bij een geslaagde PATCH 204 No Content teruggeven; na een timeout kan de write al zijn uitgevoerd. Beide als mislukking behandelen en met een nieuwe key opnieuw proberen kan dubbele data of een overschreven record geven. Mitigatie: bewaar de oorspronkelijke sleutel, lees de rij terug en herhaal dezelfde upsert alleen als de gewenste waarden ontbreken. De fout is dan een onbekende uitkomst, geen automatisch bewijs van een mislukte write.

Een lookup wordt als tekst of als naam meegestuurd

Symptoom: een rij zonder relatie wordt aangemaakt of de relatie-update wordt geweigerd. Oorzaak: een lookup is geen vrije tekst. De node vraagt een GUID of een geldige entitysetreferentie; een Customer- of Owner-kolom moet ook de doelsoort benoemen. Mitigatie: gebruik een GUID of een verwijzing zoals /contacts met het record-ID en controleer de hoofdlettergevoelige navigatieproperty. Geef Append en Append To alleen als het proces de relatie werkelijk wijzigt.

n8n probeert sneller opnieuw dan Dataverse vraagt

Symptoom: na 429 blijven uitvoering en foutmeldingen terugkomen terwijl Dataverse nog vraagt te wachten. Oorzaak: n8n’s algemene Retry On Fail wacht maximaal vijf seconden en volgt de Retry-After-header niet vanzelf; Dataverse bepaalt de wachttijd op basis van de actuele belasting. Mitigatie: routeer 429 naar een Wait-stap of duurzame wachtrij, bewaar de header en de oorspronkelijke key, wacht minstens de opgegeven tijd en lees vóór replay terug. Voor 401, 403 en ongeldige velden pauzeer je en stuur je de fout naar de eigenaar.

De enige credentialeigenaar vertrekt of krijgt een nieuw account

Symptoom: de flow draait nog, maar niemand kan hem aanpassen, opnieuw publiceren of de geheimen vernieuwen. Oorzaak: persoonlijke n8n-credentials hebben een persoon als toegangsscope; het gebruikersaccount uitzetten trekt niet vanzelf elke eerder uitgegeven token of koppeling in. Mitigatie: beheer de productiecredential vanuit het teamproject, registreer een vervanger en een vervaldatum, en test de stoproute. Een offboardingcheck alleen stopt uitgegeven koppelingen niet automatisch.

Beslis-kader: welke identiteit en route passen?

Kies eerst wiens naam je bij de Dataverse-mutatie wilt terugzien. Gebruik gedelegeerde n8n-toegang als een medewerker de flow start en de handeling onder diens bestaande rechten moet vallen. Gebruik app-only n8n-toegang voor een geplande of server-tot-server-run met één vaste applicatie-identiteit. Die application user is een eigen Dataverse-gebruiker met securityrollen; de Entra-appregistratie alleen geeft geen toegang tot records.

Kies daarna de uitvoering op volume en foutgedrag. Voor één record per workflowrun passen n8n Cloud Starter en Pro bij respectievelijk maximaal 2.500 en 10.000 uitvoeringen per maand. De n8n-prijspagina die ik op 14 november 2026 controleerde noemt €20 per maand voor Starter, €50 voor Pro en €667 voor Business met 40.000 uitvoeringen, jaarlijks gefactureerd; Business is self-hosted. De self-hosted Community Edition is gratis als software. Hosting en beheer betaal je zelf. De actuele n8n-plannen koppelen die maandbedragen aan het aantal complete workflowuitvoeringen.

Als je proces al binnen Power Platform wordt beheerd en de benodigde licentie en connectorregels zijn geregeld, gebruik Power Automate als dat al is gelicentieerd. Microsoft onderscheidt gebruikerslicenties van capaciteitlicenties voor Power Automate-flows; controleer welke licentie werkelijk aan de flow of eigenaar is toegewezen. Voor n8n geldt: gebruik app-only n8n-toegang zolang een vaste identiteit, beperkte velden, stabiele alternate key en expliciete read-back volstaan. De keuze tussen Starter, Pro en een self-hosted Business-plan volgt uit de werkelijke executions per maand.

Bouw een herstelbare koppeling met queue wanneer een onzekere write geld, rechten of een klantbelofte raakt, wanneer een afwijkende waarde eerst door een mens moet worden vrijgegeven, of wanneer je de werkelijke Retry-After niet veilig kunt volgen met de korte ingebouwde retry. Gebruik dan een duurzame verwerkingsstatus, een sleutel per zakelijke handeling, een eigenaar voor uitzonderingen en een herstelroute die eerst het doel leest. Een lijst met losse mislukte executions is geen herstelqueue. Een read-back en bronversiecheck voorkomen dat een technisch geslaagde write een verouderde waarde verbergt.

Mijn vrijgavegrens voor een pilot is 200 van 200 verwachte writes met dezelfde record-ID, key, veldwaarden en status. Eén afwijking betekent dat de workflow niet automatisch wordt vrijgegeven. Eén write naar de verkeerde rij is altijd een stop, ook als de andere 199 goed zijn. Bij volume kun je een eigen buffer kiezen, bijvoorbeeld een waarschuwing bij 80 procent van het gekozen n8n-plan. Voor Starter is dat 2.000 uitvoeringen per maand; voor Pro 8.000; voor Business 32.000. Dit zijn beheergrenzen afgeleid van de planlimieten, geen limieten die n8n zelf voorschrijft.

Voor AI-clients is MCP een gestandaardiseerde verbinding met externe systemen. Eén vaste Dataverse-recordmutatie kan als gewone n8n-workflow lopen.

Maandelijkse n8n Cloud-uitvoeringen per plan, gecontroleerd op 14 november 2026 (bron: n8n)
Welke Dataverse-route past bij jouw beheer?

Moet de wijziging namens de ingelogde medewerker lopen?

Uitgewerkt voorbeeld

Noorderlicht Machines B.V. is een fictief bedrijf met één Dataverse-account in de testomgeving. De rij heeft vaste accountid 2f70ac34-8c15-4ff6-8b2d-44bf911072a4 en alternate key accountnumber NLM-2048. De fictieve oplossing heeft de eigen tekstkolom nlm_syncstatus. De bestaande waarden zijn telefoon +31 20 555 0142 en synchronisatiestatus in_behandeling.

De n8n-input voor de wijziging bevat de key en de gewenste waarden:

{
  "accountnumber": "NLM-2048",
  "name": "Noorderlicht Machines B.V.",
  "telephone1": "+31 20 555 0143",
  "nlm_syncstatus": "geverifieerd"
}

In de Dataverse-node zet de beheerder Table Name or ID: accounts, Operation: Create or Update, Identifier Type: Alternate Key en Alternate Key Predicate: accountnumber='NLM-2048'. Omdat dit bekende record in de acceptatieproef moet bestaan, staat Behavior: Update Only aan. De Row Item bevat name, telephone1 en nlm_syncstatus; accountnumber blijft in het key-predicate. De voorafgaande Get op de vaste GUID bevestigt dat die key bij de bedoelde rij hoort.

De write-output moet accountid 2f70ac34-8c15-4ff6-8b2d-44bf911072a4 bevatten. De volgende Get gebruikt die ID en leest opnieuw accountnumber, name, telephone1 en nlm_syncstatus. De vergelijking is exact: key NLM-2048, naam Noorderlicht Machines B.V., telefoon +31 20 555 0143 en status geverifieerd. Bij een ID-verschil, lege status of oude telefoon blijft de verwerkingsstatus blocked, niet verified.

In de sandbox laat de beheerder de app-only-proef eerst met alleen Read lopen. De Get werkt, de write wordt geweigerd. Dat is de verwachte uitzondering, niet iets om met retries weg te poetsen. Na een rolwijziging die alleen Write toevoegt, wordt dezelfde rij opnieuw aangeboden en slaagt de write. Daarna geeft een gecontroleerd testendpoint één 429 met Retry-After: 7; n8n wacht zeven seconden, biedt dezelfde NLM-2048 opnieuw aan en controleert de ID en waarden nogmaals. De enige Dataverse-rij blijft dus dezelfde.

Noorderlicht verwerkt volgens deze fictieve aannames 1.200 accountwijzigingen per maand, één n8n-run per record. Dat zijn 1.200 workflowuitvoeringen. De terugkerende flow doet twee Dataverse-aanvragen per record, een upsert en een read-back, dus 2.400 API-aanvragen per maand. De vaste GUID-Get is alleen de eenmalige acceptatiecontrole. Bij 30 seconden handwerk per account is de maandlast 1.200 × 30 = 36.000 seconden, oftewel 600 minuten of 10 uur. Tegen de aangenomen interne waarde van €45 per uur is dat €450 per maand. Starter kost bij jaarlijkse facturatie €20 per maand, zodat €430 per maand overblijft vóór bouw, beheer, eventuele Microsoft-licenties en infrastructuur. Dat is een rekenscenario, geen besparingsgarantie.

De 1.200 uitvoeringen passen binnen Starter met 1.300 uitvoeringen ruimte tot de gepubliceerde 2.500-limiet. Die ruimte is niet automatisch een vrijbrief voor pieken; tel webhookruns, handmatige replay en andere workflows in dezelfde n8n-instance mee. De twee requests per record blijven ruim onder de planberekening voor n8n, maar Dataverse beoordeelt servicebescherming per identiteit en belastingvenster. Daarom meet de beheerder 429’s en wachttijd in de eigen omgeving en schaalt pas op basis van die uitvoering.

Vergelijkingstabel: routes voor Dataverse en n8n

Onderstaande productdetails en prijzen zijn op 14 november 2026 gecontroleerd. De n8n-versiepeildatum is eveneens 14 november; stabiel stond toen op 2.47.7. Een n8n-execution is een volledige workflowrun. De Dataverse-aanvragen binnen die ene run tellen niet als afzonderlijke n8n-uitvoeringen.

RouteIdentiteit en sleutelRead-back en foutafhandelingPrijs of limiet op 14 november 2026Wanneer de route breekt
n8n Cloud Starter met Dataverse-nodeDelegated of app-only; GUID of alternate keyGet op de teruggegeven ID; korte retry, anders Wait of aparte wachtrij€20 per maand bij jaarlijkse betaling, 2.500 uitvoeringen per maandMeer uitvoeringen, lange 429-wachttijd of behoefte aan eigen hosting
n8n Cloud Pro met Dataverse-nodeZelfde node en identiteitskeuzeDezelfde row-check; extra ruimte en workflowhistorie€50 per maand bij jaarlijkse betaling, 10.000 uitvoeringen per maandStrikte netwerkplaatsing of duurzame herstelregels die buiten de flow horen
n8n Business self-hostedZelfde Dataverse OAuth2-route, binnen eigen beheerQueue mode en Git-versiebeheer zijn planfuncties; eigen beheer blijft nodig€667 per maand bij jaarlijkse betaling, 40.000 uitvoeringen per maandGeen beheerder voor updates, back-ups, sleutels en incidenten
n8n Community Edition self-hostedDelegated of app-only; zelfde Dataverse-nodeZelf te hosten; je beheert opslag, herstel, monitoring en upgradesGratis software; host en beheer zijn niet inbegrepenJe hebt functies of support nodig die niet in Community zitten, of niemand beheert de host
Power Automate met Dataverse-connectorGebruikers- of flow/capaciteitslicentie volgens tenantbeleidPast in bestaande Power Platform-beheerstroom; controleer de eigen fout- en read-backstappenPremium is een gebruikerslicentie; Process is een capaciteitslicentie. Exacte tenantprijs en entitlement controlerenJe verwacht dat app-only automatisch iedere flow- of connectorlicentie vervangt
Eigen service met Dataverse Web APIDelegated of application user; zelf gekozen key en autorisatieEigen ledger, queue, Retry-After, reconciliatie en read-backGeen standaard maandprijs voor maatwerk; Dataverse-rechten, host en bouw apart begrotenEen eenvoudige single-table flow waarvoor eigen code en beheer zwaarder zijn dan de waarde

Een kant-en-klare n8n-node is de juiste start wanneer één tabel, een stabiele key en enkele toegestane velden het proces dekken. Power Automate past als het proces al onder het Microsoft-beheer valt en de relevante licentie beschikbaar is. Een eigen service verdient zijn extra onderdelen pas wanneer foutkosten, wachttijd, volume of reconciliatie niet meer in een enkele workflow passen. Als je andere systemen in dezelfde route wilt opnemen, helpt het overzicht van API-integraties om de connectorgrens vroeg mee te nemen.

Na een geslaagde demo weet je alleen dat één aanvraag technisch aankwam. Een beheerbare koppeling laat ook zien wie de aanvraag deed, welke key de rij aanwees, welke velden veranderden en wie een mislukte write mag hervatten. Als die vier antwoorden in de runregistratie en read-back terugkomen, heeft je flow bewijs. Als één antwoord ontbreekt, blijft de write een aanname.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Maak je Dataverse-koppeling beheersbaar

Ik denk met je mee over de juiste identiteit en rechten, ontwerp de recordstroom en realiseer de teruglees- en herstelroute van eerste proef tot livegang.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Genoemde integraties

Dit artikel noemt deze tools. Ik koppel ze op maat aan je eigen systemen.

Gerelateerde artikelen

Perplexity voegt Locate toe aan Decider v1.3
Nieuws
4 min

14 nov 00:23

Perplexity voegt Locate toe aan Decider v1.3

Perplexity voegt Locate toe aan Decider v1.3: de functie haalt exacte tekstfragmenten uit tickets en documenten naast classificatiekansen. API-prijzen beginnen bij $0,01 per miljoen invoertokens, maar de modelkaart spreekt de actuele downloadstatus tegen.

Verlofaanvragen koppelen aan salarisadministratie: saldo en goedkeuring teruglezen
Gids
Uitgebreide gids24 min

12 nov 17:00

Verlofaanvragen koppelen aan salarisadministratie: saldo en goedkeuring teruglezen

Volg één goedgekeurde verlofaanvraag van HR via rooster naar salarisadministratie. Wijs één saldo-eigenaar aan, test wijzigingen en lees de payrollboeking terug voordat je de periode sluit.

Apify meldt toegang tot klantaccounts
Nieuws
4 minBijgewerkt om 15:39

12 nov 16:26

Apify meldt toegang tot klantaccounts

Een onbevoegde partij kreeg via een gecompromitteerd inloggegeven toegang tot Apify-systemen en gerelateerde klantaccounts. De exacte klantimpact blijft in onderzoek; individuele meldingen noemen API-tokens, Proxy-wachtwoorden en mogelijk blootgestelde 2FA-codes.

CMR-vrachtbrieven verwerken in je TMS: van uitlezing tot gecontroleerde rit
Gids
Uitgebreide gids23 min

14 nov 17:00

CMR-vrachtbrieven verwerken in je TMS: van uitlezing tot gecontroleerde rit

Verwerk CMR’s uit e-mail, scans en foto’s zonder blind te kopiëren. Koppel elk veld aan de bronpassage en juiste order-ID, laat twijfel beoordelen en controleer de eenmalige TMS-schrijfactie.

DeepSeek opent zoek-, document- en spraakfuncties via de API
Nieuws
4 min

13 nov 23:07

DeepSeek opent zoek-, document- en spraakfuncties via de API

DeepSeek voegt zoeken, bestandsinvoer, URL-lezen en spraak toe aan V4.1-Flash via de API. OCR kost $0,225 per 1.000 pagina’s; publieke diensten moeten veiligheidschecks inschakelen en blijven verantwoordelijk voor moderatie.

Cloudflare zet Kitesurf open source
Nieuws
4 min

13 nov 22:54

Cloudflare zet Kitesurf open source

Cloudflare zet browserengine Kitesurf onder Apache 2.0 op GitHub. Ontwikkelaars kunnen hem lokaal draaien of op Workers uitrollen, maar regelen zelf de bouw, compatibiliteit, beveiliging en het onderhoud.