M365Con 2027 – die kostenlose Online-Konferenz · 11–22 Jan 2027 · 120 sessions→ m365con.net
Startseite / Deutsch / 2026-10-29
M365.FM · Deutsch

Original (Englisch)

Microsoft Graph Change Notifications einfach erklärt

Echtzeit statt Polling

Ihre App fragt alle paar Minuten bei Microsoft Graph nach, ob sich etwas geändert hat – und riskiert dabei Drosselung und verpasste Änderungen. Diese Folge erklärt, wie Änderungsbenachrichtigungen das Polling ersetzen und Ihre App sofort auf Ereignisse in Microsoft 365 reagieren lässt.

▶ Microsoft Graph Change Notifications einfach erklärt: Echtzeit statt Polling (KI-Synchronfassung)

Das erfahren Sie:

  1. Warum Polling Ressourcen verschwendet und Apps ins „Graph-Gefängnis“ der Drosselung bringt
  2. Abonnement anlegen: Ressource, Änderungstyp, öffentliche HTTPS-Benachrichtigungs-URL und Ablaufdatum
  3. Der Validierungs-Handshake: Token innerhalb von 10 Sekunden als Klartext zurückgeben
  4. Abonnements per PATCH und Lifecycle-Benachrichtigungen erneuern – mit Laufzeiten von einer Stunde (Präsenz) bis etwa 30 Tagen (SharePoint-Dateien)
  5. Zuverlässigkeit: binnen 3 Sekunden mit 202 Accepted antworten, asynchron verarbeiten und Delta-Abfragen als Sicherheitsnetz nutzen

Diese Folge ist eine KI-synchronisierte deutsche Fassung des animierten Erklärvideos aus der M365 Show von Microsoft MVP Mirko Peters.

Fast jeder, der mit Microsoft 365 arbeitet, hat schon von Microsoft Graph Änderungsbenachrichtigungen gehört. Wie sie im Hintergrund funktionieren, verstehen aber die wenigsten. Dabei lösen sie ein Problem, das jeden Entwickler früher oder später trifft: Wie erfährt meine App sofort, dass sich in Microsoft 365 etwas geändert hat?

Microsoft Graph Änderungsbenachrichtigungen im Überblick
  1. 1Abonnement erstellenRessource, Änderungstyp, HTTPS-Benachrichtigungs-URL und Ablaufdatum an Microsoft Graph melden.
  2. 2Handshake bestehenValidierungstoken innerhalb von 10 Sekunden als reinen Klartext zurücksenden.
  3. 3Benachrichtigungen empfangenGraph sendet bei Änderungen einen HTTP-POST; sofort mit 202 Accepted antworten.
  4. 4Abonnement erneuernPer PATCH mit Abonnement-ID vor Ablauf verlängern; Lebenszyklus-Benachrichtigungen helfen dabei.
  5. 5Mit Delta-Abfragen absichernRegelmäßig Delta-Abfragen ausführen, um verpasste Änderungen nachträglich zu erfassen.
M365.FM · Mirko Peters

In diesem Artikel erfahren Sie, was Änderungsbenachrichtigungen sind, wie Abonnements und der Validierungs-Handshake ablaufen, wie Sie Abonnements am Leben halten und wo die typischen Stolpersteine liegen. Außerdem sehen Sie, welche Anwendungsfälle sich damit umsetzen lassen und welcher Zustellkanal für welches Volumen passt.

Das Problem: Polling in Microsoft 365 ist ineffizient

Stellen Sie sich vor, Sie entwickeln eine App, die reagieren muss, wenn eine neue E-Mail eingeht, jemand eine Datei in SharePoint aktualisiert oder ein neuer Benutzer im Firmenverzeichnis angelegt wird. Der klassische Weg dafür ist das Polling: Ihre App fragt alle paar Minuten bei Microsoft Graph an, ob es seit der letzten Prüfung etwas Neues gibt.

Dieses Vorgehen hat zwei Schwächen:

  • Hat sich nichts geändert, war die Anfrage verschwendet.
  • Ändert sich fünf Sekunden nach Ihrer Prüfung etwas, erfahren Sie davon erst im nächsten Zyklus.

