n8nen.nl logo n8nen.nl

N8N Microsoft 365: Outlook, Teams & Excel Automatisering — Complete Gids

2026-03-10 n8nen
N8N Microsoft 365: Outlook, Teams & Excel Automatisering — Complete Gids
n8n Outlook Teams Excel OneDrive Trigger Process Output N8N + Microsoft 365 Automatisering Outlook • Teams • Excel • OneDrive • Agent 365

Microsoft 365 is de ruggengraat van de meeste kantooromgevingen. Outlook voor e-mail, Teams voor communicatie, Excel voor data en OneDrive voor opslag. Maar al die handmatige handelingen — e-mails doorsturen, spreadsheets bijwerken, Teams-meldingen versturen — kosten makkelijk 5-10 uur per week. Met n8n automatiseer je het hele Microsoft-ecosysteem en koppel je het aan honderden externe apps, zonder dure Power Automate-licenties.

Wat je leert in deze gids:

  • Alle Microsoft 365 nodes in n8n: Outlook, Teams, Excel en OneDrive
  • OAuth2 credentials instellen via Azure AD (Entra ID)
  • Microsoft Agent 365 integratie (gelanceerd december 2025)
  • 6+ kant-en-klare workflows met uitleg en code
  • Excel als lightweight database voor n8n workflows
  • Teams bot bouwen met n8n webhooks
  • Kosten: n8n vs. Power Automate

Microsoft 365 Nodes in n8n: Overzicht

n8n heeft vier native nodes voor Microsoft 365. Elke node dekt een specifiek onderdeel van het ecosysteem en deelt dezelfde Microsoft OAuth2 credentials.

Node Service Operaties Typisch gebruik
Microsoft Outlook E-mail, Kalender, Contacten Send, Get, Reply, Move, Draft, Delete E-mail triggers, automatische replies, kalender sync
Microsoft Teams Chat, Kanalen, Taken Send Message, Create Channel, Create Task Notificaties, team updates, taak management
Microsoft Excel 365 Spreadsheets, Tabellen Append, Get Rows, Update, Lookup, Create Table Data logging, rapportages, bulk imports
Microsoft OneDrive Bestanden, Mappen Upload, Download, Copy, Share, Search Backup, bestandssync, documenten delen

Gedeelde credentials

Alle vier de nodes gebruiken dezelfde Microsoft OAuth2 credential. Je hoeft dus maar een keer de Azure AD app registratie te doen. Daarna werken Outlook, Teams, Excel en OneDrive met dezelfde verbinding.

OAuth2 Setup: Azure AD App Registratie

Voordat je Microsoft 365 nodes kunt gebruiken, moet je een app registreren in Azure AD (tegenwoordig Microsoft Entra ID). Dit is eenmalig en duurt ongeveer 10 minuten.

Stap-voor-stap configuratie

  1. 1. Ga naar portal.azure.com en log in met je Microsoft 365 admin account
  2. 2. Navigeer naar Azure Active Directory → App registrations → New registration
  3. 3. Vul een naam in (bijv. "n8n Automation") en kies bij Supported account types: "Accounts in any organizational directory and personal Microsoft accounts"
  4. 4. Stel de Redirect URI in op Web en vul de callback URL van n8n in
  5. 5. Klik op Register en kopieer de Application (client) ID
  6. 6. Ga naar Certificates & secrets → New client secret en kopieer de secret value
  7. 7. Ga naar API permissions → Add a permission → Microsoft Graph
  8. 8. Voeg de benodigde permissions toe (zie tabel hieronder)
  9. 9. Klik op Grant admin consent als je admin rechten hebt

Redirect URI per n8n installatie

# n8n Cloud:
https://app.n8n.cloud/rest/oauth2-credential/callback

# Self-hosted (pas aan naar je domein):
https://n8n.jouwdomein.nl/rest/oauth2-credential/callback

# Lokale ontwikkeling:
http://localhost:5678/rest/oauth2-credential/callback

