Prompt Columns in Dataverse: KI direkt in der Tabelle — ohne Code
Du hast eine Tabelle voller Freitext — Kundenfeedback, Supporttickets, Liefermeldungen — und willst pro Datensatz eine Kategorie, ein Sentiment oder eine Zusammenfassung. Bisher hieß das: Flow bauen, AI-Builder-Prompt-Aktion einhängen, Trigger definieren, Ergebnis zurückschreiben. Oder gleich Custom Code. Seit Ende Juli 2026 gibt es dafür einen eigenen Datentyp direkt in Dataverse: Prompt Columns. GA, kein Preview mehr.
Der Reiz: Du legst eine Spalte an, hinterlegst eine Anweisung in natürlicher Sprache, wählst eine oder mehrere Input-Spalten derselben Tabelle — und Dataverse füllt die Spalte selbst mit dem KI-Ergebnis. Nutzbar überall, wo die Tabelle auftaucht: in Apps, Flows, Reports, Agents.
Nur: Eine Prompt Column verhält sich nicht wie eine Formula Column. Wer sie so behandelt, wundert sich, warum der Wert beim Speichern noch leer ist, warum eine Prompt-Änderung nichts nachrechnet und warum die Bestandsdaten stumm bleiben. Genau diese Missverständnisse räumen wir hier aus — und bauen ein DACH-taugliches Beispiel end-to-end nach.
1. Das Problem: KI-Anreicherung, ohne für jede Tabelle einen Flow zu bauen
Der klassische Weg zur KI-Anreicherung in Dataverse war der Umweg: Power Automate Flow mit AI-Builder-Prompt-Aktion, ausgelöst bei Create/Update, Ergebnis per Update-Aktion zurück in die Tabelle. Funktioniert, ist aber Infrastruktur — pro Anreicherung ein Flow, eigene Fehlerbehandlung, eigenes Monitoring, eigene Governance.
Prompt Columns drehen das um: Die KI-Anweisung lebt im Datenmodell, als Eigenschaft einer Spalte. Kein Flow, keine App-Logik, kein Custom Code. Das Ergebnis wird persistent in der Spalte gespeichert (nicht bei jedem Lesen neu berechnet) und ist damit ganz normale Tabellendaten: filterbar, in Views anzeigbar, in Flows lesbar, an Agents übergebbar.
Typische Aufgaben, die eine Prompt Column übernimmt:
- Klassifizierung (Freitext → genau eine Kategorie)
- Zusammenfassung (langer Text → ein Satz)
- Sentiment (Ton bestimmen und begründen)
- Extraktion (strukturierte Angabe aus Fließtext ziehen)
- Empfehlung (nächste Aktion aus dem Inhalt ableiten)
Das Ergebnis ist immer Text. Es gibt keinen numerischen oder Choice-Rückgabetyp — wenn du eine Kategorie brauchst, gibst du das Kategoriewort als Text zurück und arbeitest nachgelagert damit weiter.
2. Was man zuerst sieht: eine Spalte wie jede andere
Im Table-Designer sieht die Prompt Column zunächst unauffällig aus — eine Spalte in der Liste, ein Wert im Formular. Zwei Dinge fallen erst auf den zweiten Blick auf:
Erstens, es kommen nicht eine, sondern drei Spalten dazu. Neben deiner eigentlichen Prompt Column legt Dataverse automatisch zwei Begleitspalten an:
(name)_PromptColumnStatus— der Ausführungsstatus als Zahl(name)_PromptColumnDetails— Detailinformationen zur letzten Ausführung
In unserer Testtabelle Kundenfeedback heißen sie ausgeschrieben ccsm_Kategorie_PromptColumnStatus und ccsm_Kategorie_PromptColumnDetails. Wichtig fürs Wiederfinden: Unter „Benutzerdefinierte Spalten” tauchen sie nicht auf — erst die Ansicht „Alle Spalten” zeigt sie. Dort steht die eigentliche Prompt Column übrigens schlicht als „Einzelne Textzeile”; der Prompt ist Metadatum der Spalte, nicht ein eigener Speichertyp.
Diese beiden Begleitspalten sind dein Fenster in die asynchrone Verarbeitung. Ohne sie tappst du im Dunkeln, ob ein Ergebnis kommt, gerade läuft oder fehlgeschlagen ist.
Zweitens, beim Anlegen eines Datensatzes ist der Wert einen Moment lang leer. Das ist kein Bug — es ist der Kern dessen, was hier technisch passiert.
3. Was technisch wirklich passiert: asynchron, credit-getrieben, ereignisgesteuert
Der wichtigste Satz zu Prompt Columns: Die Auswertung ist asynchron und vom Speichervorgang entkoppelt. Sie ist keine Formel, die zum Lesezeitpunkt oder synchron beim Save rechnet. Stattdessen läuft der Prompt als Hintergrundprozess und schreibt den Wert nach, wenn er fertig ist.
Wann läuft der Prompt? Genau in zwei Fällen:
- Ein Datensatz wird erstellt.
- Eine referenzierte Input-Spalte wird geändert.
Und ebenso wichtig — wann läuft er nicht? Wenn du einen Datensatz speicherst, ohne dass sich eine referenzierte Input-Spalte geändert hat, passiert nichts. Keine Ausführung, kein Credit-Verbrauch. Das ist bewusst so gebaut: Die Auswertung hängt an den Inputs, nicht am Save-Button.
Den Status verfolgst du über (name)_PromptColumnStatus. Die Statuscodes:
| Code | Bedeutung |
|---|---|
| 0 | NotStarted |
| 1 | InProgress |
| 2 | Completed |
| 2000 | Übersprungen — Filterbedingung nicht erfüllt |
| 2001 | Übersprungen — keine referenzierte Input-Spalte geändert |
| 3 | Failed |
Die beiden 2000er-Codes sind keine Fehler, sondern Absicht: Der Prompt wurde bewusst nicht ausgeführt, weil es nichts auszuwerten gab. Genau das spart Credits.
Womit rechnet das Ganze ab? Prompt Columns verbrauchen AI Builder Credits und Copilot Credits. Hintergrund: Die AI Builder Credits laufen aus (siehe Microsoft Learn „endofaibcredits”), Copilot Credits werden zur gemeinsamen Währung.
Und hier eine verbreitete Annahme, die so nicht stimmt: Auch der Testlauf im Editor ist nicht gratis. Der Prompt-Editor zeigt direkt unter der Modellantwort, was der Durchlauf gekostet hat — bei uns 0,2 Copilot-Guthaben je Test, daneben die Laufzeit (3 788 ms im schnellen, 12 320 ms im ersten Lauf). Testen ist also billig, aber es wird abgerechnet. Den kumulierten Verbrauch siehst du in Power Automate → Automation Center → AI Builder activity unter „Estimated consumption”.
Welches Modell dahintersteckt, musst du nicht raten: Der Prompt-Editor nennt es in der Kopfzeile — bei uns GPT-4.1 mini — und bietet dort ein Auswahlmenü an. In der GA-Dokumentation sichert Microsoft allerdings kein bestimmtes Modell zu. Plane also so, dass ein Modellwechsel dein Ergebnis leicht verschieben kann.
4. Die naheliegende falsche Annahme: „Das ist eine Formel mit KI”
Weil eine Prompt Column optisch neben Formula Columns steht und „aus Eingaben einen Wert macht”, liegt der Trugschluss nahe, sie verhalte sich wie eine Formel. Vier Punkte, an denen diese Annahme kippt:
- Nicht synchron. Der Wert ist beim Speichern noch nicht da. Baue keine App- oder Flow-Logik, die unmittelbar nach dem Save den Prompt-Wert erwartet — prüfe stattdessen den Status.
- Kein On-Demand. Es gibt keinen „Jetzt neu berechnen”-Knopf. Läuft nur bei Create oder Input-Änderung.
- Kein Backfill. Aktivierst du eine Prompt Column auf einer Tabelle mit 10.000 bestehenden Datensätzen, bleiben die alle leer. Ausgewertet wird nur, was danach erstellt oder geändert wird.
- Keine Neuberechnung bei Prompt-Änderung. Verbesserst du die Anweisung, werden bereits gefüllte Werte nicht neu berechnet. Die neue Definition greift erst beim nächsten Auslöser (neuer Record oder geänderter Input).
Wer diese vier Punkte verinnerlicht, plant richtig: Prompt Columns sind für den laufenden Zufluss neuer/geänderter Daten gedacht, nicht als Batch-Anreicherung eines Altbestands.
5. Der belastbare Weg: Kundenfeedback kategorisieren und Sentiment bestimmen
Bauen wir es nach. Ziel: Eine Tabelle Kundenfeedback, in der jeder neue Freitext automatisch eine Kategorie und ein Sentiment bekommt — ohne Flow.
Voraussetzungen prüfen
Zwei Schalter müssen an sein, sonst läuft nichts:
- Tenant-Schalter für Prompt-Column-Ausführung: an.
- Pro Spalte: „Ausführung der Spalte ‚Prompt’ zulassen”: an.
Und ein Schalter muss aus sein: „Block unmanaged customizations”. Ist er an, quittiert dir Dataverse die Ausführung mit einem Fehler.
Tabelle anlegen
In make.powerapps.com → Tabelle Kundenfeedback mit:
Name(Primary Column, Text)Feedbacktext— Textspalte mit Format „Mehrere Textzeilen” für den Rohtext
Prompt Column „Kategorie” anlegen
Auf der Tabelle: Neu → Spalte. Dann:
- Datentyp: Prompt (im Datentyp-Menü ganz unten, unterhalb von „Formel”)
- „Unterstützung beim Ausfüllen von Formularen zulassen” abwählen (die wollen wir hier nicht)
- + Neuen Prompt hinzufügen
- Input festlegen: + Inhalt hinzufügen → Kundenfeedback → Feedbacktext. Der Editor setzt daraufhin einen Chip
Kundenfeedback.Feedbacktextmitten in den Text — kein Platzhalter zum Selbsttippen, sondern eine echte Referenz. - Anweisung hinterlegen:
Klassifiziere das folgende Kundenfeedback in genau eine Kategorie:
Lieferung, Produktqualität, Preis, Service, Sonstiges.
Gib nur das Kategoriewort zurück.
Feedback: [Kundenfeedback.Feedbacktext]
- Filterbedingung (optional, aber empfohlen): nur ausführen, wenn
Feedbacktextnicht leer ist. Das spart Credits und verhindert Ausführungen auf leeren Datensätzen — die übersprungenen Fälle landen dann sauber auf Statuscode 2000.