Sie prüfen also entweder zu oft und verschwenden Ressourcen, oder zu selten und verpassen Dinge. Hinzu kommt: Microsoft drosselt Apps, die zu aggressiv pollen. Entwickler sprechen vom „Graph-Gefängnis“. Die App wird dann eine Zeit lang blockiert, weil sie zu viele Anfragen stellt. Die naheliegende Frage lautet: Kann das System nicht einfach Bescheid geben, wenn etwas passiert?

Was sind Microsoft Graph Änderungsbenachrichtigungen?

Änderungsbenachrichtigungen lassen Ihre App sofort auf Ereignisse in Microsoft 365 reagieren, ohne ständiges Prüfen. Am besten vergleichen Sie das mit einem Bewegungsmelder am Briefkasten: Statt stündlich nachzusehen, installieren Sie einen Sensor, der Sie benachrichtigt, sobald Post ankommt.

Das System besteht aus zwei Teilen, die zusammenarbeiten:

  • Abonnement: Sie teilen Microsoft Graph mit, was Sie überwachen möchten, etwa neue Nachrichten in einem Posteingang oder Aktualisierungen in einer SharePoint-Bibliothek.
  • Benachrichtigung: Tritt die Änderung ein, sendet Graph einen HTTP-POST an einen Endpunkt, den Sie bereitgestellt haben. Ihre App weiß dann, dass etwas passiert ist, und entscheidet, was zu tun ist: neue Daten abrufen, einen Workflow auslösen oder eine Datenbank aktualisieren.

Der entscheidende Unterschied zum Polling: Die Benachrichtigungen werden automatisch zugestellt, in dem Moment, in dem das Ereignis eintritt. Unterstützt werden unter anderem Nachrichten, Kontakte, Benutzer und Gruppen, Dateien, Teams-Nachrichten und Sicherheitswarnungen. So ziemlich alles, worauf Sie über Graph zugreifen können, lässt sich auf Änderungen überwachen.

Ein Abonnement erstellen: Was Graph wissen muss

Ein Abonnement ist eine Registrierungsanfrage an die Microsoft Graph API. Ihre App sagt sinngemäß: „Gib mir Bescheid, wenn das hier passiert.“ Graph speichert die Anfrage und wartet. Vier Angaben sind dafür nötig.

1. Die Ressource

Das ist der Pfad zu den Daten, die Sie überwachen möchten, zum Beispiel users für Änderungen an Benutzerkonten oder der Pfad zu den Nachrichten im Posteingang, wenn Sie über neue E-Mails informiert werden wollen.

2. Der Änderungstyp

Möchten Sie wissen, wann etwas erstellt, aktualisiert oder gelöscht wird? Sie können einen Typ wählen oder alle drei anfordern.

3. Die Benachrichtigungs-URL

Das ist die Adresse Ihres Endpunkts, an den Graph die Benachrichtigung schickt. Es muss ein öffentlich erreichbarer HTTPS-Endpunkt sein.

4. Das Ablaufdatum

Abonnements dauern nicht ewig. Sie wählen ein Datum und eine Uhrzeit in der Zukunft, wobei die maximale Laufzeit je nach Ressource unterschiedlich ist:

  • Outlook-Nachrichten: bis zu sieben Tage
  • Teams-Chat-Nachrichten: maximal drei Tage
  • SharePoint-Dateien: etwa 30 Tage
  • Präsenzinformationen: nur eine Stunde

Ein Beispiel: Sie wollen wissen, wann jemand im Unternehmen die Berufsbezeichnung ändert. Dazu erstellen Sie ein Abonnement auf die Benutzer-Ressource mit dem Änderungstyp „aktualisiert“, tragen Ihre Benachrichtigungs-URL ein und setzen das Ablaufdatum auf einige Tage später. Aktualisiert jemand sein Profil in Azure ID, schickt Graph einen POST an Ihren Endpunkt. Die Nutzlast enthält die ID des Benutzers und die Information, was sich geändert hat. Ihre App kann dann etwa ein HR-System aktualisieren oder den Manager benachrichtigen.

Als Antwort auf Ihre Anfrage liefert Graph eine Abonnement-ID. Die brauchen Sie später, um das Abonnement zu verwalten, zu erneuern, zu aktualisieren oder zu löschen.

Handshake und Erneuerung: Die Verbindung aktiv halten

Der Validierungs-Handshake

