Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

Custom Provision Models

Provision models are available from built-in libraries. Syncing the Provision Library to the publisher (AI provider) makes these provision models available for data extraction mapping. However, if your contract's provisions do not conform to any of these pre-configured provision model types, you can name, build, populate, and train the AI on your own custom provision models.

Before You Begin

Custom provision models are a powerful approach to extracting data from contracts and supporting documents. Getting the most out of this feature requires familiarizing yourself with the underlying objects that Discovery AI can extract. All provision models must have a unique name and a defined data type. Available data types are: Date, Organization, Currency, Duration, Number, Percent, Picklist, Short Text, Multi Picklist, Text, Table, and Obligation. These describe CLM data fields to which Discovery AI must assign passages extracted from contracts and supporting documents. Your ability to define custom provision models depends on these data types being defined clearly in CLM.

Adding a Custom Provision Model

  • Administrator permissions
  • At least two exemplary passages to give to the AI to train itself
Successive generations of Conga Discovery AI have reduced the resources required to train an AI to recognize and extract values from documents. Generative AI reduces the training requirement to zero. The administrator configures the generative AI search with at least two examples. Once the examples are added and the provision model is saved and mapped to a worksheet, no additional user training input is expected: the provision model extracts from imported documents automatically.
CAUTION:

When the user reviews clauses from an extracted document, the on-screen highlight may not match information gathered correctly by the AI-generated provision model. This issue affects only clauses, not fields. It is scheduled for repair.

