AI in the Data Layer: Prompt Columns and Row Summaries
Two AI capabilities that live inside Dataverse itself β a column that generates and stores its own value, and a Copilot summary that surfaces on a table's main forms and views.
The idea behind AI in the data layer
Most peopleβs mental model of AI in a business app is a chat box bolted onto the side. Dataverse does something more interesting: it puts AI inside the table. In the case of a prompt column, the generated value is stored in Dataverse and behaves like any other stored value. A row summary works differently β it is generated presentation, not a stored column β and telling those two apart is most of this module.
That is the thread running through both features in this module, and it is why they belong in Domain 1 alongside tables and columns rather than in the AI-focused Domain 3.
Prompt columns
A prompt column is a column whose value is written by AI.
You point it at some other columns in the same table and give it an instruction in plain English β something like βwrite a one-line summary of this shipmentβs status using the destination, the delay reason and the current status.β Dataverse runs that instruction and stores the answer in the column.
The important part: once it is stored, it is just a column. Apps read it, flows read it, reports read it. Nothing has to know it came from AI.
When does it actually run?
This is the highest-value fact in the module, because it is the one candidates guess at.
The refresh semantics, stated exactly
Microsoftβs documentation states: βPrompt column values are populated when records are created and when the input column values are updated.β
Read that carefully. It means the behaviour is event-driven:
- β On record create
- β When an input column value changes
- β Not on a schedule
- β Not on every retrieve
So if a scenario says βthe summary must reflect data that changes on a related record,β a prompt column will not pick that up β the trigger is a change to its own input columns.
The naming trap
There are two different things in this exam called βprompt,β and they live in different domains.
| Prompt column | Prompt in AI hub | |
|---|---|---|
| What it is | A Dataverse column data type | A reusable AI asset you build and save |
| Where it lives | On a table, alongside Text and Choice columns | In AI hub, as a standalone asset |
| How it is consumed | By reading the column β apps, flows, reports | By calling it from an app or a cloud flow |
| Exam domain | Domain 1 β data model foundation | Domain 3 β business logic and automation |
| Result storage | Stored in the column automatically | Returned to the caller; you decide what to do with it |
How to tell which one a question means
Look for the word column, or for language about the value being stored on the record. That is a prompt column.
Look for language about calling or consuming a prompt from an app or a flow, or about inputs, knowledge and model settings. That is an AI hub prompt.
Row summaries
A row summary is a Copilot-generated summary of a record, driven by a prompt that the maker writes.
Raviβs original ask was βI need to see at a glance whether a shipment is in trouble.β Not a report. Not a dashboard. A sentence at the top of the record. That is precisely what a row summary is for.
Where it appears
- A collapsible summary bar at the top of a main form
- Accessible for individual rows from views
Forms that carry one display a form AI icon.
Where it is configured
On the table, under Customizations β Row summary. Once one exists, you edit it via Row summary (applied).
The scope fact that catches people out
A row summary is table-wide, not form-specific. Microsoftβs documentation is explicit: βWhen you configure the row summary, it applies to all views and main forms for the table.β
This is a genuinely counterintuitive design if you are used to thinking of forms as independent artefacts. You cannot configure one row summary for the dispatcherβs form and a different one for financeβs form β there is one per table.
You can hide it, but that is also a table-level action, not a per-form one: you return to Row summary on the table and unselect Show row summary, which hides it everywhere.
The prerequisite
Row summaries do not appear until an administrator has enabled the AI insight cards environment setting.
This is Meiβs job, and it is exactly the kind of detail that makes a good exam question β a maker configures everything correctly, nothing appears, and the answer is an environment setting they do not control.
The exclusions
Three Dynamics 365 tables where row summaries are not available
Row summaries are not available for the Case, Lead and Opportunity tables.
The reason is not a limitation β it is that Dynamics 365 Customer Service and Dynamics 365 Sales supply their own summaries for these tables. Those built-in summaries have a narrower reach, though: they appear only on main forms, not in views.
So the answer to βwhy canβt I configure a row summary on Case?β is βbecause Customer Service already provides oneβ β not βbecause the feature is broken.β
The language trap
This is the sharpest single fact in the module and a natural exam question.
Row summaries generate in the language of the prompt
The summary is generated in the language of the prompt itself β regardless of the userβs language settings.
So a prompt written in English produces English summaries for every user, including users whose Dataverse language is set to something else. The userβs language preference does not influence it.
The fix, per Microsoftβs guidance, has two parts and needs both:
- Include the
LanguageCodeinput in the prompt. - Add the instruction βYou must respond in language
<LanguageCode>.β
Adding the input without the instruction does not achieve anything on its own.
The timing detail worth knowing: Microsoft adds that language instruction by default for newly configured summaries. It is the pre-existing summaries β ones configured before this behaviour shipped β where you have to go back and add it manually. So a summary that stubbornly answers in English while a newer one on the next table behaves correctly is not a bug; it is an older summary that never received the default instruction.
Writing a good row-summary prompt
Microsoftβs own guidance for these prompts is practical, and worth knowing because it maps directly to βwhich prompt is betterβ question shapes:
- List the columns to include β or the ones to exclude. Do not assume the model will pick well on its own.
- Specify formatting β for example, βwrite the summary as a bulleted list.β
- Handle multi-language explicitly, using the
LanguageCodepattern above.
Kite Freight, concretely
Ravi wants at-a-glance trouble detection on Depot Run records.
| Step | Who | What happens |
|---|---|---|
| 1 | Mei | Enables the AI insight cards environment setting. Nothing works until this is done |
| 2 | Nadia | Opens the Depot Run table β Customizations β Row summary |
| 3 | Nadia | Writes a prompt naming the columns to include β status, destination depot, scheduled arrival, delay reason β and asks for a bulleted list |
| 4 | β | The summary appears on every main form and in views for Depot Run. Not just the one form Nadia had open |
| 5 | Ravi | Sees the collapsible summary bar at the top of each run record, and can pull a summary for individual rows from a view |
Separately, Nadia adds a prompt column called Run Risk Note to the same table, with the scheduled arrival and delay reason as input columns. Because it is stored, the depot dashboard and a downstream cloud flow can both read it without calling any AI service themselves β and it refreshes whenever a run is created or those two input columns change.
Why Nadia used both, not one
They solve different problems, and noticing the difference is the exam skill:
- The row summary is for a human reading a record. It is presentation. It is not stored as data and cannot be filtered, sorted or used by a flow.
- The prompt column is data. It is stored, so it can be read by apps, flows and reports β and used in views.
If a scenario needs the generated text to drive downstream logic, it needs a prompt column. If it just needs a human to grasp a record quickly, a row summary is the lighter answer.
Quick recall
Check yourself
Nadia configures a row summary on the Depot Run table while working in the Dispatcher form. Later, a finance user opens Depot Run in the Finance form and is surprised to see a summary bar. What is the explanation?
A maker has written a row summary prompt and saved it, but no summary bar appears on any form. Security roles and the form configuration are both correct. What is the most likely cause?
Kite Freight needs an AI-generated risk note on each Depot Run that a nightly cloud flow can read and filter on. Which capability fits?
Kite Freight operates in New Zealand and Japan. The row summary prompt is written in English, but Japanese-speaking dispatchers need summaries in Japanese. What must the maker do?