Bevor Graph Benachrichtigungen sendet, will es sicher sein, dass Ihr Endpunkt aktiv ist und zuhört. Beim Erstellen des Abonnements schickt Graph deshalb eine Verifizierungsanfrage mit einem Validierungstoken, einer zufälligen Zeichenfolge. Ihr Endpunkt muss dieses Token innerhalb von 10 Sekunden als Klartext zurücksenden, ohne JSON oder XML, nur die reine Zeichenfolge. Stimmt das Format nicht, schlägt der Handshake fehl.

Das ist wie bei einem Zusteller, der klingelt, um sicherzugehen, dass Sie zu Hause sind, bevor er ein Paket abliefert. Der Handshake dient der Sicherheit: Er beweist, dass der Endpunkt aktiv ist und unter Ihrer Kontrolle steht. So kann niemand ein Abonnement auf eine fremde URL einrichten, um Benachrichtigungen abzufangen. Ohne erfolgreichen Handshake lehnt Graph die Anfrage ab und Sie erhalten eine Fehlermeldung. Dann korrigieren Sie den Endpunkt und versuchen es erneut.

Abonnements rechtzeitig erneuern

Die Benachrichtigungen fließen nicht für immer. Das Ablaufdatum legen Sie bei der Erstellung fest, und Graph setzt es durch, ähnlich wie bei einer Parkuhr. Ihre App braucht daher einen Prozess, der das Abonnement am Leben hält.

Die Erneuerung ist einfach: Sie senden eine PATCH-Anfrage mit der Abonnement-ID und einem neuen Ablaufdatum, bevor das aktuelle abläuft. Als bewährte Methode empfiehlt der Sprecher, bei jeder eingehenden Benachrichtigung den Ablaufzeitstempel zu prüfen. Steht das Abonnement kurz vor dem Ablauf, etwa innerhalb eines Tages, erneuern Sie sofort. So brauchen Sie keinen eigenen Hintergrundjob nur für die Abonnementverwaltung.

Zusätzlich gibt es Lebenszyklus-Benachrichtigungen. Sie warnen, bevor ein Abonnement abläuft, oder weisen darauf hin, dass ein Zugriffstoken neu autorisiert werden muss. Wer sie abonniert, kann erneuern, bevor etwas ausfällt.

Polling oder Änderungsbenachrichtigungen

Polling

  • App fragt alle paar Minuten bei Microsoft Graph an
  • Anfragen ohne Änderung sind verschwendet
  • Änderungen werden erst im nächsten Zyklus bemerkt
  • Zu aggressives Abfragen führt zu Drosselung
  • Geplante Jobs sind langsam und fehleranfällig

Änderungsbenachrichtigungen

  • Graph sendet einen HTTP-POST an Ihren Endpunkt
  • Zustellung automatisch im Moment des Ereignisses
  • Kein ständiges Prüfen, Ressourcen werden gespart
  • Ereignisgesteuert und sofort
  • Drosselung wird vermieden
M365.FM · Mirko Peters

Stolpersteine: Wenn Endpunkt oder Abonnement ausfallen

Auch wenn alles zunächst läuft, kann etwas schiefgehen: Der Endpunkt geht wegen Wartung offline, ein Netzwerkproblem lässt eine Nachricht fallen oder ein Erneuerungsfenster wird verpasst. Entscheidend ist, wie Sie sich davon erholen.

Antwortzeiten des Endpunkts

Graph erwartet, dass Ihr Webendpunkt innerhalb von 3 Sekunden antwortet. Dauert es länger, wird er als langsam markiert. Überschreiten mehr als 10 % der Antworten innerhalb von 10 Minuten diese Grenze, verzögert Graph die Benachrichtigungen um 10 Minuten und sendet nur eine kleine Stichprobe, um zu prüfen, ob Sie sich erholt haben.

Es kann noch schlimmer kommen: Überschreiten mehr als 15 % der Antworten das 10-sekündige Retry-Timeout, markiert Graph den Endpunkt als verworfen. Die Benachrichtigungen stoppen dann für 10 Minuten komplett. Die in dieser Zeit verpassten Benachrichtigungen sind weg und lassen sich nicht zurückholen.

Die Lösung: Sie müssen nicht jede Benachrichtigung in unter 3 Sekunden verarbeiten. Bestätigen Sie den Empfang schnell mit 202 Accepted, stellen Sie die Benachrichtigung in eine Warteschlange und verarbeiten Sie sie asynchron. Der Schlüssel ist die schnelle Antwort.

Delta-Abfragen als Sicherheitsnetz

