# Review

To review a result in MAIA, you check the answer against the database the agent built. Every column header states where the column came from, and every researched value opens to its reasoning and its sources.

Updated: 2026-09-29. Source: https://maia-analytics.com/docs/using-maia/review

## Review in five steps

Your run has finished, and the table is full. Before you export it or share it, check it in this order.

1. [Read the column headers](https://maia-analytics.com/docs/using-maia/review#headers). Each one says where its column came from.
2. [Open the researched values](https://maia-analytics.com/docs/using-maia/review#reasoning) you will act on. Read the reasoning and the sources.
3. [Find the Unavailable rows](https://maia-analytics.com/docs/using-maia/review#unavailable). Decide whether to run them again.
4. [Check the identity](https://maia-analytics.com/docs/using-maia/review#contacts) on every contact you plan to call.
5. [Export, share, or save](https://maia-analytics.com/docs/using-maia/review#export) the result.

![A finished MAIA project. The chat on the left holds the written answer and the skill that ran. The map shows Maricopa County with the satellite basemap, and the table below lists the ten sites with their owners, roof areas, and companies.](https://maia-analytics.com/product-shots/docs/project-finished@2x.png)

A finished run: the answer in the chat, the layer on the map, and the same rows in the table.

## Read the column header

Each column header carries an icon for where the column came from. Open the column's menu to read it in words, on the **Source** line.

| The source reads | The column is |
| --- | --- |
| Dataset | A field from MAIA's core data |
| Joined from | A field brought in from another dataset |
| Calculated by MAIA | A value MAIA derived from other columns |
| Imported data | A field from a file you uploaded |
| Enrichment | A value MAIA researched, row by row |
| Source unavailable | A column whose origin MAIA cannot name. Check its values yourself |

![A column menu open on the Property Owner column. It reads Source: Joined from: Property parcels, Data type: Text, and offers View Property parcels in the Data Catalog above Sort, Filter, and the other actions.](https://maia-analytics.com/product-shots/docs/column-menu-joined@2x.png)

Open a column's menu to read where it came from. This one is joined from the parcel records.

## Open a researched value

On an enrichment cell, choose **View reasoning**. MAIA shows the reasoning and its sources. The reasoning is one or two sentences, finding first.

![A table cell reading Excellent under the column Roof Solar Readiness, with its reasoning panel open below it. The panel reads Roof Solar Readiness = Excellent, then Reasoning: the building shows a very large, predominantly flat and contiguous white roof with broad unobstructed sections, only limited rooftop equipment and small vents, and no obvious solar panels, heavy shading, unusual geometry, or severe deterioration.](https://maia-analytics.com/product-shots/docs/reasoning-satellite@2x.png)

The reasoning behind one value. Every researched cell opens like this.

## What Unavailable means

**Unavailable** means MAIA researched the row and could not support an answer. The reasoning says what it checked.

| The cell is | It means |
| --- | --- |
| Blank, with an **Enrich** button | The row has not been researched yet |
| **Unavailable** | The row was researched, and nothing supported an answer |

> **Note:** **Unavailable** in a cell and **Source unavailable** in a header are different things. The first is about one row's answer. The second is about where a whole column came from.

MAIA does not try Unavailable rows again by itself. To run them again, open the column menu and choose **Re-run unavailable rows**. Running them again spends credits.

![The column menu open on an enrichment column named Owner Contact Info. It reads Source: Enrichment: Owner contact and 0 of 10 enriched. The Enrich item is highlighted and its submenu lists First 10 in list, First 100 in list, All in list, Custom, and Re-run unavailable rows.](https://maia-analytics.com/product-shots/docs/column-menu-enrich@2x.png)

The Enrich submenu on a researched column. Re-run unavailable rows is the last item.

![A table cell reading Unavailable under the column Owner Occupied, with its reasoning panel open below it. The panel reads Owner Occupied = Unavailable, then Reasoning: no parcel owner, mailing address, or occupant records were returned, and the name FedEx Ground alone cannot establish occupancy. Sources (2) sits at the bottom.](https://maia-analytics.com/product-shots/docs/reasoning-unavailable@2x.png)

An Unavailable cell, opened. The reasoning says what MAIA checked and why it could not answer.

## Check the identity on a contact

| Status | What it means |
| --- | --- |
| Corroborated identity | Two or more independent sources agree |
| Single-source identity | One source, with nothing else to confirm it |
| Identity conflict | The name disagrees with the owner on record, or with the person you asked for |

Treat every contact as a lead to verify. See [Contacts](https://maia-analytics.com/docs/enrichments/contacts).

## Gaps in the records

Records are incomplete in ways that mislead. MAIA follows fixed rules so that a gap never turns into a claim. Read a cell the same way.

- A blank is unknown. It is never zero, never false, and never vacant.
- An empty result for permits, rentals, or listings means none are loaded for that county. It does not mean none exist.
- The vacancy flag on a parcel records mail vacancy. It does not mean vacant land.
- A parcel with no building footprint is not therefore vacant.
- A sale price may be modeled. The record says so when it is.
- A listing is a snapshot with a date. It is not current availability.
- A zoning code is a district name. It is not a ruling on what you may build. What a code permits comes from the ordinance, so MAIA ties such a claim to a source it checked or marks it unverified.

More on each record is on [Core data](https://maia-analytics.com/docs/capabilities/core-data).

## What MAIA checks before you do

After it changes the data, MAIA checks its own result against the data before it answers, and it reports what it could not confirm.

MAIA waits for the research to finish before it quotes a value. More on this is on [Main agent](https://maia-analytics.com/docs/capabilities/main-agent).

## Export, share, or save the result

| To | Do this | Read more |
| --- | --- | --- |
| Take the table out | **Download CSV** or **Download Excel**. Downloads are turned on per workspace | [Sharing and publishing](https://maia-analytics.com/docs/capabilities/sharing-and-publishing) |
| Show it to someone | Share the project with your workspace, or send a link | [Sharing and publishing](https://maia-analytics.com/docs/capabilities/sharing-and-publishing) |
| Keep the people | Choose **Save to contacts** on a contact | [Contacts](https://maia-analytics.com/docs/enrichments/contacts) |

> **Note:** Include the reasoning and the sources when you download a table someone else will rely on. Without them, the file holds the values and nothing that backs them.

## Review over MCP

Over MCP you can check the shape of a result. To check its values, open the project.

| You can | How |
| --- | --- |
| See a project's layers, columns, row counts, and views | `get_project` |
| Ask MAIA a question about the data | `send_message` |
| Read the rows, the reasoning, and the sources | Open the project link in MAIA. No tool reads rows directly |

Next: [Compound](https://maia-analytics.com/docs/using-maia/compound).
