---
title: Property Mapping and Smart Lookup
description: "Property Mapping and Smart Lookup allow you to control how information extracted by Document AI is mapped to M-Files properties. You can use these settings to populate metadata, match extracted values with existing objects or value list items, handle multiple…"
url: "https://extensionkit.unitfly.com/documentation/document-ai-property-mapping-smart-lookup/"
updated: "2026-10-14"
category: Configurations / Document AI / Simple rule configuration
---

# Property Mapping and Smart Lookup

Property Mapping and Smart Lookup allow you to control how information extracted by Document AI is mapped to M-Files properties.

You can use these settings to populate metadata, match extracted values with existing objects or value list items, handle multiple extracted values, and control whether existing property values can be overwritten.

These settings are available when configuring **Set properties** in Microsoft Foundry and Azure Document Intelligence extraction actions. They are also used when mapping properties on newly created M-Files objects.

This page describes the following configuration options:

- [Property mapping](https://extensionkit.unitfly.com/documentation/document-ai-property-mapping-smart-lookup/#property-mapping): Configure the source and target of property values.
- [Result formatting and arrays](https://extensionkit.unitfly.com/documentation/document-ai-property-mapping-smart-lookup/#result-formatting-and-arrays): Control how extracted values are converted and stored.
- [Lookup mapping](https://extensionkit.unitfly.com/documentation/document-ai-property-mapping-smart-lookup/#lookup-mapping): Match extracted values to existing M-Files objects or value list items.
- [Smart lookup](https://extensionkit.unitfly.com/documentation/document-ai-property-mapping-smart-lookup/#smart-lookup):Use normalization and fuzzy matching when an exact lookup match cannot be found.
- [Smart lookup filter conditions](https://extensionkit.unitfly.com/documentation/document-ai-property-mapping-smart-lookup/#smart-lookup-filter-conditions): Narrow down the objects considered during fuzzy matching.

The available fields depend on the selected M-Files property type and the Document AI service or extraction model.

---

## Property Mapping

Use **Set properties** to map values returned by the AI model to M-Files properties.

For example, you can extract an invoice number, invoice date, supplier name, or total amount from a document and populate the corresponding M-Files metadata fields.

The specific extraction field depends on the selected service:

- **Microsoft Foundry:** Use Query field to define the information the model should extract.
- **Azure Document Intelligence:** Use the available model-specific fields, such as Property name, Query field, or Key value pair, to select the extracted information.

The following settings are shared across the supported extraction models.

## Set property from response

Choose whether to set the property from the AI model response or use a static property value from existing objects in the vault.

- **Yes:** Uses the value extracted from the document by the AI model.
- **No:** Uses the Static property configuration instead of an extracted value.

## Static property

*Displayed when **Set property from response** is disabled.*

Use this setting to configure properties that are not extracted from the AI model response.

Values can be static or dynamic, referencing properties from the source object.

## Result property

Select the M-Files property that will receive the value.

For example, if the AI model extracts an invoice number, select the corresponding Invoice Number property in M-Files.

## Result M-Files property type

Specifies what the extracted result represents.

Choose the appropriate property type:

- **Simple value:** Map the extracted result directly to an M-Files property, such as text, number, or date.
- **Object lookup:** Match the extracted value with an existing M-Files object.
- **Value list lookup:** Match the extracted value with an item in an M-Files value list.

For example, an extracted invoice total can be stored as a simple value, while an extracted supplier name can be mapped to an existing Supplier object or a value list item.

Additional mapping settings become available when using object or value list lookups.

---

## Result Formatting and Arrays

These settings control how extracted values are formatted and how multiple values are handled when mapping them to M-Files properties.

## Result culture

Specifies the culture used to interpret date and number results.

This setting is available in generic create-object property entries. Microsoft Foundry and Azure Document Intelligence prebuilt property entries automatically use `en-US`.

## Result format

Specifies the format used for date results.

This setting has the same availability as Result culture.

## Array to text behavior

Controls how an array of extracted values is mapped to a single-value M-Files property.

Choose one of the following options:

- **TakeFirst:** Uses only the first element of the array.
- **Concatenate:** Combines all elements into one text value, separated by the configured Items separator.

For example, if the AI model extracts the values `Finance`, `Legal`, and `Operations`:

| Setting | Result |
| --- | --- |
| TakeFirst | Finance |
| Concatenate (separator: `,` ) | Finance, Legal, Operations |

For Microsoft Foundry, this setting is displayed when the Query field ends with `[]`, indicating that the model should return an array.

## Items separator

Specifies the separator used when processing multiple values.

It is used in two situations:

- **Concatenating arrays:** When Array to text behavior is set to Concatenate, the extracted values are joined into a single text value using the specified separator.
- **Splitting lookup values:** When mapping lookup properties, a single AI response string containing the specified separator is split into individual lookup items.

For example, if the AI response contains `Finance, Legal, Operations` and the separator is `,`, the values can be processed as separate lookup items.

---

## Lookup Mapping

Lookup mapping allows Document AI to connect extracted values with existing M-Files objects or value list items.

For example, when processing an invoice, Document AI can extract a supplier name and use it to identify the corresponding Supplier object in M-Files.

Instead of saving the extracted supplier name as plain text, the value can be stored as a lookup reference.

Select **Object lookup** or **Value list lookup** under Result M-Files property type to configure the corresponding mapping settings.

## Map Object lookup by

Defines how the extracted value is mapped to an existing M-Files object.

Use this setting when the target property references an object type, such as Supplier, Customer, or Project.

Additional settings allow you to specify the object type, class, and property used for mapping.

## Map Value list lookup by

Defines how the extracted value is mapped to an M-Files value list item.

Use this setting when the target property references a value list, such as Department or Document Category.

## Result M-Files object type

Specifies the type of M-Files objects used for the lookup mapping.

For example, select the Supplier object type when matching an extracted supplier name with an existing Supplier object.

## Result M-Files object class

Specifies the class of the M-Files objects used for the lookup mapping.

## Result M-Files object property

Specifies the property on the target M-Files object used for mapping.

For example, when mapping an extracted supplier name, you can use the Name property of the Supplier object type.

## Try to map empty value

Controls whether the rule attempts to resolve an empty or non-existing lookup value.

When enabled, the rule can search for objects whose configured lookup property contains an empty value.

## Create if doesn't exist

Controls whether a new M-Files object or value list item can be created when the extracted value does not match an existing entry.

When enabled:

- **Value list lookup:** A new value list item can be created if the value list allows users to add new values.
- **Object lookup:** A new object can be created if it does not require additional mandatory properties.

For value lists, ensure that the **Allow users to add new values to this list** option is enabled in M-Files.

For object creation, only the name and class properties are set automatically. Therefore, objects with other required properties cannot be created using this setting.

**Note:** This option can also be used as a fallback when Smart lookup does not find an acceptable match.

## Throw if all items don't exist

Controls how lookup mapping behaves when some extracted items do not exist in the target M-Files vault.

- **Enabled:** If at least one lookup item does not exist, none of the lookup items are added to the target property.
- **Disabled:** Existing lookup items can still be added even if other items do not exist.

This setting is relevant when mapping multiple extracted values to a lookup property.

## Parent property

Specifies the parent property used in the lookup configuration.

## Owner property

Specifies the owner property used in the lookup configuration.

## Search timeout (sec)

Specifies the maximum time, in seconds, allowed for searching M-Files objects during lookup mapping.

This setting is separate from the Fuzzy match timeout used by Smart lookup.

---

## Smart Lookup

**Smart lookup** improves how extracted values are matched with existing M-Files objects and value list items.

When an extracted value does not exactly match an existing lookup item, Smart lookup can use normalization and fuzzy matching to identify a suitable match.

This is useful when documents contain different spellings, formatting variations, or slightly different names for the same object or value list item.

For example, a document might contain a supplier name that differs slightly from the name stored in M-Files. Smart lookup can attempt to identify the corresponding supplier instead of requiring an exact text match.

## Enable smart lookup

Enable this option to use normalization and fuzzy matching when an exact lookup match cannot be found.

Smart lookup is available for:

- **Object Type lookups:** Match extracted values to existing M-Files objects.
- **Value List lookups:** Match extracted values to existing value list items.

When Smart lookup is enabled, additional settings become available.

## Match threshold

Specifies the minimum confidence required to accept an item returned by fuzzy matching.

If the match confidence is below the configured threshold, the matched item will not be applied.

A higher threshold requires a stronger match before the extracted value is mapped to an existing M-Files item.

## Fuzzy match timeout (sec)

Defines the maximum time allowed for fuzzy matching.

**Default value:** 60 seconds.

If matching exceeds the configured timeout, Smart lookup is aborted for that value.

If **Create if doesn't exist** is enabled, the system applies that fallback behavior.

Increase the timeout for large object sets where more extensive matching may be required. Decrease it for time-sensitive rules.

## Filter conditions

Use **Filter conditions** to narrow down which M-Files objects are considered during fuzzy matching.

Instead of searching all objects of the configured type, Smart lookup evaluates only objects that match the specified filter conditions.

This can be useful when objects have similar names but differ by department, company, location, or other metadata.

**Important:** Filter conditions apply to Object Type lookups only.

If no filter conditions are configured, all objects of the selected object type are considered as candidates for fuzzy matching.

---

## Smart Lookup Filter Conditions

Use filter conditions to limit the set of candidate objects before Smart lookup performs fuzzy matching.

For example, when matching an extracted supplier name, you can restrict the search to objects that have a specific property value.

Expand **Filter conditions** and add a condition.

The following settings are available for each condition.

## Property

Select the M-Files property used to filter candidate objects.

For example, this could be a department, country, or another property available on the target object type.

## Operator

Specifies how the candidate object's property value is compared with the filter value.

Choose one of the following options:

- **=** — The property value must equal the specified value.
- **Contains** — The property value must contain the specified text.
- **Starts with** — The property value must start with the specified text.

## Value from AI response

Determines where the filter value comes from.

- **Enabled:** Uses a value from another field extracted in the AI response.
- **Disabled:** Uses a static value or an EK placeholder expression.

## Response field name

Displayed when **Value from AI response** is enabled.

Specifies the name of the extracted AI response field used as the filter value.

The way this field is configured depends on the selected extraction model:

- **Microsoft Foundry:** Enter the response field name as free text.
- **Azure Document Intelligence prebuilt-layout:** Enter the response field name as free text.
- **Azure Document Intelligence prebuilt-invoice, prebuilt-receipt, and prebuilt-contract:** Select the field from the available model-specific dropdown.

## Query field description

Available for Microsoft Foundry extraction.

Provides additional context to the AI model about the field being extracted, such as its expected content or format.

## Value

Displayed when **Value from AI response** is disabled.

Enter a static value or an EK placeholder expression.

For example:

`%PROPERTY.123%`

This allows the filter value to be retrieved dynamically from a property on the source object.

## Example: Filtering lookup candidates

Suppose Document AI extracts a supplier name from an invoice, and the M-Files vault contains suppliers with similar names.

You can configure Smart lookup to consider only suppliers matching a particular property value before attempting fuzzy matching.

For example:

| Setting | Example value |
| --- | --- |
| Result M-Files object type | Supplier |
| Property | Country |
| Operator | = |
| Value from AI response | Enabled |
| Response field name | SupplierCountry |

In this example, the filter uses the extracted country to narrow down the Supplier objects considered for matching.

Smart lookup then attempts to match the extracted supplier name against the remaining candidates.

---

## Related Configuration

Property Mapping and Smart Lookup are used within Document AI extraction actions.

For service-specific field selection and configuration, refer to:

- [Microsoft Foundry AI Action](https://extensionkit.unitfly.com/documentation/document-ai-microsoft-foundry-ai-action/) — Configure Query fields, extracted values, and property mappings using Microsoft Foundry models.
- [Azure Document Intelligence AI Action](https://extensionkit.unitfly.com/documentation/document-ai-azure-document-intelligence-ai-action/) — Configure property mapping for prebuilt-layout, prebuilt-invoice, prebuilt-receipt, and prebuilt-contract models.
- [Document AI options](https://extensionkit.unitfly.com/documentation/document-ai-options/) — Configure general Document AI rule settings.
- [Advanced rule configuration](https://extensionkit.unitfly.com/documentation/document-ai-advanced-rule-configuration-page/) — Configure additional rule execution, searching, and error handling options.