Prompt Column „Sentiment” anlegen
Gleiches Vorgehen, Input wieder Feedbacktext, Anweisung:
Bestimme das Sentiment des folgenden Kundenfeedbacks
(positiv, neutral oder negativ) und begründe deine Einschätzung
in genau einem Satz.
Optional: Prompt Column „Zusammenfassung”
Fasse das folgende Kundenfeedback in maximal 15 Wörtern zusammen.
Beachte das Limit: Maximal 5 Prompt Columns pro Tabelle. Drei sind hier also gut im Rahmen.
Was nicht als Input erlaubt ist: Formula-, File- und Image-Spalten sowie andere Prompt Columns — letztere werden schlicht ignoriert. Input muss aus „echten” Spalten derselben Tabelle kommen.
Testen — direkt im Editor
Der Editor hat oben rechts einen Test-Knopf. Er zieht sich einen echten Datensatz der Tabelle als Eingabe und zeigt links die Anweisung, rechts die Modellantwort. Unser Beispieltext lautete:
„Die Ware kam vier Tage zu spät und der Karton war eingedrückt. Der Support hat sich auf zwei E-Mails nicht gemeldet.”
Zurück kam exakt ein Wort: Lieferung. In rund vier Sekunden, für 0,2 Copilot-Guthaben.

