Versionshistorie eines SharePoint-Listenelements in Power Automate abrufen

So rufst du die Versionshistorie eines SharePoint-Listenelements in Power Automate ab

Hast du dich schon einmal gefragt, wie du die Änderungen an einem Listenelement in SharePoint nachverfolgen kannst? Vielleicht möchtest du wissen, wer etwas geändert hat, wann es geändert wurde oder welche Werte früher in einem Element standen? Keine Sorge, ich zeige dir, wie du genau das mit Power Automate und der SharePoint HTTP-Aktion umsetzen kannst.


Warum ist die Versionshistorie wichtig für dich?

Die Versionshistorie in SharePoint hilft dir dabei, Änderungen nachzuvollziehen, ältere Werte wiederherzustellen oder einfach den Überblick zu behalten. Egal, ob du in einem Team arbeitest, das regelmäßig Daten aktualisiert, oder ob du für Audits und Berichte verantwortlich bist – die Versionshistorie kann dir eine Menge Zeit und Nerven sparen.


Was brauchst du dafür?

Bevor wir loslegen, stelle sicher, dass du die folgenden Voraussetzungen erfüllst:

  1. Versionsverwaltung ist aktiviert: In den Einstellungen deiner SharePoint-Liste muss die Versionsverwaltung eingeschaltet sein. Das kannst du in den Listeneinstellungen unter “Versionseinstellungen” überprüfen.
  2. Berechtigungen: Du brauchst mindestens Leseberechtigungen für die Liste, um die REST-API nutzen zu können.
  3. Power Automate: Du solltest Zugriff auf Power Automate haben und die SharePoint HTTP-Aktion verwenden können.

Schritt-für-Schritt-Anleitung

1. Erstelle einen neuen Flow

Öffne Power Automate und erstelle einen neuen Flow. Du kannst entweder einen manuellen Flow erstellen (z. B. per Knopfdruck) oder einen automatisierten Flow, der ausgelöst wird, wenn etwas in deiner Liste passiert (z. B. bei einer Änderung).

Füge dann die Aktion “SharePoint HTTP” hinzu. Diese findest du, indem du nach “HTTP” suchst und die SharePoint-Version auswählst.


2. Konfiguriere die SharePoint HTTP-Aktion

Jetzt wird es spannend! In der SharePoint HTTP-Aktion gibst du die folgenden Parameter ein:

  • Methode: GET
    Damit rufst du Daten ab.
  • URI: Hier gibst du den Endpunkt ein, der die Versionshistorie eines Listenelements abruft. Der Endpunkt sieht so aus: _api/web/lists/getbytitle('ListName')/items(ItemID)/versions Ersetze ListName durch den Namen deiner Liste und ItemID durch die ID des Elements, dessen Historie du abrufen möchtest. Zum Beispiel: _api/web/lists/getbytitle('Tasks')/items(1)/versions
  • Headers: Füge die folgenden Header hinzu:
    • Accept: application/json;odata=verbose
    • Content-Type: application/json;odata=verbose

So könnte deine Konfiguration aussehen:

FeldWert
MethodeGET
URI_api/web/lists/getbytitle(‘Tasks’)/items(1)/versions
HeadersAccept: application/json;odata=verbose Content-Type: application/json;odata=verbose

Um den ersten Beitrag zu erweitern, könnte der Hinweis auf das Office Script wie folgt eingebaut werden:


3. Verarbeite die Antwort

Wenn du die HTTP-Aktion ausführst, erhältst du eine JSON-Antwort. Diese enthält die komplette Versionshistorie des Listenelements. Die wichtigsten Informationen, die du daraus extrahieren kannst, sind:

  • VersionLabel: Die Versionsnummer (z. B. “1.0”, “2.0”).
  • IsCurrentVersion: Gibt an, ob es sich um die aktuelle Version handelt.
  • Created: Das Datum und die Uhrzeit, wann die Version erstellt wurde.
  • Editor: Der Benutzer, der die Änderung vorgenommen hat.
  • Feldwerte: Die Werte der Felder in dieser Version.

In Power Automate kannst du eine “Apply to each”-Schleife hinzufügen, um durch die Versionen zu iterieren und die gewünschten Informationen zu extrahieren. Zum Beispiel könntest du die Daten in einer E-Mail zusammenfassen oder in einer Excel-Datei speichern.

Tipp: Nutze ein Office Script für mehr Effizienz

