# Managing Extract nodes

> Add, configure, and remove Extract nodes in UiPath Maestro Flow.

The **Extract** node pulls structured fields out of a document, such as an invoice, receipt, form, or contract, using an IXP extraction model, and returns the result for downstream nodes to act on.

## Prerequisites

Before you add an **Extract** node, make sure that your tenant has both the **IXP** and **Document Understanding** [services enabled](https://docs.uipath.com/automation-cloud/automation-cloud/latest/admin-guide/managing-services#enabling-or-disabling-services). The **Extract** node depends on both services, even when you only use IXP models.

## Adding an Extract node to a flow

To add an **Extract** node to a flow, proceed as follows:

1. Open your flow in Maestro Flow.
2. Select **Add node**, then **Document**, then **Extract**.
3. Select one of the following options from the node palette:
   * **Extract document** - Create a new node and, implicitly, a new model.
   * **In this solution** - Select an existing node from the dropdown list.
   * **Published** - Select from the dropdown list a deployed IXP model, such as a model deployed from IXP Unstructured and Complex Documents or from the **Extract** node of another flow. Each model appears as an individual node.

**Result:** The node is added to the Flow canvas, bound to the model you selected. At this point, you can connect the **Extract** node to the previous node in your flow.

## Configuring the Extract node

When you hover over an **Extract** node on the Flow canvas, a toolbar appears. You can select one of the following options to configure the node:

* **Edit** - Opens the node properties, where you configure the inputs, error handling, and advanced settings of the node. For details, check [Configuring the node in Properties](#configuring-the-node-in-properties).
* **Open full view** - Opens the **Definition** tab, where you configure the extraction model and the taxonomy of the node. For details, check [Configuring the node in Definition](#configuring-the-node-in-definition).

### Configuring the node in Properties

To configure the node in **Properties**, proceed as follows:

1. On the Flow canvas, hover over the **Extract** node.
2. In the toolbar that appears, select **Edit**.

**Result:** The node properties open in a window. The **Properties** section in the middle contains the settings that configure the **Extract** node. The **Input** panel on the left and the **Output** panel on the right are available for every node in Flow. For details, check [Input and Output panels](#input-and-output-panels).

#### Properties

The **Properties** section contains the following tabs:

* **Parameters**
* **Error handling**
* **Advanced**

![The Extract document node properties window, with the Parameters, Error handling, and Advanced tabs of the Properties section highlighted.](https://dev-assets.cms.uipath.com/assets/images/ixp/ixp-flow-extract-node-properties-b5c2dec7.webp)

##### Parameters

:::note
In case of validation errors, a number is displayed on the **Parameters** tab.
:::

To configure the fields within the **Parameters** tab, proceed as follows:

* **File input**:
  + **File** - The file to extract data from. Bind it to a file produced earlier in the flow, such as the output of a trigger or of a previous node. Use **Insert** to open the variable picker, where you can search for variables. The picker lists the outputs of the previous nodes under `$vars`, and the flow metadata, such as `FolderKey`, `InstanceId`, and `ProcessKey`, under `$metadata`.
  + **Page range** - Optionally, add the pages to process, for example `1-5`. Leave it empty to process the whole document. Use the value type `T` icon in the field to choose between:
    + **Fixed value** - Enter a value directly.
    + **Expression** - Enter a JavaScript expression with IntelliSense.

    You can also use **Insert** to add a variable.
* **Definition** - A summary of the extraction model of the node:
  + The extraction model and its version, together with the evaluation metrics. A node that has no evaluation run shows **Not yet evaluated**.
  + **Annotated docs** - The number of annotated documents out of the total number of documents.
  + **Upload** - Upload documents to annotate.
  + **Annotate** - Open the annotation view. This option is unavailable until you add fields to the taxonomy.
  + **Run evaluation** - Run an evaluation of the extraction model.
  + **Edit** - Open the **Definition** tab of the **Extract document** panel. For details, check [Configuring the node in Definition](#configuring-the-node-in-definition).
  + **Model config** - A read-only summary of the model configuration: **Extraction model**, **Extraction strategy**, **Language support**, **Layout parsing**, and **Attribution**.
  + **Taxonomy** - The number of fields in the taxonomy. If the taxonomy has no fields, select **Add fields** to open the **Definition** tab with a new field group.

##### Error handling

The **Error handling** tab contains the **Enable error handling** option. When you enable it, the node gets an error output handle that catches and handles failures, and the node output includes an `error` object with the `code`, `message`, `detail`, `category`, and `status` keys.

##### Advanced

The **Advanced** tab contains the following settings:

* **ID** - The ID of the node, for example `extractDocument2`. To change it, select the edit icon.
* **Icon color** - The color of the node icon on the canvas.
* **Update variable** - Assigns values to variables when the node runs. Select **Add variable update**, and then configure the following settings:
  + **Variable** - The variable to update. Select an existing variable, or select **Create new variable**.
  + **Expression** - The value to assign. Use **Insert** to add a variable. To reference a variable in an expression, use `$vars.{name}`.

#### Input and Output panels

The **Input** and **Output** panels are available for every node in Flow. They show data from the flow, and you do not configure the **Extract** node in them.

##### Input

The **Input** panel lists the previous nodes in the flow. You can view the input in the following formats:

* **Schema** - The output keys of each previous node and their types. For a new node, the keys have no values.
* **JSON** - The input in JSON format. For a new node, this view is empty.

##### Output

The **Output** panel shows the output of the previous run of the node, with the `version`, `type`, `result`, `taxonomy`, and `metadata` keys. If the node has not run yet, the keys have no values. You can view the output in the **Schema**, **JSON**, or **Extraction result** format.

The dropdown list selects which response the node returns:

* **Live** - The real response from the node.
* **Static mock** - A value you define, returned every time.
* **Generated** - A response that an LLM generates dynamically.

### Configuring the node in Definition

To configure the node in the **Definition** tab, proceed as follows:

1. On the Flow canvas, hover over the **Extract** node.
2. In the toolbar that appears, select **Open full view**.

**Result:** The **Extract document** panel opens the **Definition** tab.

The **Definition** tab contains the following sections:

* **Evaluation summary** - The extraction model, its version and evaluation metrics. A node that has no evaluation run shows **Not yet evaluated**. For details, check [Node health score](evaluating-model-performance.md#node-health-score). The section also contains the following options:
  + **Annotated documents** - The number of annotated documents out of the total number of documents.
  + **Upload** - Uploads documents to annotate.
  + **Annotate document** - Opens the annotation view. This option is unavailable until you add fields to the taxonomy.

* **Model configuration** - The extraction model and its advanced settings. For details, check [Model configuration](configuring-the-model.md).

* **Taxonomy** - The fields that the node extracts from each document:
  + **Overall extraction instructions** - Add context that is relevant across the whole taxonomy.
  + **Taxonomy** tab - Add and manage field groups and fields. For a new node, select **Field group** to add the first field group.
  + **Field types** tab - Add and manage the pre-configured and custom field types.
  + **Preview documents** - Open a document preview next to the taxonomy.
  + **Import/Export** - Import or export the taxonomy. For details, check [Importing and exporting taxonomies](importing-and-exporting-taxonomies.md).

  For details, check [Managing the taxonomy](managing-the-taxonomy.md).

When you change the taxonomy, make sure you select **Save**.

## Removing an Extract node

To remove an **Extract** node from a flow, proceed as follows:

1. On the Flow canvas, hover over the **Extract** node.
2. In the toolbar that appears, select the ellipsis icon.
3. Select **Delete**. Alternatively, select the **Extract** node on the Flow canvas, and press **Backspace**.

**Result:** The **Extract** node is removed from the Flow canvas.

## Related Maestro Flow documentation

* [Extract](https://docs.uipath.com/maestro/automation-cloud/latest/user-guide/node-extract) - The node reference, including how to read the extraction result, missing fields, confidence scores, and table fields.
* [Document processing](https://docs.uipath.com/maestro/automation-cloud/latest/user-guide/document-processing) - The document processing nodes available on the Flow canvas.
