Document Understanding Activities
Last updated Jul 15, 2024

Form Extractor


Note: Due to licensing purposes, the Form Extractor activity requires an Internet connection to run the robot.

The Form Extractor is best suited for extracting, matching, and reporting specific information by analyzing the word's position inside the document, or detecting a signature. This activity can be used only together with the Data Extraction Scope activity. Handwritten text can also be detected if the Form Extractor activity is used along with the UiPath Document OCR activity.


  • DisplayName - The display name of the activity.
  • ApiKey - Specifies the API key of the account. The API Key field is automatically pre-populated if defined in local project settings or in the Document Understanding framework.
  • Endpoint - The URL to UiPath server. By default, the endpoint is For more information, see Document Understanding Public Endpoints.
  • MinOverlapPercentage - Specifies the minimum overlap area (in percentage) between a box in the document and a box in the template required to make an extraction. The percentage value can be set between 0 and 100. The default value is 65.
  • Send documents - Send documents for better support, troubleshooting, and performance improvements.
  • Timeout - Specifies the amount of time (in milliseconds) to wait for a response from the server before an error is thrown. The default value is 100000 milliseconds (100 seconds).
  • Private - If selected, the values of variables and arguments are no longer logged at Verbose level.
    Note: Multiple templates can be defined for one Document Type. When the activity is run, the extractor selects the best matching template based on the information found on the first page.

The Template Manager Wizard

Allows you to create, edit, manage, and export/import templates for the document types defined in the taxonomy.

Creating a template
  1. Add a Form Extractor activity to your workflow, within a Data Extraction Scope.
  2. Configure the extractor by clicking on the Manage Templates button.
    • The Template Manager window opens.

  3. Click the Create Template button for creating a new template.


    If the UiPath.IntelligentOCR.Activities package has been updated to v5.1.0, then the ForceApplyOCR parameter has been replaced with the ApplyOcrOnPDF. Here is the compatibility between the old and new parameters:

    • ForceApplyOCR = True is being replaced by ApplyOcrOnPDF = Yes

    • ForceApplyOCR = False is being replaced by ApplyOcrOnPDF = Auto

    • ForceApplyOCR = Empty is being replaced by ApplyOcrOnPDF = Auto

    • ForceApplyOCR = <user-defined variable> is being replaced by ApplyOcrOnPDF = Auto

  4. Select the document type for your template from the Document Type dropdown list.
    Note: All Document Types are based on the Taxonomy. Make sure to add or create a taxonomy inside the project's folder.
  5. Add the name of the template in the Template name field. Choose a relevant name that reflects the version or the layout of your document.
  6. Add the document's path in the Template document field.
    • Navigate to the file's path by using the Browse button.
  7. Select an OCR from the OCR Engine dropdown list, and configure it according to its needs.
  8. Click the Configure button to trigger the template editing.

The Apply OCR on PDF option establishes if the OCR process should be applied or not to PDF documents. Three options are available in the dropdown list: True, False, and Auto.

If set to True, the OCR is applied to all PDF pages of the document. If set to False, only digitally typed text is extracted. The default value is Auto, determining if the document requires to apply the OCR algorithm depending on the input document.

Each OCR engine comes with its own set of custom options. Here you can find more details about all options available for each OCR engine. The default OCR engine is UiPath Document OCR.

If you have already created a template, then it can be edited, exported, or removed.

Delete and Export buttons become available only when at least one template is selected. The Edit and Remove options for an individual template are always available.

Configuring Boolean Field Processing

For documents that include checkboxes, you can add known synonyms for the Yes and No options, or you can start from a list compiled by us (see the Add Recommended suggestions). These values are used for Boolean content interpretation, which is mapping a captured value to a Yes or No reported value.

Note: The Case sensitive checkbox needs to be checked if the synonyms you have added are case sensitive.
Exporting and Importing Templates

You can import templates created and exported from other workflows. Use these features to share templates between projects. Once a document type is configured using the Form Extractor, you don't need to reconfigure the templates in a new implementation.

Exporting Procedure