Wenn du die Verarbeitung der JSON-Daten effizienter gestalten möchtest, kannst du mein Office Script verwenden. Dieses Script analysiert die Änderungen zwischen zwei spezifischen Versionen und liefert dir eine übersichtliche Zusammenfassung der Unterschiede. Es bietet folgende Vorteile:

  • Automatische Filterung von Systemfeldern: Das Script ignoriert Felder wie __metadata oder VersionId, die für die Analyse nicht relevant sind.
  • Benutzerfreundliche Ausgabe: Benutzerfelder werden z. B. als “Max Mustermann (max@beispiel.de)” formatiert, und nicht zugewiesene Werte erscheinen als “Nicht zugewiesen”.
  • Höhere Performance: Im Vergleich zur Verarbeitung in Power Automate benötigt das Script nur einen einzigen Aufruf (z. B. Run Script (Excel Online Business)), was die Anzahl der API-Aufrufe reduziert und die Ausführung beschleunigt.
Ein Beispiel für die Ausgabe des Scripts:
{
  "versionInfo": {
    "currentVersion": "3.0",
    "previousVersion": "2.0",
    "modifiedDate": "21.03.2025, 10:30",
    "itemId": 123
  },
  "changes": [
    {
      "fieldName": "Title",
      "oldValue": "Projekt A",
      "newValue": "Projekt B",
      "fieldType": "string"
    },
    {
      "fieldName": "Status",
      "oldValue": "In Bearbeitung",
      "newValue": "Abgeschlossen",
      "fieldType": "string"
    }
  ]
}

Mit diesem Ansatz kannst du die Verarbeitung der SharePoint-Versionshistorie nicht nur vereinfachen, sondern auch deutlich beschleunigen. Für komplexe Szenarien oder große Datenmengen ist das Office Script eine ideale Ergänzung.

Link zum Beitrag für das Office Scripts

SharePoint Änderungsverfolgung: Warum ein Office Script die bessere Wahl ist – Power Platform Central


4. Gib die Daten aus

Jetzt kommt der kreative Teil! Du kannst die extrahierten Daten auf verschiedene Arten nutzen, z. B.:

  • E-Mail-Benachrichtigung: Sende dir oder deinem Team eine E-Mail mit den Änderungen. Zum Beispiel:
    “Die letzte Änderung wurde von Max Mustermann am 01.03.2025 vorgenommen.”
  • Excel-Dokumentation: Speichere die Historie in einer Excel-Datei, um sie später zu analysieren oder zu archivieren.
  • Teams-Benachrichtigung: Informiere dein Team direkt in Microsoft Teams über Änderungen.

Ein Beispiel für die JSON-Antwort

Damit du dir besser vorstellen kannst, wie die Daten aussehen, hier ein Beispiel für die JSON-Antwort, die du von der SharePoint HTTP-Aktion erhältst:

{
  "d": {
    "results": [
      {
        "VersionLabel": "1.0",
        "IsCurrentVersion": false,
        "Created": "2025-03-01T10:00:00Z",
        "Editor": {
          "LookupValue": "Max Mustermann"
        },
        "FieldName": "Initial Value"
      },
      {
        "VersionLabel": "2.0",
        "IsCurrentVersion": true,
        "Created": "2025-03-02T12:00:00Z",
        "Editor": {
          "LookupValue": "Erika Musterfrau"
        },
        "FieldName": "Updated Value"
      }
    ]
  }
}

5. Optional: Filtere die Daten

Falls du nur bestimmte Informationen benötigst, kannst du den REST-API-Aufruf anpassen. Zum Beispiel kannst du mit $select und $expand nur die Felder abrufen, die dich interessieren:

_api/web/lists/getbytitle('ListName')/items(ItemID)/versions?$select=VersionLabel,Created,Editor/Email&$expand=Editor

Fazit

Und das war’s! 🎉 Du hast jetzt die Möglichkeit, die Versionshistorie eines SharePoint-Listenelements direkt in Power Automate abzurufen und weiterzuverarbeiten. Egal, ob du Änderungen nachverfolgen, Berichte erstellen oder dein Team informieren möchtest – mit diesem Ansatz bist du bestens gerüstet.

Ich hoffe, diese Anleitung war hilfreich für dich! Wenn du Fragen hast oder irgendwo nicht weiterkommst, lass es mich wissen. Ich helfe dir gerne weiter. 😊