Benodigde API Permissions per Node

Node Permission (Delegated) Beschrijving
Outlook Mail.ReadWrite E-mails lezen, maken en verwijderen
Mail.Send E-mails versturen namens de gebruiker
Calendars.ReadWrite Kalenderitems lezen en aanpassen
Teams ChannelMessage.Send Berichten sturen naar kanalen
Chat.ReadWrite Chatberichten lezen en sturen
Excel 365 Files.ReadWrite.All Bestanden lezen en schrijven in OneDrive/SharePoint
Sites.ReadWrite.All SharePoint sites benaderen (voor shared workbooks)
OneDrive Files.ReadWrite.All Volledige bestandstoegang
Alle nodes offline_access Refresh token (zodat de verbinding niet verloopt)

Credential aanmaken in n8n

// In n8n:
// 1. Ga naar Credentials → Add Credential → Microsoft
// 2. Vul in:

Client ID:     [Application (client) ID uit Azure]
Client Secret: [Secret value uit Azure]

// 3. Klik op "Connect my account"
// 4. Log in met je Microsoft 365 account
// 5. Accepteer de permissions

// De credential werkt nu voor ALLE Microsoft 365 nodes:
// - Microsoft Outlook
// - Microsoft Teams  
// - Microsoft Excel 365
// - Microsoft OneDrive

// Tip: Kies bij "Environment" de juiste cloud:
// - Global (standaard voor de meeste organisaties)
// - US Government (GCC)
// - US Government DOD
// - China (21Vianet)

Veelgemaakte fout: Admin Consent

Als je na het inloggen de melding "Needs admin approval" ziet, betekent dit dat je organisatie admin consent vereist. Vraag je IT-beheerder om de permissions goed te keuren in het Azure portal, of gebruik een account met Global Admin rechten.

Microsoft Agent 365: AI Agents in het Microsoft Ecosysteem

In december 2025 lanceerde n8n een nieuwe integratie met Microsoft Agent 365. Dit maakt het mogelijk om AI agents te bouwen in n8n die direct opereren binnen Microsoft 365 apps — met hun eigen bedrijfsidentiteit en permissions.

Wat is Microsoft Agent 365?

Microsoft Agent 365 geeft AI agents een eigen identiteit binnen het Microsoft-ecosysteem. Vergelijk het met een medewerker die een eigen Microsoft-account heeft: de agent kan e-mails versturen via Outlook, berichten plaatsen in Teams, en bestanden bewerken in Word — allemaal met role-based access control en audit logs.

Microsoft Agent 365 + n8n Architectuur n8n Platform AI Agent Node Webhook Trigger LLM (OpenAI / Claude / Gemini) Sub-Workflows 1200+ Integraties Entra Agent ID Microsoft 365 Tenant Outlook Teams Word SharePoint Microsoft Entra ID (RBAC) Audit Logs & Compliance Conditional Access • Lifecycle Management • Access Reviews

Hoe werkt het in de praktijk?

Agents gebouwd in n8n krijgen via Agent 365 een Microsoft Entra Agent ID — een speciaal identiteitstype voor AI agents. Net als menselijke accounts worden ze beheerd via lifecycle events (aanmaken, bijwerken, opschorten, verwijderen) en beveiligd met conditional access policies.

// Huidige setup: n8n Agent met Microsoft Agent 365

// Stap 1: Registreer een Agent 365 licentie in je Microsoft tenant
// Stap 2: Bouw je agent in n8n:

Webhook Trigger (ontvangt verzoek vanuit M365)
  ↓
AI Agent Node
  ├── LLM: OpenAI GPT-4o of Claude
  ├── Tools:
  │   ├── Microsoft Outlook (e-mails lezen/versturen)
  │   ├── Microsoft Teams (berichten plaatsen)
  │   ├── Microsoft Excel (data opzoeken)
  │   └── HTTP Request (externe APIs)
  └── System Prompt: "Je bent de IT-helpdesk assistent van Bedrijf X..."
  ↓
