Legal Contracts Data Extraction with UiPath Document Understanding

At UiPath, we strive to make our user’s lives better by expanding our AI enhanced document processing capabilities. Our vision is to create an end-to-end document processing platform that can cater to any and every document type – structured, semi-structured and unstructured. Today, we are excited to announce the release of our legal contract data extraction capability. Legal contracts data extraction capability is a big step towards a generic unstructured document processing capability.

This new capability gives your UiPath Robots the ability to read legal contracts and extract information from it, helping streamline your automations around contracts and particularly contract review. The model highlights important features of a contract that are important for a human to review and understand. UiPath Document Understanding team is confident that this model will serve our users well in their contracts review needs.

All the details that you will need to get started, including an overview of the functionality, how it works, and how to install and use, are included below. Let us dive in!

Why Legal Contracts?
Contracts constitute the cornerstone of a multi-party transaction. Such contracts are typically written and reviewed by legal firms but impact the business efficiency of all parties involved. Many legal firms spend majority of their time reviewing legal contracts (CEB, 2017). Effective understanding of legal contracts is essential for efficiency, streamlining services and reducing exposure to huge legal risks and loopholes. While many out-of-the-box solutions exist for entity extraction from legal contracts, very few solutions can understand a contract and perform clause extraction. Legal contracts are particularly notorious for containing only a few important clauses but having them spread over several hundred pages of a document. The capability to be able to review such contracts automatically by Machine Learning will offer UiPath customers immense value. With this new release, we are hoping to help our users extract meaningful data from legal clauses without any heavy lifting.

What is new with this offering?

While the existing document understanding Machine Learning offerings extend to all semi-structured documents (receipts, invoices, purchase orders, utility bills etc.), this model is targeted towards unstructured documents and particularly, legal contracts. In this preview release, we are providing this model for use to our customers as a standalone model endpoint. Some important details about this release:

  • Model endpoints (Please make sure that you connect to the correct endpoint according to server region):

West Europe:
United States:

  • Current offering is in preview; only for cloud and the model is non-retrainable. Hence, this model as of now cannot be customized or retrained by users
  • Current offering only supports English language documents
  • Any user can use this model with existing or new UiPath document understanding key – either enterprise or community. Given the page limitations with community license, we strongly suggest trying with enterprise trial (available for free to everyone) or enterprise licenses, as contracts are tediously long documents

How to use Contract Review Machine Learning model?

If you have never used UiPath Document Understanding product, please review our documentation: UiPath Document Understanding. Follow these steps to use the contract review model:

  1. If you haven’t yet defined a taxonomy for the documents you intend to process, you can do so using the Taxonomy Manager

  2. Drag in the Load Taxonomy activity and store the taxonomy in a variable

  3. Drag in the Digitize Document activity

  4. Drag-and-drop an OCR Engine inside the Digitize Document activity

  5. Define variables for both outputs: DocumentObjectModel and DocumentText

  6. Drag in the Data Extraction Scope activity. For full description of this activity and extractor, checkout the documentation

  7. Populate input variables DocumentObjectModel, DocumentText, Taxonomy and DocumentTypeId. The DocumentTypeId is a string you can see in TaxonomyManager if you click on the Document Type you need to extract.

  8. Define variable for output: ExtractionResults

  9. Drag in Machine Learning Extractor and drop it inside the Data Extraction Scope. The next two steps describe how to configure this extractor but if you have never used it in the past, please make sure to review the Machine Learning Extractor documentation regarding its proper usage

  10. Populate Endpoint input property with the URL of the model endpoint. Choose the endpoint from the list provided above, based on your region. For example, for West Europe choose this endpoint:

  11. Click the “Configure Extractors” link within the Data Extraction Scope activity

  12. Expand the Document Type you are interested in and populate, on the right side column, the names of the fields which correspond to the fields in your taxonomy. To see the full list of fields in the drop down, use the “Get Capabilities” functionality. This functionality can be viewed either clicking on the gear icon (available by clicking on “Configure Extractors” and then clicking on the gear icon under “Machine Learning) or when you first dragged and dropped the extractor. The model supports extraction of 40 clauses. Please look at the table below for the list of fields supported by contracts model and their interpretation:

Output Variable Description
Document_Name The name of the contract
Parties The two or more parties who signed the contract
Agreement_Date The date of the contract
Effective_Date The date when the contract is effective
Expiration_Date On what date will the contract’s initial term expire?
Renewal_Term What is the renewal term after the initial term expires? This includes automatic extensions and unilateral extensions with prior notice.
Notice_Period_to_Terminate_Renewal What is the notice period required to terminate renewal?
Governing_Law Which state/country’s law governs the interpretation of the contract?
Most_Favored_Nation Is there a clause that if a third party gets better terms on the licensing or sale of technology/goods/services described in the contract, the buyer of such technology/goods/services under the contract shall be entitled to those better terms?
Non-Compete Is there a restriction on the ability of a party to compete with the counterparty or operate in a certain geography or business or technology sector?
Exclusivity Is there an exclusive dealing commitment with the counterparty? This includes a commitment to procure all “requirements” from one party of certain technology, goods, or services or a prohibition on licensing or selling technology, goods or services to third parties, or a prohibition on collaborating or working with other parties), whether during the contract or after the contract ends (or both).
No-Solicit_of_Customers Is a party restricted from contracting or soliciting customers or partners of the counterparty, whether during the contract or after the contract ends (or both)?
Competitive_Restriction_Exception This category includes the exceptions or carveouts to Non-Compete, Exclusivity and No-Solicit of Customers above.
No-Solicit_of_Employees Is there a restriction on a party’s soliciting or hiring employees and/or contractors from the counterparty, whether during the contract or after the contract ends (or both)?
Non-Disparagement Is there a requirement on a party not to disparage the counterparty?
Termination_for_Convenience Can a party terminate this contract without cause (solely by giving a notice and allowing a waiting period to expire)?
RofrRofoRofn Is there a clause granting one party a right of first refusal, right of first offer or right of first negotiation to purchase, license, market, or distribute equity interest, technology, assets, products or services?
Change_of_Control Does one party have the right to terminate or is consent or notice required of the counterparty if such party undergoes a change of control, such as a merger, stock sale, transfer of all or substantially all of its assets or business, or assignment by operation of law?
Anti-Assignment Is consent or notice required of a party if the contract is assigned to a third party?
RevenueProfit_Sharing Is one party required to share revenue or profit with the counterparty for any technology, goods, or services?
Price_Restrictions Is there a restriction on the ability of a party to raise or reduce prices of technology, goods, or services provided?
Minimum_Commitment Is there a minimum order size or minimum amount or units per-time period that one party must buy from the counterparty under the contract?
Volume_Restriction Is there a fee increase or consent requirement, etc. if one party’s use of the product/services exceeds certain threshold?
IP_Ownership_Assignment Does intellectual property created by one party become the property of the counterparty, either per the terms of the contract or upon the occurrence of certain events?
Joint_IP_Ownership Is there any clause providing for joint or shared ownership of intellectual property between the parties to the contract?
License_Grant Does the contract contain a license granted by one party to its counterparty?
Non-Transferable_License Does the contract limit the ability of a party to transfer the license being granted to a third party?
Affiliate_License-Licensor Does the contract contain a license grant by affiliates of the licensor or that includes intellectual property of affiliates of the licensor?
Affiliate_License-Licensee Does the contract contain a license grant to a licensee (incl. sublicensor) and the affiliates of such licensee/sublicensor?
UnlimitedAll-You-Can-Eat-License Is there a clause granting one party an “enterprise,” “all you can eat” or unlimited usage license?
Irrevocable_or_Perpetual_License Does the contract contain a license grant that is irrevocable or perpetual?
Source_Code_Escrow Is one party required to deposit its source code into escrow with a third party, which can be released to the counterparty upon the occurrence of certain events (bankruptcy, insolvency, etc.)?
Post-Termination_Services Is a party subject to obligations after the termination or expiration of a contract, including any post-termination transition, payment, transfer of IP, wind-down, last-buy, or similar commitments?
Audit_Rights Does a party have the right to audit the books, records, or physical locations of the counterparty to ensure compliance with the contract?
Uncapped_Liability Is a party’s liability uncapped upon the breach of its obligation in the contract? This also includes uncap liability for a particular type of breach such as IP infringement or breach of confidentiality obligation.
Cap_on_Liability Does the contract include a cap on liability upon the breach of a party’s obligation? This includes time limitation for the counterparty to bring claims or maximum amount for recovery.
Liquidated_Damages Does the contract contain a clause that would award either party liquidated damages for breach or a fee upon the termination of a contract (termination fee)?
Warranty_Duration What is the duration of any warranty against defects or errors in technology, products, or services provided under the contract?
Insurance Is there a requirement for insurance that must be maintained by one party for the benefit of the counterparty?
Covenant_Not_to_Sue Is a party restricted from contesting the validity of the counterparty’s ownership of intellectual property or otherwise bringing a claim against the counterparty for matters unrelated to the contract?
Third_Party_Beneficiary Is there a non-contracting party who is a beneficiary to some or all of the clauses in the contract and therefore can enforce its rights against a contracting party?
  1. Add “Present Validation Station” activity to view the extracted results in validation station. Configure the activity per the documentation
    Now, you have a workflow ready to process legal contracts using the contracts model provided by UiPath Document Understanding team. Please provide feedback below, so we know how to make this capability even better.