Here are the steps you need to follow to export a template:

  1. Create one or more templates by following the steps explained at the beginning of this page.
  2. Select the templates you want to export.
  3. Select an Export option (with or without the original files) as shown in the below screenshot. Exporting with original files attaches them to the export.

  4. Save the template's archive with the desired name.
  5. A message is displayed once the template is saved. Select the OK button.


    If you cannot share the content of the documents you have built your templates on, then use the "Without Original Files" option. You are still able to share and import the template archive in other projects, but you cannot edit or view them anymore.

    If you want to edit the templates once imported in a different project, make sure to use the "With Original Files" option when exporting and then importing them.

Importing Procedure

Here are the steps you need to follow to import a template:

  1. Select the Import button.

  2. Select an archive. The import wizard appears and presents all document types and all templates available in the selected export archive. Select the templates you wish to import and choose the right Import option (with or without the original files).

    • When templates are imported, Document Types are created automatically in the project's Taxonomy. If a Document Type with the same name already exists, another one is created by appending a count to the Document Type name.
    • If you are importing templates that have been exported without the original files, or if you choose to import templates without the original files, then you have no view or edit options for those templates.
Special Situations when Importing a Template

When a template is imported, several special situations might occur. The below table explains each situation and its particularities:

Import Type

Activity Behavior

New document type

If a new document type is imported, then a new field is added in the wizard configurator, informing you that a new template is to be created.

Duplicate document type

If an identical document type is imported, then the following warning message appears:

  • This template already exists and it will be overwritten.

Extended template

If a document type template that includes extra fields than the already existing one, is imported, then the following warning message appears:

  • This document type will be updated as follows:
  • The following field(s) do not exist and will be created.

Extended document type

If the user imports a document type that includes extra fields than the already existing one, then the following warning message appears:

  • This document type will be updated as follows:
  • The following field(s) don't have configurations to import...

Document type with identical name but different content

If the user imports a document type that has the same name as the existing one but different fields, then the following warning message appears:

  • This document type will be updated as follows:
  • The following fields do not exist and will be created;
  • The following fields don't have configurations to import

Document type with missing table

If the user imports a document type that doesn't include a table, then the following warning message appears:

  • This document type will be updated as follows:
  • The following field(s) don't have configurations to import.

Document type with extended table

If the user imports a document type that includes a table with extra columns, then the following warning message appears:

  • This document will be updated as follows:
  • The following field(s) do not exist and will be created.

Document type with reduced table

If the user imports a document type that includes a table with missing columns, then the following warning message appears:

  • This document will be updated as follows:
  • The following field(s) don't have configurations to import...

Table template with different document types

If the user imports a document type template that includes a table with different document types, then a new template is created.

If your taxonomy includes a table that has a field with a different document type, then the following message appears:

  • The field with id xyz was found both in the imported taxonomy as well in the existing taxonomy but their types are incompatible (either both should be tables or neither of them).

The Template Editor Wizard

General Considerations

The Template Editor is built on top of the functionality present in the Validation station. Access it by clicking on the button of a template.

To learn about the basic usage of the Validation Station, read this section.

Besides the options available in the right part of the Validation Station screen, there are two options Template Editor specific:



Sets the anchor selection mode

Clears the whole anchor selection

When creating a new template, an explanation text appears when first opening the Template Editor. In case you want to access the text again, follow the steps below:

Table information can be modified at cell or table level. Here's more information about how to configure tables at cell level and at table level.

Configuring Anchors

Anchors can be defined once the Template Editor is opened from the Template Manager and can be found among the Selection Mode options.

When defining or editing a page-level template, although it is optional, the first thing that needs to be performed is the Page 1 Matching Info selection. This step is mandatory only for fixed form templates.

Situated on the left side of the screen, the Page 1 Matching Info selection requires a text input (tokens only are accepted) from the first page of the template that is always in the same position within that particular template layout and forms a unique graph of words (considering relative distances and angles between words) across all the templates defined for a particular document type.

In other words, the Page 1 Matching Info (and all other Page Matching Info fields) are "fingerprints" of a particular page and are extensively used in identifying the right matching template at runtime.

For this reason, for the Page 1 Matching Info field, it is strongly recommended to select 10 to 20 words, preferably longer, spread across the entire page area.