Respond to Webhook (antwoord terug naar M365)

// Binnenkort: dedicated Microsoft A365 Agent Trigger node
// voor nog eenvoudigere configuratie

Agent 365 vs. traditionele OAuth2

Bij reguliere OAuth2 handelt de n8n workflow namens een specifiek gebruikersaccount. Met Agent 365 krijgt de agent zijn eigen identiteit — vergelijkbaar met een service account, maar dan met AI-governance features. Dit maakt compliance en auditing veel eenvoudiger voor enterprise omgevingen.

Workflow 1: Outlook E-mail Automatisering

De Outlook node is de meest gebruikte Microsoft 365 node in n8n. Van automatische replies tot het verwerken van inkomende mails — hier zijn de meest voorkomende use cases.

Voorbeeld: Inkomende klachten automatisch routeren

// Workflow: Klachten-inbox verwerken
// Trigger: Schedule elke 5 minuten

Schedule Trigger (*/5 * * * *)
  ↓
Microsoft Outlook Node
  Resource: Message
  Operation: Get Many
  Filters:
    - Folder: "Inbox"
    - Read status: Unread
    - Received after: {{ $now.minus(5, 'minutes') }}
  ↓
Code Node (classificeer e-mail)
  const subject = $json.subject.toLowerCase();
  const body = $json.bodyPreview.toLowerCase();
  
  let category = 'overig';
  if (subject.includes('factuur') || body.includes('betaling')) {
    category = 'financieel';
  } else if (subject.includes('klacht') || body.includes('ontevreden')) {
    category = 'klacht';
  } else if (subject.includes('bestelling') || body.includes('order')) {
    category = 'order';
  }
  
  return { json: { ...items[0].json, category } };
  ↓
