MS GRAPH · INTEGRATION
Microsoft 365 Graph API: Mail, Kalender, Teams und SharePoint als KI-Quelle
Die Microsoft Graph API ist das zentrale Tor zu Microsoft 365. OAuth 2.0, granulare Permissions, Throttling-Limits. Das Werkzeug für KI im Microsoft-Stack.
Recherche & Faktencheck: DuneDive LLC · Stand: 2026-05
Was ist die Microsoft Graph API?
Die Microsoft Graph API ist die einheitliche REST-Schnittstelle, über die alle Microsoft-365-Dienste programmatisch ansprechbar sind: Outlook-Mail, Kalender, Teams, OneDrive, SharePoint, Entra ID (früher Azure AD), Planner, To-Do, Excel, Word, OneNote. Sie löste in den letzten Jahren die alten EWS- (Exchange Web Services) und SharePoint-CSOM-Schnittstellen ab und ist seit ca. 2020 der empfohlene Weg für Microsoft-365-Integrationen.
Die Basis-URL ist https://graph.microsoft.com/v1.0. Daneben gibt es einen Beta-Endpunkt /beta, der neuere Features bietet, aber ohne Stabilitäts-Garantie. Die API spricht JSON, nutzt OData v4 für Filter und Pagination, und unterstützt sowohl delegierte Berechtigungen (Benutzer ist eingeloggt) als auch Anwendungs-Berechtigungen (Hintergrund-Service ohne Benutzer).
Für KI-Workflows in Treuhand- und Anwalts-Kanzleien sind die wichtigsten Endpunkte: /me/messages oder /users/{id}/messages (Mails), /me/events (Kalender-Termine), /me/drive/items (OneDrive-Dateien), /sites/{id}/lists/{id}/items (SharePoint-Listen), /teams/{id}/channels/{id}/messages (Teams-Chats). Stand Mai 2026 sind die Throttling-Limits in der Doku transparent: ca. 10.000 Requests pro 10 Minuten pro App und Tenant für Mail-Operationen, höher für Read-Only-Operationen auf Verzeichnis-Daten.
Change Notifications (Webhooks bei Graph) erlauben Subscriptions auf Ressourcen: Sie werden benachrichtigt, sobald eine neue Mail eingeht, ein Termin geändert wird oder eine SharePoint-Datei aktualisiert wird. Die Subscription ist auf maximal 3 Tage befristet und muss verlängert werden.
Warum es für CH-Treuhand wichtig ist
In Schweizer Treuhand- und Anwalts-Kanzleien ist Microsoft 365 (Business Standard oder Business Premium) der dominante Office-Stack, geschätzte 80 bis 90 Prozent Marktanteil. Mandanten-Korrespondenz läuft über Outlook, Termine über den Outlook-Kalender, Dokumente liegen in OneDrive oder SharePoint, Teams ist das Tool für interne Kommunikation. Ohne Anbindung an Graph fehlt der KI der Zugang zur täglichen Arbeit.
Drei KI-Use-Cases haben den höchsten ROI. Erstens: Mail-Triage. Eingehende Mails werden automatisch klassifiziert (Mandanten-Anfrage, Steueramt-Bescheid, Lieferanten-Rechnung, Spam), dem richtigen Sachbearbeiter zugewiesen und mit einer Erstantwort-Vorschlag versehen. Bei einer 5-Personen-Kanzlei mit 200 Mails pro Tag sparen sich pro Tag 2 bis 3 Stunden.
Zweitens: Termin-Vorbereitung. Vor jedem Mandanten-Termin generiert die KI eine Kurz-Briefing-Notiz: letzte 5 Mails, offene Posten, ToDos aus letzten Sitzungen, aktuelle Buchhaltungs-Lage. Der Treuhänder erhält die Notiz 30 Minuten vor dem Termin in Outlook.
Drittens: Dokumenten-Indexierung. SharePoint- und OneDrive-Dokumente werden kontinuierlich in einer Vektor-DB indexiert. Mandanten-Fragen können über RAG mit Quellenangabe beantwortet werden: "Welche Verguetungsregelung hatten wir 2024 für diesen Mandanten?" und das LLM zitiert den exakten Vertrag aus SharePoint.
Wie es funktioniert
Der Einstieg läuft in vier Schritten: App in Entra ID registrieren, Permissions auswählen, Token holen, Endpunkte abfragen.
Die App-Registrierung erfolgt im Entra Admin Center (Azure-Portal). Sie erhalten eine Application (Client) ID und eine Directory (Tenant) ID. Für Hintergrund-Services legen Sie zusätzlich ein Client-Secret oder ein Zertifikat an. Im Bereich API Permissions wählen Sie die benötigten Microsoft-Graph-Permissions, z.B. Mail.Read für Lese-Zugriff auf Mails, Files.Read.All für Lese-Zugriff auf alle SharePoint-Dateien. Anwendungs-Berechtigungen müssen vom Tenant-Admin per Admin-Consent freigegeben werden.
Der OAuth-Flow für Hintergrund-Services nutzt den Client-Credentials-Flow:
```bash curl -X POST "https://login.microsoftonline.com/$TENANT_ID/oauth2/v2.0/token" \ -d "client_id=$CLIENT_ID" \ -d "scope=https://graph.microsoft.com/.default" \ -d "client_secret=$CLIENT_SECRET" \ -d "grant_type=client_credentials" ```
Mit dem Access-Token (gültig 60 Minuten) fragen Sie dann die Graph-Endpunkte ab:
```bash curl -X GET "https://graph.microsoft.com/v1.0/users/[email protected]/messages?\$top=10&\$select=subject,from,receivedDateTime" \ -H "Authorization: Bearer $ACCESS_TOKEN" ```
Die Antwort kommt als OData-Envelope mit value-Array und @odata.nextLink für Pagination. Bei Throttling (429) sendet Graph einen Retry-After-Header in Sekunden zurück; Sie warten genau diese Zeit, bevor Sie retryen.
Für Change Notifications legen Sie eine Subscription via POST /subscriptions an, mit einer notificationUrl Ihres Empfangs-Endpunkts. Microsoft validiert die URL durch einen einmaligen Validierungs-Request, anschliessend laufen Notifications als JSON-POSTs auf Ihren Endpunkt.
Graph-Integration in 5 Schritten
- 01App in Entra ID registrieren, Application-Permissions definieren (Mail.Read, Files.Read.All, Calendars.Read).
- 02Admin-Consent vom Tenant-Admin einholen, Client-Secret oder Zertifikat sicher in einem Secrets-Manager ablegen.
- 03Client-Credentials-Flow implementieren, Access-Token alle 60 Minuten erneuern, Retry-Logik mit Exponential Backoff.
- 04Lese-Pipeline aufbauen: Mails, Termine und Dateien via OData-Queries holen, Änderungen via /delta-Endpunkt inkrementell.
- 05Change Notifications einrichten, Subscription alle 2 Tage erneuern, Validierungs-Endpunkt mit HMAC-Prüfung absichern.
Wann einsetzen
Die Graph-Integration ist die richtige Wahl, wenn Microsoft 365 das primäre Office-Tool ist und Sie KI-Workflows in der täglichen Arbeit einbetten wollen. Der Investitions-Aufwand zahlt sich praktisch immer aus, sobald mindestens drei Use-Cases gleichzeitig integriert sind.
Konkrete Schwellen: Mail-Triage lohnt sich ab ca. 80 Mails pro Tag und Mitarbeiter. Termin-Vorbereitung lohnt sich ab ca. 5 Termine pro Tag in der Kanzlei. Dokumenten-RAG lohnt sich ab ca. 5.000 indexierte Dokumente in SharePoint.
Für hybride Mandate, die teils auf Microsoft 365, teils auf Google Workspace sitzen, integrieren Sie typischerweise beide APIs (siehe Google Workspace Integration). Die KI-Schicht abstrahiert die Quell-Plattform und antwortet einheitlich.
Wann NICHT
Wenn die Kanzlei nicht auf Microsoft 365 sitzt, sondern auf einer reinen On-Prem-Exchange-Installation, ist Graph nicht der richtige Weg. Hier müssen Sie über EWS (Exchange Web Services) gehen, was eine andere API-Architektur ist und seit 2024 von Microsoft als deprecated markiert wurde. Ein Wechsel zu Microsoft 365 ist hier die wirtschaftlich bessere Vorbedingung.
Für sehr datenschutz-sensible Mandate (etwa Vermögens-Verwaltung mit FINMA-Aufsicht oder Anwalts-Mandate unter erweitertem Berufsgeheimnis) muss die Mail-Triage entweder lokal im Microsoft-365-Mandanten laufen (mit Tenant-restricted Permissions) oder die Mails müssen vor der KI-Analyse pseudonymisiert werden. Eine blinde Weiterleitung an einen externen LLM-Anbieter ist hier nicht zulässig.
Für reine Read-Once-Operations (etwa ein einmaliger Export aller alten Mails) ist Graph technisch overkill; ein PowerShell-Skript oder eine PST-Datei reicht.
Vor- und Nachteile
STÄRKEN
- Einheitliche API für Mail, Kalender, Files, Teams, Verzeichnis
- Granulare Permissions, Admin-Consent-Modell, Audit-Trail in Entra
- Change Notifications und Delta-Queries für effiziente Sync-Pipelines
- Schweizer Hosting für Tenant-Daten in Zürich/Genf möglich
SCHWÄCHEN
- Subscriptions max 3 Tage, Renewal-Logik nötig
- Throttling-Limits in dokumentierten Fällen erreichbar bei grossen Tenants
- Admin-Consent kann politisch heikel sein in grösseren Organisationen
- Microsoft Copilot bringt eine zweite KI-Schicht ins Spiel, Trennung klar definieren
Häufige Fragen
Was kostet Graph?
Die Graph-API ist im Microsoft-365-Abonnement enthalten. Es gibt keine separate API-Gebühr. Was kostet, sind die M365-Lizenzen (ab CHF 6 pro Benutzer und Monat für Business Basic). KI-Kosten (LLM, Embedding) kommen separat dazu.
Wo hostet Microsoft 365 in der Schweiz?
Microsoft betreibt Schweizer Rechenzentren in Zürich und Genf. Bei der Tenant-Anlage wählen Sie die Schweiz als Region, dann liegen Mail, Kalender, OneDrive, SharePoint physisch in der Schweiz. Achtung: Microsoft Copilot und einige neuere KI-Features verarbeiten Daten auch in der EU, das ist im Detail zu prüfen.
Wie hoch sind die Throttling-Limits?
Stand Mai 2026: Mail-Operationen ca. 10.000 Requests pro 10 Minuten pro App und Tenant. OneDrive/SharePoint ca. 1.500 Requests pro App und Tenant pro 5 Minuten. Bei 429 wartet man die im Retry-After-Header genannte Zeit. Für KI-Use-Cases reicht das praktisch immer.
Wie sieht es mit Delta-Queries aus?
Sehr empfehlenswert. Statt jeden Lauf alle Mails neu zu holen, fragen Sie /me/messages/delta mit dem letzten deltaToken. Sie erhalten nur die geänderten/neuen Records. Spart Bandbreite, Token und Throttling.
Verwandte Themen
Quellen
PASSEND ZU IHREM STACK?