Alert reviewers to this issue.

  1. From the Conga Start window, click Admin Console > Discovery AI > CCI Admin Dashboard to raise the Discovery AI Admin Home page.
  2. From the Admin Dashboard (Admin Home), click the Provision Library tab in the left navigation bar to open the Provision Library.
  3. Review the existing provision models carefully to ensure that the one you want isn't already provided. Entering key terms in the Search & Filter field at right is a good way to shorten the list of provision models to review.
  4. If the provision model you want isn't available, click the NEW PROVISION button to raise the New Provision window.
  5. Enter the new provision model's name (Latin and non-Latin character sets are supported) and select the annotation data type.
    Further choices depend on the data type selection. From the available choices (Date, Organization, Currency, Duration, Number, Percent, Picklist, Short Text, Multi Picklist, Text, Table, and Obligation), Picklist, Multi Picklist, Table, and Obligation offer different settings.
    1. For all provision model types except Picklist, Multi Picklist, Table, and Obligation, select the language, maximum extractions to display for review, and enter a description of the provision model. Latin, numeric, and non-Latin characters are allowed. Duplicate provision model names are also allowed.
      Note:
      • The Language field offers a pull-down menu with supported languages (English, German, Spanish, French, Romanian) and "Other Latin Language". This field describes the anticipated language of the contracts to be extracted. The Other Latin Languages option supports languages that use a Latin-based alphabet, but on which the AI has not yet trained. Results are not guaranteed.

      • Enter clear, natural, space-separated names in the Name field, which prompts the generative AI model in the background.

        Do:

        Effective Date

        Don't:

        Effective_Date1

        E.Date.Custom

      • The Description field conveys the provision's meaning to the generative AI model. In this field, provide clear phrases that describe what is to be extracted from the document. For example, the description offered to extract the effective date only if it is mentioned might be: "The date on which agreement becomes effective". If you also consider the contract date as the effective date, the description might be: "The date on which the agreement becomes effective or is entered into."

      CAUTION:

      The Active toggle is on by default. When you have completed your definition, the provision model will be active unless you switch it off.

    2. For Picklist data types, in addition to the language, and maximum extractions to display for review, you must select the data type (Date, Organization, Currency, Duration, Number, Percent, Short Text, or Text) and enter comma-separated values in the Add values for picklist field.
    3. For Table data types, select a pre-configured table from the Choose Table pull-down menu. You cannot adjust the maximum extraction count. Continue the procedure described in Adding a Custom Table Extraction Provision Model.
    4. For Obligation data types, select a pre-configured obligation type from the Obligation Type pull-down menu.
      Note: For more on obligation configuration from CLM, see Creating an Obligation.
    5. Click NEXT.
  6. The Provision Example window offers a Special Instructions field and prompts you to add two new examples.
    1. You can enter special instructions to the AI engine in the Special Instructions field. Add any instructions you think will help the AI find the provision you are looking for (search and recognition cues).
      See Special Instruction Prompts for some examples of useful prompts.
    2. Click ADD EXAMPLE. For Obligation provision models, this is ADD FIELDS.
  7. Any available examples are displayed in the resulting New Provision window. If there are none, click NEW to add an example.
    1. In the Add Example pop-up, enter (or paste in) the paragraph text you will extract and the data you want to extract, or, for field values (not clauses), you can select the Image option to upload a graphical example (such as a signature, exhibit, or table). For images, you can drag and drop from the desktop or browse to upload the example. You can use the image import option to extract a field value from a table if you import the specific page and provide instructions on which field value to extract.
      Tip:
      • For fields, enter the sentence, paragraph, or clause where the field is usually found in the Paragraph Text field, then enter the example field data in the Data to Extract field.

        For example: This agreement is entered into on 1/1/2024 by and between ABC Inc., a Delaware company, and XYZ LLC, headquartered in San Jose.

        In this example, enter 1/1/2024 in the Data to Extract field.

      • For clauses, enter a sentence, paragraph, or clause in the Paragraph Text field that is similar to or exactly the clause to be extracted. For example: No Party shall be liable or responsible to the other Party, nor be deemed to have defaulted under or breached this Agreement when delay is caused by or results from acts of God.

        In this example, enter the same clause information in the Data to Extract field, as the extraction involves the entire clause or paragraph.

      • For images, use JPG or PNG format. Images are limited to 500 KB.
    2. Click Add another example and repeat the preceding substep with another example. You must provide at least two examples for the AI to work. For fields, you can provide up to five image and ten text examples. For clauses, you can provide up to five images and five text examples.
    3. Click the INPUT PROMPT tab to enter a prompt. The prompt field is for adding a natural-language description of what you want the provision model to extract. Unlike the Description field in the New Provision pane (step 5.a), this field does improve extraction quality. You can enter a simple statement of what you expect the AI to extract from the documents it encounters, like "Extract the agreement's total value," or "Get the contract's effective duration, in calendar days." An advanced AI uses this prompt to extract results independently from the standard AI pipeline. These results are labeled "Advanced AI" when a reviewer hovers over the thunderbolt icon next to each extraction on the Review page. When you complete this optional entry, click NEXT.
    4. Click the ADD KEY PHRASES tab to enter key words or phrases that will help sharpen the AI's extraction. You can add specific words or brief phrases (contracting party names, for example) to elevate their significance in the extraction process. It's best to enter unique phrases, and not commonly used words like "order" or "party", as these may produce too many results.The AI will look for exact matches of defined keywords and phrases, then for fuzzy matches, and will prioritize extractions that contain them. Enter key phrases only if the AI is not providing extractions with the examples and special instructions already entered. When you are done with this optional step, click DONE.
    5. Click ADD.
  8. Your entry is available in the Examples table.
  9. When you have entered all your examples, click DONE.
    You will receive a success message and see a summary of the new provision model.
Your new custom provision model is available in the Provision Library and is active by default.

There is no manual training flow. If the AI does not produce the desired accuracy, provide special instructions as described in step 6 or add more examples to the provision model as described in step 7. Reviewers giving positive feedback (thumbs-up) during document review also help train the AI.

Special Instruction Prompts

These are some tried and tested additional prompts that have helped extract better values from the Special Instructions field.

Custom ProvisionData TypeSpecial Instructions
Renewal TermNumberExtract the renewal term as a numerical value and do not pass any text around the numerical value.
Other Party Signed ByOrganization

Pick the name that is closest to:

  • Customer Agreement Acceptance OR
  • Agreed by you OR
  • any party that is not FiasCo.
Other Party Signed DateDate

Pick the date that is closest to:

  • Customer Agreement Acceptance OR
  • Agreed by you OR
  • any party that is not FiasCo.
