Skip to main content
ABBYY Vantage provides content IQ skills that allow you to turn unstructured content into structured, actionable information by means of classification and extraction, as well as processing specific document types like invoices, orders, W2 forms, and more. ABBYY Vantage Connector for UiPath allows you to incorporate ABBYY Vantage skills into your UiPath workflow.

System requirements

You will need an account with ABBYY Vantage both to configure and to run your process. ABBYY Vantage Connector for UiPath can run on the following operating systems:
  • Windows 10
  • Windows Server 2016
  • Windows Server 2019
The connector can’t run on computers with Windows Server 2012 R2, Windows 8.1, and older operating systems.
The connector for UiPath can be used with:
  • ABBYY Vantage 2.3.2 or later
  • UiPath Enterprise Edition 2023.8.0
  • Community Edition 2023.4.4 or later
The following external components must be installed:
  • Microsoft .NET Framework 4.8.1
  • Microsoft .NET 8
We recommend that you convert Windows-legacy projects to Windows compatibility, because legacy compatibility is no longer supported. For information on how to convert Windows-legacy projects to Windows, see Converting Windows-legacy projects to Windows.

Installing the Connector

ABBYY Vantage Connector for UiPath is a set of activities running on the UiPath side within the user-defined workflow. The activities are delivered as a NuGet package. To install the package:
  1. Run ABBYYVantageConnectorForUiPath.<version>.exe and follow the instructions of the Installation Wizard. During the installation, specify the connector installation folder. By default, it is set to C:\Program Files\ABBYY Vantage Connector for UiPath.
  2. In UiPath Studio, open an existing project or create a new one.
  3. On the ribbon, click Manage Packages on the Design tab: UiPath ribbon showing the Manage Packages button on the Design tab
  4. Make sure the nuget.org package source is enabled. This package source is required in order to install some dependencies for the connector package.
    If you already have a configured package source and want to use it, skip step 5.
  5. Go to the Settings tab of the Manage Packages window and create a new package source: a. Enter a name for the new package source. b. Specify the path to the folder where you intend to place the connector NuGet packages. c. Click Add to confirm the settings. UiPath ribbon showing the Manage Packages button on the Design tab The new package source is displayed in the User defined package sources area and in the left pane of the Manage Packages window. Manage Packages window showing Abbyy.UiPath.Vantage.Activities selected for installation
  6. Copy all the NuGet packages of the ABBYY Vantage Connector for UiPath from the installation folder to your package source folder. The NuGet packages are located in the UiPath Activities subfolder of the installation folder that was created in step 1 (the default location is C:\Program Files\ABBYY Vantage Connector for UiPath\UiPath Activities). After the NuGet connector packages are added to the available package source, you can install the connector package to the project dependencies.
  7. In the Manage Packages window, navigate to the All Packages section and do the following: a. Click the newly created package source category. b. Select Abbyy.UiPath.Vantage.Activities from the list of available packages and click Install. The License Acceptance window will display licensing terms for each third-party package you install. c. Click on View License to read the license terms. d. Click I Accept to agree with the license terms and install the packages. Finally, click Save. Manage Packages window showing Abbyy.UiPath.Vantage.Activities selected for installation
  8. Once installed, the Vantage activities will appear in the ABBYY Vantage section of the list of activities available for your project: Activities panel showing the ABBYY Vantage section with Vantage Scope, Use Skill, Get Results, and Map Fields activities For detailed instructions on installing packages, please refer to the UiPath Studio Guide.

Converting Windows-legacy projects to Windows

We recommend that you convert Windows-legacy projects to Windows.
To convert the project to the Windows compatibility, you need to upgrade the version of the ABBYY Vantage Connector for UiPath. To do this, perform all steps from the section Installing the Connector except step 5.
The default compatibility for new projects is now Windows compatibility. To convert Windows-legacy projects to Windows compatibility, you should perform the following procedure for each Windows-legacy compatibility project:
  1. In UiPath Studio, open the Windows-legacy project.
  2. Click the Convert to Windows link in the message that appears under the ribbon.