Selbst ein perfekter Endpunkt schützt nicht vor allem: Abonnements laufen ab, Netzwerkstörungen kommen vor, und in seltenen Fällen könnte sogar Graph selbst eine Benachrichtigung verpassen. Deshalb brauchen Sie ein Sicherheitsnetz, die Delta-Abfragen.

Änderungsbenachrichtigungen sind der Feueralarm, der Ihnen sagt, dass gerade etwas passiert. Delta-Abfragen sind die Sprinkleranlage, die alles auffängt, was der Alarm verpasst hat. Das empfohlene Muster:

  1. Nutzen Sie Änderungsbenachrichtigungen für sofortige Informationen.
  2. Führen Sie regelmäßig eine Delta-Abfrage aus, etwa alle paar Stunden oder einmal täglich.
  3. Gleichen Sie damit ab, was durchgerutscht ist.

So verpassen Sie nie dauerhaft eine Änderung, selbst wenn eine Benachrichtigung verloren ging oder ein Abonnement abgelaufen ist.

Praxisnahe Anwendungsfälle für Änderungsbenachrichtigungen

Was lässt sich damit konkret bauen? Einige Beispiele aus der Folge:

  • HR-Automatisierung: Legt EntraID einen neuen Benutzer an, löst das eine Benachrichtigung aus. Die App ruft das Profil ab und erstellt in Sekunden Konten für HR-Plattform, Zeiterfassung und Gebäudezutritt, ohne Polling und ohne Verzögerung.
  • Sicherheitswarnungen: Wird ein Benutzerkonto deaktiviert, stößt die Benachrichtigung einen Workflow an, der auf verdächtige Änderungen prüft und das Sicherheitsteam alarmiert.
  • Inhaltsverarbeitung: Landet eine Datei in einer SharePoint-Dokumentenbibliothek, greift die App darauf zu, klassifiziert sie mit KI und schickt sie, falls es eine Rechnung ist, automatisch an das richtige Spesensystem.
  • Echtzeit-Dashboards: Änderungsbenachrichtigungen synchronisieren Dataverse sofort mit Fabric, sodass Power BI-Dashboards nahezu in Echtzeit aktualisiert werden.
  • Copilot-Connectoren: Microsoft ergänzt Echtzeitsynchronisierung über Webhooks, damit KI-Agenten reagieren, sobald sich Daten ändern. Wird ein Kundendatensatz in Dynamics 365 aktualisiert, kann ein Copilot-Agent sofort ein Follow-up erstellen.

Alle Beispiele haben gemeinsam, dass man zuvor geplante Jobs gebaut hat, die stündlich oder täglich abfragten. Das funktionierte, war aber langsam, ineffizient und fehleranfällig. Änderungsbenachrichtigungen kehren dieses Modell um: ereignisgesteuert und sofort.

Den richtigen Zustellkanal wählen: Webhooks, Event Hubs oder Event Grid

Nicht jede App braucht dieselbe Zustellung. Es gibt drei Optionen:

  • Webhooks: Die einfachste Variante. Graph sendet einen HTTP-POST an Ihren Endpunkt, Sie verarbeiten ihn und fahren fort. Bei niedrigem bis mittlerem Volumen, etwa ein paar hundert Benachrichtigungen pro Stunde, funktioniert das einwandfrei.
  • Event Hubs: Für große Mengen. Tausende Benachrichtigungen pro Sekunde können einen einzelnen Endpunkt überlasten. Event Hubs bewältigt Millionen Ereignisse pro Sekunde. Graph schickt die Benachrichtigungen an einen Hub, und Ihre App liest in ihrem eigenen Tempo mit geringem Überflutungsrisiko. Gedacht ist das für große Unternehmensszenarien wie Tausende SharePoint-Sites oder Millionen Postfächer.
  • Event Grid: Die serverlose Option. Sie sendet Benachrichtigungen an Azure Functions oder Logic Apps und übernimmt automatisch Wiederholungsversuche sowie Dead-Lettering.