Date provisions in generalDateDate appears in dd/mm/yyyy. Convert and return the date in mm/dd/yyyy format.
Effective DateDateIf the effective date is not mentioned in the document, capture the date from the last signature.
Term MonthsDurationTake the value from the Term clause and convert the years to months. For example, if the clause says 5 years, the value returned should be 60. Return the number only.
DiscountShort textIf a Percentage Discount clause is not mentioned, capture any other purchase discounts mentioned in the document.
Agreement TitleShort textConvert the agreement title to title case.
Governing LawPicklistMake sure the option chosen refers to a governing-law clause text and don't pick from random places in text. Only extract the entity if it appears outside of a physical address block. If the entity is only found within an address block or is not present at all, return "N/A".
Price Increases EscalationTextDo not extract any information from the pricing attachment or from Assumptions below that.
Option to RenewTextDo not extract any clause that includes details on automatic renewal.

Table Prompts

These prompts have proven especially useful for table extraction.
Use Case Special InstructionLimitations
Horizontal or vertical column names in a single tableExtract all data from the given table, regardless of the orientation of the column name. The column names may be written horizontally or vertically.
Split one column into two provisions. (For example: 2/1/2023 – 2/2/2024)Split the Quarter column into two columns, Quarter Start Date and Quarter End Date, with Quarter Start Date having the first date in each cell and Quarter End Date having the second date. You must mention the name of the column.
Column HierarchyDuring extraction, be sure to use the column headers defined so the headers show the nested structure of the table.
Include cells that span the whole table in the above rowSplit cells that span the whole table so that all of the text goes under Description, leaving a " " for each of the other columns. You may run into two consecutive cells that span the whole table. Deal with them separately. Inconsistencies in each extraction
Flattening CellsFlatten the "Product" and "Effective Time Period for Inflation Limitation Percentage" columns so that each row has a value from each column. Make sure that each flattened cell has the same value as the cell that it originated from.

If there are more than six rows in a cell, the LLM will under- or over-estimate the number of rows to be created.

Adding a Custom Table Extraction Provision Model

You can use AI to extract tables from documents. This is especially useful when contracts present such tabular data as bills of materials or delivery schedules. Because table extraction requires generative AI, these extractions do not require training. Users can extract tables as soon as the table extraction is configured and mapped to a worksheet.

Each table must have a columnar structure, with each line reflecting the values named in the heading. Discovery AI extracts these values in much the same way it handles fields and clauses, presenting this data in a column-defined line-item format.

  1. Follow the procedures for Adding a Custom Provision Model (above) to step 5.c.
  2. Select Table from the Annotation Data Type drop-down menu. Some screen options (Minimum Accuracy Threshold, etc.) disappear.
  3. Select a table by name from the Choose a Table drop-down menu. These tables are defined in CLM. You can set up new tables in CLM by following the instructions for adding contract line items.
  4. Click Next.
  5. Click ADD COLUMNS to raise the Add Alternate Keywords for Columns pop-up.
  6. Select a column name from the Choose Column drop-down that you want the AI to extract. This populates the adjacent Add Values for Keywords cell.
  7. Click the NEW COLUMN button to add columns to extract. Add columns in the order you want this information presented. The order you see here is the presentation order of the extraction, irrespective of the order the columns fall in the scanned table. You are not required to select every column.
    Note:

    The order of the columns here controls the order in which they are presented to the reviewer. To change the order, you must delete and add columns until you achieve the desired order. It is therefore a good idea to have the presentation order in mind before you begin.

  8. Clicking the check box adjacent to one of the columns sets it as the primary column. This identifies the essential property any line without which there would be no line.
    Selecting an optional primary column does not affect the presented order of the columns, but offers a "handle" by which reviewers can access and sign off on extracted data.
    On a line containing the column heads "Deliverable", "Quantity", and "Unit Price", the Deliverable column is the reasonable primary choice, as there is no quantity or price without a deliverable product.
  9. For each column, enter keywords as comma-separated text in the Add Values for Keywords field approximating likely column headings to enhance the AI's likelihood of accurate extraction. For example, if you know a column normally titled "Description" is occasionally titled "Desc.", you can enter that alias here.
  10. You can check the Strict Name Match box to enforce verbatim column-heading matches. Leaving this unchecked permits "fuzzy" (close) AI matching.
  11. If the table type contains hierarchic data, indicated by regularly indented rows in existing columns, you can set a hierarchy level for a given column.

    For example, if a table has a column named "Prices" with sub-entries for "$1–$5,000", "$5,001–$10,000" etc., you can pick the Prices column from the Choose Column and assign it to Hierarchy level 1 in the Type field, then repeat the process for the price categories, identifying them as Hierarchy level 2. Selecting hierarchic values deactivates strict name matching and keyword values, and disables the Add Values column. A hierarchy type only specifies hierarchy level and therefore cannot be combined with specifying keywords.

    Note:

    Do not enter values with commas except to divide entries. Entries in the Add Values for Keywords field are comma-delimited, so your entries will be broken into fragments at each comma.

  12. You can slide the Match exact column count toggle to ignore tables with an unexpected number of columns.
  13. Click the SPECIAL INSTRUCTIONS tab to enter additional instructions to the AI engine. Use natural language, avoiding jargon and excessive abbreviation, to add any instructions you think will help the AI find the provision you are looking for (search and recognition cues), and to describe how to present extracted table data (formatting preferences).
    Tip:
    • Be specific about how to extract table data.
    • If a formatting preference applies to a specific column, use that column's name as a reference.
    Transpose the column that lists year-wise data into row-wise data corresponding to the Program. List each year in a column named "Year". Flatten the merged cells (replicate eight times for eight years) in the Product column.
    Flatten the merged cells in the first and third columns.
    The headers in columns 2 and 3 are nested. Flatten "Base Rebate Percentage" to its two nested sub-headers.
  14. When you have selected and described all columns desired for extraction and added any special instructions to help the AI learn what you want, click ADD to review your columns.
  15. Click DONE to save the new custom provision model and return to the Provision Library.