UiPath ribbon with Convert to Windows banner, and the Convert to Windows dialog box The Convert to Windows dialog box will open. UiPath ribbon with Convert to Windows banner, and the Convert to Windows dialog box
  1. Specify how the Windows-legacy project will be converted to Windows:
    • To create a copy of the current project using Windows compatibility and keep the original Windows-legacy project, select Create a new project. Enter the name of the project, its desired location, and optionally a description for the new project.
    • To update the existing project and convert it to Windows compatibility, deselect the Create a new project option. If you deselect this option, it will not be possible to undo the changes that will be made to the project.
  2. Click Convert. For more information about converting Windows-legacy projects to Windows compatibility, refer to UiPath Studio Guide.

Using ABBYY Vantage activities in UiPath workflow

The ABBYY Vantage Connector for UiPath lets your workflow send document images to ABBYY Vantage and process it using an available skill. To view the available skills, create your own skills, or modify existing skills, use the ABBYY Vantage Skill Catalog or ABBYY Vantage Skill Designer. Refer to ABBYY Vantage Skill Designer Guide for more information on setting up skills. The ABBYY Vantage Connector for UiPath delivers the following activities for working with ABBYY Vantage: To add an activity to the UiPath process, drag the activity from the UiPath Studio Activities panel to the Designer panel. After the activity has been added to the process, you will need to fill in the fields in the Properties panel. You can fill in some of the properties in the Designer panel as well. For more details about the properties of the activities, see the sections below. The ABBYY Vantage Connector for UiPath is shipped with a sample process that demonstrates how you can use ABBYY Vantage activities in your workflow. For more information, see the Sample process for ABBYY Vantage activities.

Vantage Scope Activity

The Vantage Scope activity passes ABBYY Vantage connection settings to other Vantage activities. It is also a container for other Vantage activities. All other ABBYY Vantage activities must be placed inside the Vantage Scope activity.
The Vantage Scope activity allows to configure authentication using Resource Owner Password Credentials Flow and Client Credentials Flow. If you set up an External Identity Provider in Vantage, the only authentication flow that will work is the Client Credentials Flow.

Activity properties