Praktische Takeaways

  • Ersetzen Sie Polling durch Änderungsbenachrichtigungen, um Ressourcen zu sparen, Drosselung zu vermeiden und Änderungen sofort zu erfahren.
  • Ein Abonnement braucht vier Angaben: Ressource, Änderungstyp, Benachrichtigungs-URL (öffentliches HTTPS) und Ablaufdatum.
  • Geben Sie das Validierungstoken innerhalb von 10 Sekunden als reinen Klartext zurück, sonst kommt kein Abonnement zustande.
  • Beachten Sie die unterschiedlichen Maximallaufzeiten: Outlook-Nachrichten sieben Tage, Teams-Chat drei Tage, SharePoint-Dateien etwa 30 Tage, Präsenz eine Stunde.
  • Erneuern Sie per PATCH mit der Abonnement-ID, am besten bei jeder Benachrichtigung, die kurz vor dem Ablauf steht, und nutzen Sie Lebenszyklus-Benachrichtigungen.
  • Antworten Sie sofort mit 202 Accepted und verarbeiten Sie die Benachrichtigung asynchron.
  • Ergänzen Sie Benachrichtigungen um regelmäßige Delta-Abfragen als Sicherheitsnetz.
  • Wählen Sie den Zustellkanal nach Volumen: Webhooks für kleine bis mittlere Last, Event Hubs für sehr große Mengen, Event Grid für serverlose Szenarien.
Der richtige Zustellkanal
WebhooksEinfachste Variante, geeignet bei niedrigem bis mittlerem Volumen, etwa einige hundert pro Stunde.
Event HubsFür große Mengen: bewältigt Millionen Ereignisse pro Sekunde, App liest im eigenen Tempo.
Event GridServerlose Option für Azure Functions oder Logic Apps mit automatischen Wiederholungsversuchen.
Dead-LetteringEvent Grid übernimmt es automatisch, zusammen mit den Wiederholungsversuchen.
M365.FM · Mirko Peters

Fazit

Microsoft Graph Änderungsbenachrichtigungen drehen das Modell um: Statt dass Ihre App ständig fragt, meldet Microsoft 365 Änderungen von selbst. Wer Abonnements sauber erneuert, schnell antwortet und mit Delta-Abfragen absichert, baut Lösungen, die in Echtzeit reagieren und dabei effizienter und robuster sind als jeder geplante Abfragejob.

Häufige Fragen

Was sind Microsoft Graph Änderungsbenachrichtigungen und wie funktionieren sie?

Änderungsbenachrichtigungen lassen Ihre App sofort auf Ereignisse in Microsoft 365 reagieren, ohne ständiges Polling. Sie erstellen ein Abonnement für eine Ressource. Tritt eine Änderung ein, sendet Microsoft Graph einen HTTP-POST an Ihren Endpunkt. Ihre App entscheidet dann, ob sie Daten abruft oder einen Workflow startet.

Welche Angaben braucht ein Microsoft Graph Abonnement und wie lange läuft es?

Ein Abonnement braucht vier Angaben: Ressource, Änderungstyp (erstellt, aktualisiert, gelöscht), Benachrichtigungs-URL als öffentlich erreichbaren HTTPS-Endpunkt und Ablaufdatum. Die maximale Laufzeit variiert: Outlook-Nachrichten sieben Tage, Teams-Chat drei Tage, SharePoint-Dateien etwa 30 Tage, Präsenzinformationen nur eine Stunde.

Wie funktioniert der Validierungs-Handshake bei Graph-Abonnements?

Beim Erstellen schickt Graph eine Verifizierungsanfrage mit einem Validierungstoken. Ihr Endpunkt muss dieses Token innerhalb von 10 Sekunden als reinen Klartext zurücksenden, ohne JSON oder XML. So ist belegt, dass der Endpunkt aktiv ist und unter Ihrer Kontrolle steht. Sonst lehnt Graph das Abonnement ab.

Wie verhindere ich, dass Benachrichtigungen verloren gehen oder Abonnements ausfallen?

Antworten Sie innerhalb von 3 Sekunden mit 202 Accepted und verarbeiten Sie die Benachrichtigung asynchron über eine Warteschlange. Erneuern Sie Abonnements vor dem Ablauf per PATCH mit der Abonnement-ID. Regelmäßige Delta-Abfragen dienen als Sicherheitsnetz, Lebenszyklus-Benachrichtigungen warnen vor dem Ablauf.

Weitere Folgen

Microsoft Graph Webhooks einfach erklärt

Microsoft Graph Delta-Abfragen erklärt

Azure Files erklärt

KI-Halluzinationen stoppen

Power Platform ALM mit GitHub Actions

Power Apps Code Apps einfach erklärt

Alle Folgen →