Switch Node (op basis van category)
  ├── "klacht" → Microsoft Teams (post in #klachten channel)
  │                → Outlook Reply ("We nemen contact op binnen 24 uur")
  ├── "financieel" → Forward naar finance@bedrijf.nl
  └── "order" → Forward naar orders@bedrijf.nl
       → Microsoft Excel (log in Orders-sheet)

Dit patroon verwerkt inkomende e-mails zonder dat iemand handmatig hoeft te sorteren. De Schedule Trigger pollt elke 5 minuten de inbox, en de Switch node routeert op basis van de classificatie.

Shared Mailbox gebruiken

Voor team-inboxen (bijv. info@bedrijf.nl) ondersteunt de Outlook node Shared Mailboxes. Zet "Use Shared Inbox" aan in de credential instellingen en vul het User Principal Name in van de shared mailbox.

Workflow 2: Excel als Database voor n8n

Niet elk project rechtvaardigt een volwaardige database. Excel 365 in combinatie met n8n is een uitstekende lightweight database — vooral voor teams die al in het Microsoft-ecosysteem werken. Lees ook onze database integratie gids voor wanneer je wel naar MySQL of PostgreSQL moet overstappen.

Excel Node Operaties

// READ: Rijen ophalen uit Excel
Microsoft Excel 365 Node
  Resource: Sheet
  Operation: Get Rows
  Workbook: "CRM Database.xlsx"
  Sheet: "Klanten"
  Range: "A:F"  // kolommen A t/m F
  // Output: array van rijen als JSON objecten

// WRITE: Nieuwe rij toevoegen
Microsoft Excel 365 Node
  Resource: Sheet
  Operation: Append
  Workbook: "CRM Database.xlsx"
  Sheet: "Klanten"
  Data:
    Naam: {{ $json.naam }}
    Email: {{ $json.email }}
    Telefoon: {{ $json.telefoon }}
    Datum: {{ $now.format('yyyy-MM-dd') }}

// UPDATE: Bestaande rij bijwerken (upsert)
Microsoft Excel 365 Node
  Resource: Sheet
  Operation: Append or Update
  Workbook: "CRM Database.xlsx"
  Sheet: "Klanten"
  Column to Match: "Email"  // zoek op dit veld
  Data:
    Email: {{ $json.email }}
    Laatste_Contact: {{ $now.format('yyyy-MM-dd') }}
    Status: "Actief"

// LOOKUP: Specifieke rij zoeken in een tabel
Microsoft Excel 365 Node
  Resource: Table
  Operation: Lookup
  Workbook: "CRM Database.xlsx"
  Table: "KlantenTabel"
  Lookup Column: "Email"
  Lookup Value: {{ $json.email }}

Voorbeeld: Dagelijkse Salesrapportage naar Excel

// Workflow: Sales data van CRM naar Excel rapportage

Schedule Trigger (elke dag om 23:00)
  ↓
HTTP Request (haal sales data op van CRM API)
  URL: https://api.hubspot.com/crm/v3/objects/deals
  Auth: Bearer Token
  ↓
Code Node (transformeer data)
  return items.map(deal => ({
    json: {
      Datum: new Date().toISOString().split('T')[0],
      Dealname: deal.json.properties.dealname,
      Bedrag: parseFloat(deal.json.properties.amount) || 0,
      Fase: deal.json.properties.dealstage,
      Eigenaar: deal.json.properties.hubspot_owner_id
    }
  }));
  ↓
Microsoft Excel 365 Node
  Resource: Sheet
  Operation: Append
  Workbook: "Sales Rapportage 2026.xlsx"
  Sheet: "Dagelijkse Sales"
  ↓
Microsoft Teams Node
  Operation: Send Message
  Channel: "#sales-updates"
  Message: "Sales rapportage bijgewerkt: {{$json.length}} deals verwerkt."

Wanneer Excel, wanneer een echte database?

  • Excel: Tot ~5.000 rijen, team wil data ook handmatig bekijken, snelle prototypes
  • Database: Meer dan 10.000 rijen, complexe queries nodig, meerdere workflows schrijven tegelijk

Workflow 3: Teams Notificaties en Bot

Microsoft Teams is voor veel organisaties het centrale communicatieplatform. Met n8n stuur je automatische notificaties naar kanalen en bouw je zelfs een simpele bot. Vergelijkbaar met hoe je Slack integreert met n8n, maar dan voor Microsoft-omgevingen.

Teams berichten sturen vanuit n8n

// Basisconfiguratie: bericht naar Teams kanaal
Microsoft Teams Node
  Resource: Channel Message
  Operation: Create
  Team: "Marketing Team"
  Channel: "Campagne Updates"
  Message Type: HTML
  Message: |
    

Nieuwe lead binnengekomen

  • Naam: {{ $json.naam }}
  • Bedrijf: {{ $json.bedrijf }}
  • Bron: {{ $json.bron }}
Bekijk in CRM

Teams Bot bouwen met n8n Webhook

Een outgoing webhook in Teams stuurt berichten door naar een n8n Webhook node. Zo bouw je een interactieve bot.

// Teams Bot via Outgoing Webhook

// Setup in Teams:
// 1. Ga naar je Team → Manage Team → Apps → Create Outgoing Webhook
// 2. Naam: "n8nBot" (geen spaties)
// 3. Callback URL: https://n8n.jouwdomein.nl/webhook/teams-bot
// 4. Kopieer het HMAC security token

// n8n Workflow:
Webhook Node
  Path: /teams-bot
  Method: POST
  ↓
Code Node (HMAC validatie + parse bericht)
  // Valideer dat het request van Teams komt
  const crypto = require('crypto');
  const secret = 'JOUW_HMAC_TOKEN_HIER';
  const auth = $json.headers['authorization'];
  
  // Parse het bericht
  const userMessage = $json.body.text
    .replace(/.*?<\/at>/g, '')  // strip @mention
    .trim();
  
  return { json: { message: userMessage } };
  ↓
Switch Node (commando herkenning)
  ├── "status" → HTTP Request (check systeem status)
  │              → Format als Teams-bericht
  ├── "help" → Toon help menu
  └── default → AI Agent (beantwoord met LLM)
  ↓
Respond to Webhook
  Response Body:
  {
    "type": "message",
    "text": "{{ $json.antwoord }}"
  }

Let op: 5-seconden timeout

Teams outgoing webhooks hebben een strikt timeout van 5 seconden. Als je workflow langer duurt (bijv. bij AI-calls), krijgt de gebruiker een foutmelding. Oplossingen: gebruik de Webhook respond node om direct te antwoorden ("Even geduld...") en stuur het echte antwoord later als een apart Teams-bericht via de Microsoft Teams node.

Workflow 4: Outlook Kalender + CRM Sync

Verkopers plannen afspraken in Outlook, maar vergeten ze in het CRM te zetten. Deze workflow synchroniseert Outlook-kalenderitems automatisch naar je CRM.

// Workflow: Outlook Kalender → CRM Sync

Schedule Trigger (elke 15 minuten)
  ↓
Microsoft Outlook Node
  Resource: Calendar Event
  Operation: Get Many
  Calendar: "Standaardkalender"
  Filters:
    - Start: {{ $now.toISO() }}
    - End: {{ $now.plus(7, 'days').toISO() }}
  ↓
Code Node (filter op klantafspraken)
  // Filter alleen externe afspraken (geen interne meetings)
  return items.filter(item => {
    const attendees = item.json.attendees || [];
    const hasExternalAttendee = attendees.some(
      a => !a.emailAddress.address.endsWith('@jouwbedrijf.nl')
    );
    return hasExternalAttendee;
  });
  ↓
HTTP Request (zoek contact in CRM)
  URL: https://api.hubspot.com/crm/v3/objects/contacts/search
  Body: {
    "filterGroups": [{
      "filters": [{
        "propertyName": "email",
        "operator": "EQ",
        "value": "{{ $json.attendees[0].emailAddress.address }}"
      }]
    }]
  }
  ↓
IF Node (contact gevonden?)
  ├── Ja → HTTP Request (maak activiteit aan in CRM)
  │        POST /crm/v3/objects/meetings
  │        {
  │          "subject": "{{ $json.subject }}",
  │          "startTime": "{{ $json.start.dateTime }}",
  │          "endTime": "{{ $json.end.dateTime }}",
  │          "contactId": "{{ $json.contactId }}"
  │        }
  └── Nee → Microsoft Excel (log als "onbekend contact")
             → Teams melding aan salesmanager

Workflow 5: OneDrive Backup en Bestandssync

De OneDrive node ondersteunt 14 operaties, van uploaden en downloaden tot delen en zoeken. Hier een workflow voor automatische documentverwerking.

// Workflow: Facturen verwerken vanuit OneDrive

Schedule Trigger (elk uur)
  ↓
Microsoft OneDrive Node
  Resource: File
  Operation: Search
  Query: "factuur"
  Filter: ".pdf" bestanden in /Inbox/Facturen/
  ↓
Loop Over Items
  ↓
  Microsoft OneDrive Node
    Operation: Download
    File ID: {{ $json.id }}
  ↓
  HTTP Request (OCR via externe API)
    POST https://api.ocr-service.nl/extract
    Binary data: factuur.pdf
  ↓
  Code Node (parse factuurnummer, bedrag, datum)
    return {
      json: {
        factuurnummer: $json.extracted.invoiceNumber,
        bedrag: $json.extracted.totalAmount,
        leverancier: $json.extracted.supplier,
        datum: $json.extracted.date
      }
    };
  ↓
  Microsoft Excel 365 Node (log in boekhouding sheet)
    Operation: Append
  ↓
  Microsoft OneDrive Node
    Operation: Copy
    Destination: /Verwerkt/2026/
  ↓
  Microsoft OneDrive Node
    Operation: Delete (verwijder uit inbox)

Workflow 6: Multi-Channel Alerting

Combineer Outlook, Teams en Excel in een monitoring-workflow die waarschuwt bij problemen en alles logt. Voor robuuste alerting, combineer dit met goede error handling.

// Workflow: Website monitoring met multi-channel alerts

Schedule Trigger (elke 5 minuten)
  ↓
HTTP Request
  URL: https://jouwwebsite.nl/health
  Timeout: 10000ms
  On Error: Continue Using Error Output
  ├── Success (status 200) → Set Node (status: "online")
  └── Error → Set Node (status: "offline", error: foutmelding)
  ↓
IF Node (status === "offline")
  ├── Ja (site is down):
  │   ↓
  │   Microsoft Teams Node
  │     Channel: #devops-alerts
  │     Message: "ALERT: Website is OFFLINE — {{ $json.error }}"
  │   ↓
  │   Microsoft Outlook Node
  │     To: devteam@bedrijf.nl
  │     Subject: "[URGENT] Website Down"
  │     Body: "Status check gefaald om {{ $now }}..."
  │   ↓
  │   Microsoft Excel 365 Node
  │     Append naar "Incident Log.xlsx"
  │     Datum | Status | Error | Duur
  │
  └── Nee (alles OK):
      → Niets (of log response time naar Excel)

Kosten: n8n vs. Power Automate

De olifant in de kamer. Microsoft heeft met Power Automate een eigen automatiseringstool, maar de pricing kan snel oplopen — vooral bij meerdere gebruikers of complexere flows.

Aspect n8n (Self-Hosted) n8n Cloud Power Automate Premium
Basisprijs Gratis (open source) Vanaf ~$20/maand $15/gebruiker/maand
5 gebruikers $0 + server (~$5-20/mnd) ~$20/maand (1 plan) $75/maand
20 gebruikers $0 + server (~$10-30/mnd) ~$50/maand $300/maand
Workflow limiet Onbeperkt Per plan (bijv. 5-100+) Onbeperkt per gebruiker
Integraties 400+ nodes + custom 400+ nodes + custom 400+ connectors
RPA (Desktop) Nee (API-first) Nee (API-first) Ja (attended)
Custom code JavaScript + Python JavaScript + Python Beperkt (expressions)
AI/LLM support Native (AI Agent node) Native (AI Agent node) AI Builder (apart: $500/mnd)
Data locatie Eigen server (EU compliant) n8n cloud (EU beschikbaar) Microsoft Azure (regio keuze)

Wanneer Power Automate toch beter past

  • Desktop automation (RPA): Power Automate kan legacy applicaties automatiseren door klikken en typen na te bootsen. n8n werkt uitsluitend via API's.
  • Niet-technisch team: Power Automate heeft een meer beginner-vriendelijke interface met drag-and-drop templates.
  • Al een M365 E3/E5 licentie: Sommige basisfunctionaliteit zit al inbegrepen bij een E3/E5 licentie (maar premium connectors kosten extra).

Best Practices voor Microsoft 365 + n8n

Doe dit

  • Gebruik een dedicated service account voor de OAuth2 verbinding — niet het account van een medewerker
  • Voeg offline_access toe aan je API permissions, anders verloopt de token
  • Beperk permissions tot wat de workflow nodig heeft (principle of least privilege)
  • Monitor token expiry van je Azure AD client secret (standaard 1-2 jaar)
  • Test met een test-tenant voordat je productie-data aanraakt

Vermijd dit

  • Niet te vaak pollen: de Microsoft Graph API heeft rate limits (~10.000 requests per 10 minuten). Houd Schedule Triggers op minimaal 1 minuut
  • Geen wildcard permissions: geef geen Directory.ReadWrite.All tenzij echt nodig
  • Client secret niet hardcoden: gebruik n8n credentials, niet plain text in Code nodes
  • Excel niet als zware database: boven ~5.000 rijen wordt het traag. Gebruik dan PostgreSQL
  • Geen gevoelige data in Teams-berichten: log nummers en referenties, geen volledige klantdata

Veelgemaakte Fouten en Oplossingen

Fout: "The item has no binary field '[object Object]'"

Dit gebeurt bij OneDrive uploads wanneer je het binary veld verkeerd refereert. Gebruik data als binary property name, niet {{ $binary.data }}.

Fout: "Failed to get license information for the user"

De gebruiker waarvan de OAuth2 credential is, heeft geen geldige Office 365 licentie toegewezen. Controleer in het Microsoft 365 admin center of de licentie actief is.

Fout: "Needs admin approval"

De Azure AD tenant vereist admin consent. Een Global Admin moet de permissions goedkeuren via Azure Portal → Enterprise Applications → je app → Permissions → Grant admin consent.

Fout: Excel node vindt werkmap niet

De Excel 365 node werkt alleen met bestanden in OneDrive of SharePoint. Lokale Excel-bestanden zijn niet bereikbaar. Upload het bestand naar OneDrive en verwijs dan naar de workbook via de node.

Fout: Teams webhook timeout na 5 seconden

Gebruik een "Respond to Webhook" node om direct te antwoorden en verwerk de rest asynchroon. Stuur het resultaat later als los Teams-bericht. Lees meer over webhook patronen in de webhook gids.

Geavanceerd: HTTP Request Node als Fallback

De native Microsoft nodes dekken de meest gebruikte operaties. Maar de Microsoft Graph API biedt veel meer. Voor minder gangbare operaties gebruik je de HTTP Request node met Microsoft credentials als fallback. Zie ook onze e-mail automatisering gids voor alternatieve benaderingen.

// Voorbeeld: Outlook categorieën instellen via Graph API
// (niet ondersteund door de native Outlook node)

HTTP Request Node
  Method: PATCH
  URL: https://graph.microsoft.com/v1.0/me/messages/{{ $json.messageId }}
  Authentication: Predefined Credential Type → Microsoft
  Body (JSON):
  {
    "categories": ["Urgent", "Klant"]
  }

// Voorbeeld: Teams presence status ophalen
HTTP Request Node
  Method: GET
  URL: https://graph.microsoft.com/v1.0/me/presence
  Authentication: Predefined Credential Type → Microsoft
  // Response: { "availability": "Available", "activity": "InACall" }

// Voorbeeld: SharePoint lijst items ophalen
HTTP Request Node
  Method: GET
  URL: https://graph.microsoft.com/v1.0/sites/{{ siteId }}/lists/{{ listId }}/items
  Authentication: Predefined Credential Type → Microsoft

Architectuur: Microsoft 365 + n8n in Productie

Productie-architectuur: n8n + Microsoft 365 Triggers Schedule (Cron) Webhook Manual / API Call n8n Instance Email Router Workflow Excel Rapportage Workflow Teams Bot Workflow Error Handler Workflow Microsoft 365 (Graph API) Outlook Mail, Calendar, Contacts Teams Channels, Messages, Tasks Excel 365 Tables, Sheets, Workbooks OneDrive Files, Folders, Share Microsoft Entra ID (OAuth2 + RBAC) Agent 365 SharePoint Rate Limits: ~10.000 requests / 10 min | Token refresh via offline_access Externe Apps HubSpot CRM Slack PostgreSQL Custom APIs

Checklist: Microsoft 365 Integratie in n8n

Klaar om te starten?

  • 1. Azure AD app registratie met juiste permissions aangemaakt
  • 2. Client ID en Client Secret opgeslagen in n8n credentials
  • 3. OAuth2 verbinding getest ("Connect my account" succesvol)
  • 4. Service account gebruikt (niet een persoonlijk account)
  • 5. offline_access permission toegevoegd voor token refresh
  • 6. Rate limits in gedachten: polls niet vaker dan elke minuut
  • 7. Error handling ingesteld op productie-workflows
  • 8. Client secret verloopdatum genoteerd in je agenda

Gerelateerde Artikelen

#n8n #microsoft 365 #outlook #teams #excel #onedrive #automatisering #oauth2 #azure ad #power automate #microsoft agent 365 #workflow