GroupPropertyTypeDescription
Connection SettingsAuthorization grant typeIEnumerable<AuthorizationGrantType>The grant type that is used for authorization: ResourceOwnerPassword or ClientCredentials
Connection SettingsPasswordStringThe password used to connect to ABBYY Vantage.
Connection SettingsSecure PasswordSecureStringThe secure password used to connect to ABBYY Vantage.
Connection SettingsServer URLStringThe ABBYY Vantage server address.
Connection SettingsTenantStringThe ABBYY Vantage tenant name or tenant identifier. Important! This property is only required if the user whose credentials are used to connect to the ABBYY Vantage server is registered in several (more than one) tenants on the server. The tenant name can be found on the Vantage sign-in page in your browser when entering the password.
Connection SettingsUsernameStringThe user e-mail address used to connect to ABBYY Vantage.
Proxy Settings (optional)Enable ProxyBooleanAllows you to use a proxy server to route HTTP requests.
Proxy Settings (optional)Server URLStringThe proxy server address (e.g. http://127.0.0.1:8080).
Proxy Settings (optional)UsernameStringThe username used to connect to the proxy server.
Proxy Settings (optional)PasswordStringThe password used to connect to the proxy server.
Proxy Settings (optional)Secure PasswordSecureStringThe secure password used to connect to the proxy server.
Vantage Public API Client settings (optional)Client IdStringVantage application identifier.
Vantage Public API Client settings (optional)Client SecretStringSecure Vantage application key.
Vantage Public API Client settings (optional)Secure Client SecretSecureStringSecure Vantage application key as a secured string.
Vantage user password, proxy password and Client Secret in the client settings can be set in the Scope Activity either in a string parameter or in the corresponding parameter with the SecureString type. A password of type String is stored as plain text in the XAML project file and it is not safe. A String password is recommended for use only when configuring the Use Skill and Map Fields activities for obtaining a list of skills, or for debugging your UiPath process. Once the process is fully configured:
  • If you use Resource Owner Password Credentials Flow, remove the Password property from the Vantage Scope activity and set up the Secure Password property.
  • If you use Client Credentials Flow, remove the Client Secret property from the Vantage Scope activity and set up the Secure Client Secret property.
We recommend using UiPath Orchestrator assets to securely store your credentials. In this case, the password can be obtained from Orchestrator by means of the Get Credential activity and passed to the Vantage Scope activity via a variable. For more details about the Get Credential activity, please refer to the official UiPath guides.
The same type of password must be used for Connection Settings, Proxy Settings and for Client Settings.
When you create a client in ABBYY Vantage, configure the following in the OAuth 2.0 Flows Settings section of the client settings, depending on the grant type you use:
  • Resource Owner Password Credentials Flow:
    • Enable the Allow Resource Owner Password Credentials Flow option.
  • Client Credentials Flow:
    • Enable the Allow issuing refresh tokens to refresh access tokens option.
    • Enable the Allow client credentials flow option.
    • Select the required roles with which the application will log in to Vantage by clicking the Manage Roles setting.
    If you need to select from the list one or more roles associated with skills, also select the allowed skills for these roles.
Fields to be filled for the Resource Owner Password Credentials Flow: Vantage Scope activity fields for Resource Owner Password Credentials Flow
If all the properties in the Vantage Public API Client settings are empty, then the default ABBYY Vantage client is used.
Fields to be filled for the Client Credentials Flow: Vantage Scope activity fields for Client Credentials Flow

Proxy Settings

You can configure connector requests at runtime to go through a proxy server. The following proxy authentication types are supported: Basic, NTLM, IP authentication, and transparent proxy. To use a proxy, select the Vantage Scope activity. In the Proxy Settings (optional) properties group, set the value of the Enable Proxy property to "true" and then specify the address of your proxy server in the Server URL property. If you are using Basic authentication, in the Username and Password / Secure Password properties, specify the proxy connection credentials. If you are using NTLM authentication, the Username and Password fields are optional. If the Username and Password fields are empty, the credentials of the user under which the UiPath process is running will be used.

Use Skill Activity

The Use Skill activity creates a transaction for processing a document by means of an ABBYY Vantage skill. A unique identifier of the transaction is then returned as the Transaction Id output property.

Activity properties

GroupPropertyTypeDescription
Connection SettingsSkill NameStringThe name of the Vantage skill.
InputInput FilesIReadOnlyDictionary<String,InputFile>A Dictionary collection, where String is the name of the file and InputFile is the class describing the input file. Note: Before adding files to the dictionary, it is necessary to ensure that non-repeating values are passed to the String parameter. You cannot add more than one file to the Input Files dictionary for which the same name will be passed in the String parameter.
InputTransaction Registration ParametersIReadOnlyDictionary<String,String>A Dictionary collection of transaction registration parameters to pass the key and value of each parameter.
OutputTransaction IdGuidThe identifier of the created transaction. This ID is then used as the Transaction Id input property of the Get Results activity to get the status of the transaction and the processing results.
InputFile class properties:
NameTypeDescription
fileStreamStreamThe contents of the file that will be passed to ABBYY Vantage. It is possible to pass the stream of the file on a local disk as a value of this property (e.g. System.IO.File.OpenRead("D:\images\Invoice1.pdf")).
index (optional)IntegerThe index number of the file in the transaction.
fileRegistrationParameters (optional)IReadOnlyDictionary<String,String>A Dictionary collection of file registration parameters to pass the key and value of each parameter.
The Use Skill activity can only be used inside a configured Vantage Scope activity.
When setting up the Use Skill activity, do the following depending on the authentication flow you use:
  • Resource Owner Password Credentials Flow — Specify the Password property of the Vantage Scope activity to obtain a list of available skills. Once you have configured your UiPath workflow, consider changing the Password property to Secure Password.
  • Client Credentials Flow — Specify the Client Secret property of the Vantage Scope activity to obtain a list of available skills. Once you have configured your UiPath workflow, consider changing the Client Secret property to Secure Client Secret.
For more details, see the Vantage Scope Activity section. Vantage Scope activity UI Click the button to the right of the drop-down list under Skill Name to get a list of skills. Then expand the Skill Name drop-down list and select the skill that you intend to use for document processing.
We recommend reducing the file size of big files to 30 MB or less to speed up document processing.
In the Skill Name parameter of the Use Skill activity, you can use a UiPath variable with String type to store the name of the skill. When selecting a skill via the drop-down list of the activity on the design panel, the newly selected skill will be written to the specified variable. You can store the name of the skill directly in the variable. Expressions or references to other variables in the value of the variable are currently not supported.

Get Results Activity

The Get Results activity is used to retrieve the processing results from ABBYY Vantage.

Activity properties

GroupPropertyTypeDescription
InputTransaction IdGuidThe identifier of the transaction. Pass to this property the value obtained as the output Transaction Id property of the Use Skill activity.
InputDelete TransactionBooleanSpecifies whether the completed transaction should be deleted, whether successful or not. The default value is FALSE, which means that the transaction is not deleted.
OutputDocument ResultsIEnumerable<DocumentResult>A collection of result documents after processing.
OutputReview LinkStringA link to the ABBYY Vantage Manual Review Client, where the transaction results can be reviewed (this link can be obtained only if the Process skill used contains a Review activity).
OutputTransaction StatusTransactionStatusThe status of the transaction. The following statuses are possible: "New", "Processing", "Review", "Processed". Based on the status received, you can configure your UiPath process to run a different logic. For example, if the transaction has the "Processing" status, wait a few seconds and call the activity again.
When using a Classification skill, Document skill, and OCR skill, all transaction input files will be assembled into one document. When using a Process skill, multiple result documents can be obtained. By default, in the Process skill, a separate document is created in ABBYY Vantage for each input file added to the transaction. Documents can be of different classes, but they will all be processed within one transaction. You can also set your own document assembly settings using the Assemble Activity in the Process skill. Thus, each transaction document will have its own processing results. The Document Results output parameter of the Get Results activity receives the results of processing all the documents of the transaction as a collection of instances of the DocumentResult class. DocumentResult class properties:
NameTypeDescription
DocumentIdStringThe identifier of the document.
ClassificationConfidencesIEnumerable<ClassificationConfidence>A collection of classification confidence values. A list of all the classes available in the Classification skill applied to the document, together with their classification confidence values.
ClassNameStringThe document class based on the classification results.
ExtractedDataStringA JSON string containing the extracted data. Note: For a Process skill, the property can be obtained if the Values, metadata, and field structure for each document option is enabled in the Output Activity.
IsClassificationConfidentBooleanThe resulting class is deemed to have been determined with confidence if this value is TRUE.
ResultFilesIReadOnlyDictionary<String,Stream>A collection of result files after processing.
DocumentFullTextStringThe full-text layer of a document that has been captured by ABBYY Vantage. Note: If the skill configuration does not contain a full text export setting, this property will contain the following default value: TXT export was not configured in the ABBYY Vantage skill settings. Please enable TXT export in the skill that you have selected. TXT export is only available for OCR or Processing skills.
All listed parameters are collected in a separate DocumentResult in the Document Results collection. Even if there is only one output document, its output parameters will be available from the first DocumentResult in Document Results collection.
ClassificationConfidence class properties:
NameTypeDescription
ClassNameStringVantage document class.
ConfidenceIntThe degree of confidence that the document belongs to this class. Possible values range from 0 to 100.
The Get Results activity can only be used inside a configured Vantage Scope activity.
If transaction processing is completed successfully (i.e. Transaction Status = "Processed"), the results will be saved in the output properties. If the transaction is still being processed (i.e. Transaction Status = "New" / "Processing"), wait a few seconds and call the Get Results activity again. A special case, where Transaction Status = "Review", is described below. The results that the Get Results activity may obtain will vary depending on the skill applied to the document:
  • Classification skill (e.g. Vantage Classifier):
    • Transaction Status
    • Document Results (for each DocumentResult): DocumentId, ClassificationConfidences, ClassName, IsClassificationConfident, ResultFiles (JSON file containing classification results data)
  • Document skill (e.g. Invoice US):
    • Transaction Status
    • Document Results (for each DocumentResult): DocumentId, ExtractedData, ResultFiles (the results will be contained in two JSON files — the first contains all document data, the second contains the values of the extracted fields and rule errors, ending with _fields.json)
  • OCR skill:
    • Transaction Status
    • Document Results (for each DocumentResult): DocumentId, ResultFiles (those files will be received the export to which is configured in the OCR skill), DocumentFullText (if export to TXT is enabled in the skill)
  • Process skill: If a Process skill comprises a Classify activity and an Extract activity, the above results will be obtained for both a Classification skill and a Document skill. If a Process skill comprises multiple Classify or Extract activities, the results will be obtained for the last activities of a particular type. If a Process skill comprises multiple Classify or Extract activities, the results will be obtained for the last activities of a particular type. If the PDF option is enabled in the Exported Data Settings dialog of an Output activity of a Process skill, the results will contain the JSON file with the extraction results and the document image exported to a PDF file together with a text layer. For each transaction document, the DocumentFullText parameter will be received if export to TXT is enabled in the skill. A Process skill can also contain a Review activity. When using such a skill for document processing, processing can be suspended if the document requires manual review. In this case, the Get Results activity will obtain the following results:
    • Transaction Status = "Review"
    • Review Link
    Once the manual review and transaction processing are completed, you can obtain the above results by calling the Get Results activity again.
Transaction processing may fail for a number of reasons (for example, an input file may be corrupted or an input file format may not be supported by ABBYY Vantage). If this is the case, the Get Results activity will throw an exception.

Map Fields Activity

The Map Fields activity is used to save extracted field values to UiPath variables. You can map ABBYY Vantage fields to UiPath variables in the Designer panel.

Activity properties

GroupPropertyTypeDescription
Connection SettingsSkill NameStringThe name of the Vantage Document skill.
InputExtracted DataStringAccepts a JSON string containing the extracted data. Pass to this property the value of the ExtractedData property of the particular DocumentResult received in the Get Results activity. To pass values between the properties, use UiPath variables.
The Map Fields activity can only be used inside a configured Vantage Scope activity.
When setting up the Map Fields activity, do the following depending on the authentication flow you use:
  • Resource Owner Password Credentials Flow — Specify the Password property of the Vantage Scope activity to obtain a list of available skills. Once you have configured your UiPath workflow, consider changing the Password property to Secure Password.
  • Client Credentials Flow — Specify the Client Secret property of the Vantage Scope activity to obtain a list of available skills. Once you have configured your UiPath workflow, consider changing the Client Secret property to Secure Client Secret.
For more details, see the Vantage Scope Activity section.
At runtime, the Extracted Data property of the Map Fields activity must receive the value of the ExtractedData property of the particular DocumentResult received in the Get Results activity containing the data extracted by the Document skill for which the Map Fields activity has been configured. After receiving the extracted data, check if the name of the Document skill applied to the document is the same as the name of the Document skill for which the Map Fields activity has been configured, and if yes, pass the extracted data to Map Fields. To obtain the document type, you may use the output ClassName property of the particular DocumentResult received in the Get Results activity. To get the document type to this parameter, in the Extract activity of the Process skill, configure the mapping of the class with the Document skill that has to be used for document processing. When mapping, it is necessary to adhere to the condition that the class name is equal to the name of the selected Document skill.
To map ABBYY Vantage fields to UiPath variables, complete the following steps:
  1. Open the Map Fields activity in the Designer panel and click the button to the right of drop-down list under Skill Name to get a list of available skills.
  2. Expand the Skill Name drop-down list and select the Document skill whose extracted field values must be saved to UiPath variables.
    You can only choose a Document skill.
  3. Click the Refresh button. A field tree will be displayed in the Vantage Extracted Field column.
  4. Expand the tree and click the Plus button next to a field that you want to map. In the UiPath Variable column, a UiPath variable name and type will appear. By default, the name of the variable will be the same as the name of the Vantage field, but you can change this name if required.
    Ensure that the UiPath variable names specified in the Map Fields activity match the Variables Naming Convention configured in your UiPath process. If variable names do not follow the naming rules, they will be displayed with a warning symbol in the UiPath variable list. For more about Variables Naming Convention, see the UiPath documentation.
    Map Fields activity showing the Vantage Extracted Field tree and UiPath Variable column
  5. Repeat the previous step for all other fields that you need to map. When setting up mapping, you can specify already existing UiPath variables. In this case, make sure that the type of your variables matches the one recommended in the table below.
  6. After you have mapped your document fields to UiPath variables, click Apply to save the changes. Now when the Map Fields activity is called at runtime, variable values will be filled in with extracted data.
The specified UiPath variables will be created in the closest to the Map Fields activity Sequence (for example, in Flowchart).
In the Skill Name parameter of the Map Fields activity, you can use a UiPath variable with String type to store the name of the skill. When selecting a skill via the drop-down list of the activity on the design panel, the newly selected skill will be written to the specified variable. You can store the name of the skill directly in the variable. Expressions or references to other variables in the value of the variable are currently not supported. The table below shows what type of UiPath variable corresponds to each ABBYY Vantage field type:
ABBYY Vantage Field TypeUiPath Variable Type
TextString
DateString
NumberString
MoneyString
BarcodeString
CheckmarkBoolean
Checkmark group (can be obtained as separated checkmarks)FieldList
GroupFieldList
Group (for repeatable groups)FieldList[]
TableFieldList[]
Table columns as well as repeating fields will be mapped to UiPath variables of type String[]. All repeating fields and fields that are part of a repeatable group (or any other repeating fields and repeatable groups within repeatable groups) will be mapped to UiPath variables of type FieldList[]. It is also possible to map child objects of this group into variables of other simple types.
Map Fields activity showing the Vantage Extracted Field tree and UiPath Variable column GroupItem class properties: GroupItem is a structure containing one instance of some repeating object (field or group of fields).
Method/PropertyParameterTypeDescription
KeysIEnumerable<string>Key values. Each value is the name of a specific nesting level.
ValuesIEnumerable<IReadOnlyList<FieldList>>Set of field values of nesting levels.
CountIntegerNumber of nested fields.
ContainsKeyKey: StringBooleanSpecifies if a nested field exists.
TryGetValueKey: String, Value: IReadOnlyList<FieldList>BooleanSpecifies if a value exists. If there is a value, returns True and the value, otherwise returns False.
this[]Name: StringIReadOnlyList<FieldList>Returns the value of the specified nested field.
FindName: StringIEnumerable<FieldList>Finds all nested fields of any nesting level with the specified name.
FilterPredicate: (Name: String, Node: FieldList) => BooleanIEnumerable<FieldList>Finds all nested fields of any nesting level that satisfy the predicate.
DescendentsNameItems: Params String[]IEnumerable<FieldList>Finds all nested fields of any nesting level whose name matches the nameItems parameter.
FieldList class properties: FieldList is a structure that corresponds to a field or group of fields (repeating fields or repeating groups with the same name) and contains the values (multiple instances possible) of the fields or groups.
Method/PropertyParameterTypeDescription
ValuesIEnumerable<Object>Set of scalar field values.
CountIntegerNumber of nested GroupItems.
FindName: StringIEnumerable<FieldList>Finds all nested fields of any nesting level with the specified name.
FilterPredicate: (Name: String, Node: FieldList) => BooleanIEnumerable<FieldList>Finds all nested fields of any nesting level that satisfy the predicate.
this[]Num: IntegerGroupItemReturns the GroupItem with nested fields (if any) at the number of the num parameter.
The Sample Process provides an example of using a variable with the FieldList[] type (the Description column of the LineItems table is displayed in the log messages).

Next Steps

Check out the sample process included in the UiPath connector or view the release notes.