Ausrollen und live prüfen
Sitzt die Anweisung, speicherst du die Spalten und baust ein Model-driven Formular mit Name, Feedbacktext, Kategorie, Sentiment (und den _PromptColumnStatus-Spalten, solange du beobachten willst).
Jetzt der Live-Test: Neuen Datensatz anlegen, echten Feedbacktext eintragen, speichern.
- Direkt nach dem Save:
KategorieundSentimentsind leer, Status steht auf 1 (InProgress). - Kurz darauf springt der Status auf 2 (Completed) und die Werte erscheinen — z. B.
Lieferungund ein negatives Sentiment mit Begründung.
Aus dem eigenen Versuch — der wichtigste Praxishinweis: Bei uns lief der Editor-Test einwandfrei, die Spalte selbst blieb aber auch nach 30 Minuten leer. Das ist kein Widerspruch, sondern die Diagnose: Der Editor-Test umgeht den Tenant-Schalter, die tatsächliche Spaltenausführung nicht. Wenn dein Test also sauber antwortet und die Spalte trotzdem nichts schreibt, liegt es fast immer an den Voraussetzungen oben (Tenant- bzw. Umgebungsschalter, „Block unmanaged customizations”, regionaler Rollout) — und praktisch nie am Prompt. Prüfe in dem Fall zuerst den _PromptColumnStatus: Steht er auf 0, wurde die Ausführung gar nicht erst angestoßen.
Weiterverwenden — genau hier zahlt es sich aus
Weil das Ergebnis persistente Tabellendaten ist, hängst du beliebig an:
- Flow zur Eskalation: Trigger auf
Sentimententhält „negativ” → Teams-Nachricht ans Team, Task anlegen. Hinweis: Trigger den Flow sinnvollerweise auf die Änderung der Prompt Column (nicht auf Create des Records), weil der Wert wegen der asynchronen Verarbeitung erst später eintrifft. - Dashboard: View/Chart gruppiert nach
Kategorie— auf einen Blick, wo die Rückmeldungen herkommen. - Agent: Ein Copilot-Studio-Agent auf der Tabelle beantwortet „Welche Kategorie verursacht die meisten negativen Rückmeldungen?” — vorausgesetzt, er ist sauber auf diese Tabelle geerdet (siehe Copilot Agents richtig erden).
(Das Microsoft-Referenzbeispiel geht in dieselbe Richtung: eine Supply-Chain-Managerin lässt Lieferverzögerungen automatisch nach Ursache, Schweregrad und Risiko klassifizieren.)
6. Checkliste vor dem Produktivgang
- Tenant-Schalter für Prompt-Column-Ausführung: an
- „Ausführung der Spalte ‚Prompt’ zulassen” pro Spalte: an
- „Block unmanaged customizations”: aus (sonst Ausführungsfehler)
- Input-Spalten sind normale Spalten derselben Tabelle (keine Formula/File/Image/Prompt)
- Max. 5 Prompt Columns pro Tabelle nicht überschritten
- Filterbedingung gesetzt, wo sinnvoll (Credit-Optimierung → Status 2000 statt unnötiger Läufe)
- Prompt im Editor getestet — Verbrauch pro Testlauf steht unter der Modellantwort
- Editor-Test klappt, Spalte bleibt trotzdem leer? → Tenant-/Umgebungsschalter und regionalen Rollout prüfen, nicht den Prompt
- Ausführende Nutzer/Prozesse haben Leserechte auf die Input-Spalten
- Copilot Credits verfügbar (sonst Failed)
- Nachgelagerte Logik (Flow/App) prüft den Status, statt den Wert sofort zu erwarten
- Bewusst: kein Backfill — Altbestand bleibt leer
- Verbrauch nach Go-live im Automation Center → AI Builder activity kontrollieren
7. Grenzen — wo du nicht drüber hinweggehen solltest
- Asynchron: Der Wert ist nicht im selben Save da. Jede Logik, die sofort darauf zugreift, ist fehleranfällig.
- Generative KI = kein Determinismus. Gleicher Input kann leicht abweichende Ergebnisse liefern. Für harte, reproduzierbare Regeln ist eine Prompt Column das falsche Werkzeug.
- Kein On-Demand, kein Backfill, keine Neuberechnung bei geänderter Prompt-Definition. Nur neuer Record oder geänderter Input löst aus.
- Nicht auditiert. Die Ausführung schreibt keine Audit-Spur im klassischen Sinn — für Nachweispflichten musst du selbst protokollieren.
- Fehlerquellen: fehlende Leserechte auf Input-Spalten, fehlende Copilot Credits → Status 3 (Failed).
- Ergebnis ist Text. Kein Choice-, kein Zahlentyp. Nachgelagerte Typisierung machst du selbst.
- Regionaler Rollout war zum GA-Zeitpunkt teils noch nicht überall abgeschlossen — prüfe die Verfügbarkeit in deiner Region/Umgebung. Unser Trial zeigte den Datentyp und ließ ihn speichern, führte die Spalte aber nicht aus.
- Modell sichtbar, aber nicht zugesichert. Der Editor zeigt es an (bei uns GPT-4.1 mini) — verlasse dich trotzdem nicht auf ein bestimmtes Modellverhalten.
Unterm Strich: Prompt Columns sind ein starkes, unaufgeregtes Werkzeug für die laufende KI-Anreicherung von Dataverse-Daten — genau dann, wenn du dir den Flow-Overhead sparen und das Ergebnis als normale Tabellendaten weiterverwenden willst. Behandle sie als asynchronen, credit-getriebenen Hintergrundprozess, nicht als Formel, und du wirst wenig Überraschungen erleben.
Stand: August 2026. Prompt Columns sind seit Ende Juli 2026 GA (Public Preview seit August 2025). Alle Screenshots, Laufzeiten und Verbrauchswerte stammen aus einem eigenen Durchlauf in einer Dataverse-Umgebung am 28. August 2026.
Siehe auch
- Copilot Agents richtig erden — warum ein Agent nur so gut ist wie seine echten Datenquellen; angereicherte Prompt-Column-Daten sind so eine Quelle.
- Was ist eigentlich eine Power App? — Model-driven vs. Canvas, und wann Dataverse das richtige Fundament ist.
- Entra Agent ID: Jeder Agent hat jetzt eine Identität — Governance rund um KI in der Power Platform.
Quellen: Microsoft Learn „prompt-column”; Power Platform Blog „prompt-columns-july2026”; Microsoft Learn „endofaibcredits”.