Want to give this a try in under a minute - download the attached workflow with sample documents, add your keys and run it! (135.6 KB)


Thank you . very useful information …

1 Like

I can’t wait try use this! Thank you!

1 Like

This is awesome. :slight_smile:

1 Like

do you have any plan, to release the features for contract in bahasa?

Is there any valid new endpoint urls for legal contracts @Tarun_Singh?. I guess this works on multipage documents as most of the legal contracts are multipage. Could you please confirm?

Hi @Tarun_Singh I’m trying to use the Exctarctor but I just can get 20 up to the 41 available features in my extractor… Am I doing something wrong?

Thanks in advance, I really had good results in tests I’ve done so far


It means your ML extractor is not up to date, you can get capabilities in the “settings” icon you see above and get capabilities through the endpoint ML skill and retry again.

Thanks Sharon,

I’ve already tried


But still I have the same 20 fts

Okay. Couple of more things to check then.

  • Can you check if your ML skill is set to auto update?
  • Have you run an evaluation pipeline to check if said fields get extracted?
  • If both above is true and you’re still not getting it you can delete the machine learning extractor, add it again and get capabilities.

I understand it’s and existing and non-retrainable model we can just use through Enpoint so, I don’t have any ML skill attached nor a pipeline in this case. Am I not right?

I mean, I cannot use ML skill if I use an Endpoint

And yes, I also tried by removing and re-configuring the Extractor from scratch.

Correct, you can only use either ML skill or endpoint in your machine learning extractor.

The field might not be getting updated because the AI center component is not updating.

So you need to go to AI center and check on ML skill and open it, you will see “modify current deployment” click that and you should see the following


make sure you have enabled “Make ML skill public” & “Enable Auto Update”

this will be the update factor which updates your ML skill/Endpoint in studio.

Please let me know if these work.

Hi @Tarun_Singh, thanks for this. Would like to ask what can be the workaround in case there’s an error in the server response?

On my case, I wasn’t able to run the demo file completely since there’s an error in the Data extraction scope specifically from the ML extractor.

Thanks in advance.