Dataverse-Dateispalten mit Power Automate bereinigen

Ein paar Wochen nachdem ich einen Power-Automate-Prozess ausgeliefert hatte, der PDFs generiert und in einer Dataverse-Dateispalte speichert, kam mein Kunde mit einer scheinbar einfachen Anfrage:
„Können wir diesen Prozess auch bei Bedarf ausführen?“
Dabei bin ich auf eine unerwartete Einschränkung gestossen:
Man kann eine Dataverse-Dateispalte nicht mit „Update a row“ leeren.
Ich dachte zuerst, das sei trivial. Aber als ich die Aktion Update a Row verwenden wollte, wurde die Dateispalte gar nicht angezeigt 😐
Wenn Sie eine Dataverse-Dateispalte mit Power Automate leeren möchten, funktioniert das nicht mit Update a row.
Stattdessen:
- Verwenden Sie Perform an unbound action
- Wählen Sie die Aktion DeleteFile
- Übergeben Sie die FileId der Datei
Dataverse speichert Dateien als separaten Datensatz. Wenn Sie diesen mit DeleteFile löschen, wird die Datei korrekt aus der Spalte entfernt.
Was ich ausprobiert habe
Zuerst habe ich versucht, mit Update a Row die Dateispalte auf null zu setzen.
Das funktioniert nicht - die Spalte erscheint in der Aktion gar nicht.
⚠️ Hinweis: Bei Bildspalten funktioniert das Leeren mit
nullüber Update a Row. Diese Einschränkung betrifft nur Dateispalten.
Als Nächstes habe ich die Aktion Upload a file or an image verwendet und null als Inhalt übergeben:

Interessanterweise wird dadurch keine Datei gelöscht, sondern eine leere Datei erstellt:

Das ist ein Workaround - aber keine echte Lösung.
Die Datei wird nicht entfernt, sondern nur ersetzt.
Nicht ideal.
Warum das passiert
Wenn man eine Datei in eine Dataverse-Dateispalte hochlädt:
- Erstellt Dataverse im Hintergrund einen separaten File-Datensatz
- Die Dateispalte speichert nicht den Binärinhalt direkt
- Stattdessen speichert sie eine Referenz (
FileId) auf diesen Datensatz
Deshalb kann die Spalte nicht einfach mit null geleert werden.
Um die Datei korrekt zu entfernen, müss man den zugrunde liegenden File-Datensatz löschen.
Die Lösung
Mein erster Gedanke war:
„Wenn das in Dataverse existiert, gibt es bestimmt eine passende Aktion dafür.“
In Power Automate bedeutet das meist:
- Perform a bound action
- Perform an unbound action
Da Dateispalten generisch sind und nicht an eine bestimmte Tabelle gebunden sind, handelt es sich um eine unbound action.
Nach etwas Scrollen in der Liste…
… habe ich genau das gefunden, was ich brauchte:
DeleteFile
Diese Aktion benötigt einen Parameter:
FileId
Und genau das ist der entscheidende Punkt.
Wenn eine Datei in einer Dateispalte gespeichert ist, stellt der Datensatz die FileId zur Verfügung - diese kann man dynamisch auslesen:

Wenn man diese FileId an die Aktion DeleteFile übergibt, wird die Datei vollständig entfernt:

Voilà 😎
Schritt-für-Schritt: Dataverse-Datei löschen
1️⃣ Perform an unbound action hinzufügen
2️⃣ Aktion auswählen: DeleteFile
3️⃣ Im Parameter FileId die FileId aus dem Datensatz übergeben
4️⃣ Speichern und testen
Nach der Ausführung ist die Datei vollständig aus der Spalte entfernt.
Wichtige Hinweise
- Gilt nur für Dateispalten, nicht für Bildspalten
- Man benötigt entsprechende Berechtigungen zum Löschen
- Viele erweiterte Dataverse-Funktionen sind nur über unbound actions verfügbar
Fazit
Wenn etwas in einer Standard-Dataverse-Aktion fehlt, lohnt es sich, einen Blick auf die bound und unbound actions zu werfen.
Oft gibt es bereits eine saubere Lösung - sie ist nur etwas versteckt.
Während ich diesen Artikel vorbereitet habe, wollte ich eigentlich ein KI-Bild zur Illustration generieren. Ironischerweise hat die KI etwas erstellt, das der Lösung sehr nahe kam 😅

Und das zeigt etwas Wichtiges:
Auch wenn jemand das Thema schon beschrieben hat - Ihre Perspektive, Ihr Szenario und Ihre Erfahrung helfen anderen auf eine ganz eigene Weise.
Wenn dieser Artikel jemandem 30 Minuten Frust erspart - dann hat er sich gelohnt.
👉 Wenn du Unterstützung bei solchen Themen brauchst, kannst du mir gerne eine E-Mail schreiben: comment@martinplopez.com – ich helfe gerne 😉