Table Extraction Tips

Things to keep in mind when configuring for table extraction.

The Table Extraction feature has features and limitations that you must consider when deploying custom table provision models.

Tables Spanning Multiple Pages

If you specify it, Discovery AI can combine the pages of a table that spans multiple pages. If you do not prompt or instruct Discovery AI, it decides on its own whether they are the same table. Tables that are broken only by page breaks or header and footer material will be merged if they have the same number of columns. If such a merge is not successful, you can add a prompt to do so in the Special Instructions field.

Date Ranges

You can ask the AI to extract both dates from a range as separate provisions instead of as a single range. When data is expressed as "7/1/2023 – 9/30/2023", you can extract "7/1/2023" and "9/30/2023" as discrete "from" and "to" values.

To do this, you must create two different provision models. These provision models must include the name of the column being split. For example, if the column heading is Quarter, a good set of provision models is "Quarter Start Date" and "Quarter End Date".

A good prompt for a date range spit request is: "Split the Quarter column into two columns, Quarter Start Date and Quarter End Date, with Quarter Start Date having the first date in each cell and Quarter End Date having the second date in the same cell."

Hierarchic Columns

Discovery AI can understand the hierarchies of column headers, especially nested ones. In the following example, the AI can identify that "Base Rebate Percentage" is the parent of the headers "10/1/2020 through 12/23/2020" and "1/1/2021 through 12/31/2021" and assign the data accordingly.

You must define provision models to capture the nested structure, with provision model names that include the name of the column you are splitting. To continue this example, the provision model names, "Base Rebate Percentage - 10/1/2020 through 12/31/2020" and "Base Rebate Percentage - 10/1/2021 through 12/31/2021" are valid. Prompting Discovery AI in the Special Instructions with During extraction, use the column headers defined to show the table's nested structure improves the likelihood of success.

Flattening

Flattening is the extrapolation of columns or rows to multiple instances to maintain the data's organization. For example, in the table below, the second column contains five different entries in the first row:

Flattening the data gives each of those five entries its own data point.

The provision models do not need to be defined in detail, but your prompt must indicate that flattening is required. In the Special Instructions section, you must tell the AI to flatten the cells and what to do with the flattened cells. To keep the flattened cells empty, ask to "keep the flattened cells empty". If you want the flattened cells to contain the same pieces of information, then enter an additional prompt such as:

Flatten the 'Product' and 'Effective Time Period for Inflation Limitation Percentage' columns so that each row has a value from each column. Make sure each flattened cell has the same value as the cell it originated from.

Merged Cells

Discovery AI cannot flatten merged cells unless they are correctly hierarchized. For example, it cannot flatten or replicate the cell value "Apple" to both merged cells when they are formatted like this:
However, it can flatten merged cells formatted like this:

Prompt the AI by telling it which columns have merged cells (in this example, the first column) and it can flatten them downwards.

Table Headings

When a table heading appears in the first row with column headings in the second row, Discovery AI can extract the table heading from the provision models if it is merged across all the columns:
If the table heading cell is not merged across all columns, provision extraction becomes less certain:
Likewise, if the table headings are not consistent, Discovery AI may not be able to extract the provision. In the following example, provisions A and B can be extracted, but C and D will fail.
In the next example, the "1st Quarter" and "2nd Quarter" provisions will be extracted, the 3rd Quarter and 4th Quarter provision headings will be interpreted as 1st and 2nd Quarter values.

Hierarchic Extraction

Discovery AI supports hierarchic extraction (row grouping) in table structures where the hierarchy rows are indented consistently and merged as single cell, as shown below.

If hierarchy rows are not correctly indented or if the hierarchy row has split cells, as seen in the Product A-1 row below, the hierarchy extraction will not be accurate.

Horizontal and Vertical Tables

Discovery AI can extract provisions from both horizontal and vertical tables.

Setting the orientation flag to Horizontal forces the model to treat all tables in the document as horizontally-aligned (heading down the left column).

Setting the orientation flag to Vertical forces the model to treat all the tables in the docs as vertically-aligned (heading across the top row).

Setting the orientation flag to Auto instructs the AI to find the table orientation on its own. This increases processing time and cost.

Editing Custom Provision Models

Once a custom provision model is established, you can edit some, but not all fields, depending on the provision type. Data type and language fields are immutable for all provision models. Once you define a pick list, table, or obligation data type, you cannot revisit the Picklist Option Data Type, Choose Table, or Obligation Type fields.
  1. From the Conga Start window, click Admin Console > Discovery AI > CCI Admin Dashboard to raise the Discovery AI Admin Home page.
  2. From the Admin Dashboard (Admin Home), click the Provision Library tab in the left navigation bar to open the Provision Library.
  3. Click the hypertext name of the provision model you will edit.
    You can edit custom provision models, but not built-in provision models.
  4. Click Edit.
  5. Edit the fields you want to update. Editable and immutable fields are catalogued in New and Editable Provision Model Fields.
  6. Each data type will have associated Input Data Options and Annotations tabs, or in the case of tables, a Columns tab. These are editable as described in step 5 of Adding a Custom Provision Model.
    Note: For pick lists, you can remove all but one list element. One pick list item is required.
  7. Click Save.

New and Editable Provision Model Fields

Fields Available for New Custom Provision Models

Data typeNameMinimum Accuracy Threshold %Acceptable Confidence Score LanguageDescriptionMaximum Extractions to Display for ReviewActivePicklist Option Data TypeAdd values for picklistChoose TableObligation Type
DateXXXXXXX----
OrganizationXXXXXXX----
CurrencyXXXXXXX----
DurationXXXXXXX----
NumberXXXXXXX----
PercentXXXXXXX----
PicklistXXXXXXXXX--
Short TextXXXXXXX----
TextXXXXXXX----
Table X--XX-X--X-
ObligationX--XX-X---X

Custom Provision Model Fields Available for Editing

Data typeNameMinimum Accuracy Threshold %Acceptable Confidence Score LanguageDescriptionMaximum Extractions to Display for ReviewActivePicklist Option Data TypeAdd values for picklistChoose TableObligation Type
DateXXX-XXX----
OrganizationXXX-XXX----
CurrencyXXX-XXX----
DurationXXX-XXX----
NumberXXX-XXX----
PercentXXX-XXX----
PicklistXXX-XXX-X--
Short TextXXX-XXX----
TextXXX-XXX----
Table X---X-X----
ObligationX---X-X----

Deleting Custom Provision Models

The provision model has been deleted from any provision model mapping it appeared in.
You can delete custom provision models from the Provision Library. You cannot delete provision models synced from a publisher.
  1. Open the Provision Library and find the custom provision model you will delete.
  2. Check the box adjacent to the provision model or provision models you will delete.
  3. Click the Delete button.
    The Provision Library screen automatically refreshes itself.
  4. Review the Provision Library to verify that the provision model or models are removed.