The other Page Matching Info fields (one for each template page) must be filled in only if you are attempting data extraction from that particular page, and do not require cross-template uniqueness anymore. If no fields need to be extracted from a particular page, defining the page-level matching info for that page is not mandatory.

Configuring Simple Fields

For all fields other than Tables, configuring the template consists of selecting a Custom Area and assigning it to a particular field.

For fixed form configurations, data fields can only be configured using Custom Area selections.

For a field you can define one or more such Custom Areas, using the (+) button. If two or more Custom Areas are defined for a single field, then at runtime, if the field is defined in the Taxonomy as Single Value, all values are concatenated into a single reported value. If the field is defined as Multi Value, then each value is reported individually.

The below animation shows the difference between a Tokens and a Custom Area selection:

The icon beside each field indicates the type of supported selection:


If an empty area is selected, the selection is automatically set as Custom area. If text is detected inside the selected area, you are asked to choose the type of the selection between Tokens or Custom area.

Use the Validation Station selection mode feature to lock your selection between Tokens and Custom Areas.

Configuring Tables

As mentioned above, there are fields where information can be added only by using Tokens (like the Page Matching Info fields) or only by using a Custom Area (like simple fields). For Table fields, you can:

  • define each cell one by one, once the Table Editor is expanded - by adding Custom Area selection to each cell individually, or
  • use the table markup functionality - by marking the table area, drawing row, and column separators, and then assigning the thus marked table to the field. Make sure that the extracted area has the same number of columns and rows as the template area.

Check out the animation below to learn how to use the table markup functionality:

Anchors Configuration

A distinctive method of defining the bounds of a custom area from which data is to be extracted is to use field-level anchors. These allow for targeting data extraction based on field-level configurations, thus allowing for more flexibility when defining your form extraction rules.

Consequently, at run-time, the Form Extractor knows how to:

  • identify if a page-level template matches, and extract information according to the best page-level template match it recognizes;
  • identify if any anchor-based settings match, and extract information according to their application in the document to be processed;
  • compute appropriate confidence scores for all possible matches, to be able to report the best result (highest probability match) of all available options.
Creating a New Anchor Setting
  1. Make sure you are in the Anchor Selection mode.
  2. Draw a box around the value area.
  3. Select a Label (main anchor) for your value area by either clicking the first word and then Ctrl+Click the last word of the selection, or click, drag, and then release to capture a word range.
    Note: A Label can only contain consecutive words from the same visual line.
  4. Select any additional anchors that would uniquely identify your Label. The same selection principle applies.
  5. Assign your anchor construct to the appropriate field by selecting Extract Value for that particular field.

    Note: You can also use the example from here to learn how to create a template and define extraction areas and anchors.
Edit an Existing Anchor Setting
  1. Highlight your anchor setting.
  2. Make changes to it (delete any anchors, the label, even the value area if you wish, add new elements, etc.).
  3. Use the Change Extracted Value option to update your field association.

    • If you delete the target area, all anchors get deleted and you start over.
    • If you delete the Label (main anchor), the first anchor in the order it was created becomes the new Label.
Delete an Existing Anchor Setting

To delete an anchor setting, you can:

  • use the Mark as Missing options for a saved value

  • use the Remove Value in case of a list of anchors defined for a given field

Mix and Match Configurations

You can define as many templates as you want for the same document type. You can have multiple page-level templates, multiple anchors for the same field, even templates containing both page-level as well as field-level anchors.

  • When defining field-level anchors make sure your Label is close to your value area and it is supported by additional anchors if the same text construct can be found in multiple places within the same document.
  • The lengthier your labels and anchors are, the more precision you get.
  • The value area is always computed based on its relative position against your Label (main anchor). Choose your main anchors accordingly.
  • Having field-level anchors allows fields to move within the template and still be captured, offering more flexibility in document layout changes.
Document Understanding Integration

The Form Extractor activity is part of the Document Understanding Solutions. Visit the Document Understanding Guide for more information.

Was this page helpful?

Get The Help You Need
Learning RPA - Automation Courses
UiPath Community Forum
Uipath Logo White
Trust and Security
© 2005-2024 UiPath. All rights reserved.