> ## Documentation Index
> Fetch the complete documentation index at: https://docs.custral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Property Auto-Fill Agents

> AI that fills a property on demand or on triggers.

A **Property Agent** is an AI configuration attached to a single property on an object. When it runs (manually, when a record is created, or when a record is updated) it reads the data you've allowed it to see and writes a value into that property. Think Notion-style AI autofill, for any object in your workspace.

## The four kinds

Each agent has a **kind** that preselects sensible source defaults and an instruction template:

| Kind      | Default sources     | Use it for                                         |
| --------- | ------------------- | -------------------------------------------------- |
| Summarize | Record context only | Short derived values from the record's own fields. |
| Research  | Record + web        | Enrichment from public sources.                    |
| Classify  | Record context only | Picking one or many options from a closed set.     |
| Prompt    | Record context only | Anything else, fully custom prompt.                |

## How a run works

<Steps>
  <Step title="The agent runs">
    Triggered manually, on record creation, or on record update.
  </Step>

  <Step title="It reads its sources">
    The agent gathers the data you've allowed. The record's own fields, and the web when enabled.
  </Step>

  <Step title="The AI produces a value">
    The model returns a candidate value for the property.
  </Step>

  <Step title="The value is checked and written">
    Custral verifies the value fits the property's type. If it fits, it's written to the cell. If it doesn't, the run is marked failed with a clear message. The unvalidated text is never written as a fallback.
  </Step>
</Steps>

## Triggers vs manual run

An agent runs **manually** when you click Run, or automatically **on create** and **on update**. The full trigger reference is on [Triggers](/ai/property-agents/triggers).

## Output validation

Every value the AI produces is checked against the target property's type before it's written. A select option must exist, a date must parse, a number must be numeric. On failure, the run is marked failed with a descriptive error, and the unvalidated text is **never** written as a fallback. See [Troubleshooting](/ai/property-agents/troubleshooting) for how to read these errors.

## Supported property types

| Group  | Types                                       |
| ------ | ------------------------------------------- |
| Text   | Text, long text, website, URL, email, phone |
| Number | Number, currency                            |
| Select | Select, multi-select                        |
| Date   | Date                                        |
| Image  | Image                                       |

The **image** type is special: the AI never returns the picture directly. Instead it ranks real candidate images from a web image search, and Custral validates, downloads, and attaches the chosen image to the record.

## See also

* [Triggers](/ai/property-agents/triggers)
* [Sources](/ai/property-agents/sources)
* [Troubleshooting](/ai/property-agents/troubleshooting)


## Related topics

- [Change Log](/product/updates.md)
- [Tool Gating](/ai/chat-agents/tools.md)
- [Product](/start/use/product.md)
- [Build a sales pipeline](/recipes/sales-pipeline.md)
- [Recommendations](/ai/recommendations.md)
