Configuring the Agiloft Google Docs App
Use this page to set up the Agiloft Google Docs App for the first time. You can download the app from the Google Workspace Marketplace.
Configuration
The configuration process tells Agiloft which tables and fields in your KB should link to the fields on the app interface.
To configure the app:
- Set up the Agiloft Google Drive Integration. This must be operational for the Agiloft Google Docs app to work correctly.
- In your KB, navigate to Setup > Integrations and click Upgrade under Agiloft Contract Concept Mapping. Repeat this step until the button changes from Upgrade to Configure.
- Click Configure beneath Agiloft Contract Concept Mapping.
- Check each setting to make sure a value is selected. If any setting is blank, consult the Configuration Wizard section below to select an appropriate field.
- Go to Setup > Integration. If the button under Access Token API says Deploy, click it. Otherwise, move on to the next step.
- Go to Setup > System > Manage Global Variables.
- Click New.
- Select Short Text Constant.
- Name and label the variable: enable_simple_otoken
- Enter Yes in the Global Variable Value box.
- Click Finish.
- Go to Setup > System > Security.
- Scroll to the bottom of the page to locate a field called AppSource ACA Domain List.
- Add ;https://docs.google.com; to the list of URLs. Make sure there are no spaces between ;https://docs.google.com; and the previous URL semi-colon. URLs should be separated by a single semi-colon, so if the previous URL already ends with one, you do not need to add another.
- Click Finish.
- Finally, grant your users Create permissions, at minimum, for all of the tables included in the configuration wizard. For example, you need permission to create Clause Library records in Agiloft if you want to insert clauses from the Clause Library into a document.
Configuration Wizard
In most cases, the Upgrade button selects all the appropriate fields that are configured in this wizard. If you need to review or alter these settings, follow these steps to learn more about each setting.
On the General tab:
- Under the Attachment Table section, choose the table that holds records for attached files like .docx or PDF. This is likely the Attachments table.
- Under Attached File, choose the field that holds the actual document file uploaded from the app. This drop-down list allows you to choose from all the File with Versioning fields from the table you selected in the Attachment Table section.
- Under the Companies Table section, choose the table that holds company information in your KB.
- Under Company Name, choose the field that holds the name of the company that you are doing business with, also called the the counterparty. This should not be the name of your company.
- Under the People Table section, choose the table that holds records on individuals, such as employees or external users.
- Under Person's Full Name, choose the field that holds the individual's name.
- Under Requester's Profile Picture, choose the field that holds the user's photo.
- Under the Contract Types Table section, choose the table that holds records for different types of contracts. This field's value determines the drop-down list choices for the Contract Type fields.
- Under Contract Type, choose the field that holds the name of the contract type.
- Under Contract Type Status, choose the field that holds the status of the contract type.
- Under the Contract Clause Table section, choose the table that holds clauses after they have been extracted.
- Under the Table Configurations section, edit the Contract table that appears. Some of these fields may be mapped already. This is also where you can add support for multiple Contract tables by clicking New.
Contracts Window
- Under Contract Tables, select where you'd like the app to create new contracts.
- Under Contract Type, choose the field that you'd like to use to designate Contract Types. If this field doesn't show any options in the drop-down list, ensure that the Contract Types Table section has a value.
- Under Contract Title, choose the field that holds the title of the contract.
- Under Contract Description, choose the field that holds a description of the contract.
- Under Contract Status, choose the field that holds the contract status.
- Under Company Name, choose the field that holds the name of the company that you are doing business with, also called the the counterparty. This should not be the field that holds the name of your company.
- Under Parent Contract ID, choose the field that holds the ID of the parent Contract record.
- Under Record Type, choose the field that holds the record type.
- Under Contract Start Date, choose the field that holds the start date of the contract.
- Under Contract End Date, choose the field that holds the end date of the contract.
- Under Contract Requester, choose the field that indicates who requested the contract.
- Under Date Updated, choose the field that indicates when the record was last updated. This coincides with the Name of Latest Updater field.
- Under Name of Latest Updater, choose the field that indicates who the last user to edit the record was. This coincides with the Date Updated field.
- Under Contract Comments, choose the field that indicates the field that holds comments about contracts. This field is used by the Comment feature in the app, and is often omitted from the actual Contract table layout.
- Under Link URL Field, choose the field that
- Under Contract ID, select the ID field that links the contract to an attachment.
- Under Contract ID linking contract clause table to chosen contracts table, choose the ID field that links the contract to the contract clause table. This is usually the same as the selection in Contract ID.
- Under Contract Clause Contract Type Field, select the field that holds the contract type for Contract Clause records.
- Under Contract Clause Start Date Field, select the field that holds the start date associated with a contract clause.
- Under Contract Clause Title Field, select the field that holds the title of Contract Clauses records.
- Under Contract Clause Company Name Field, select the field that holds the company name associated with a contract clause.
- Click Save.
- If you plan on using AI, expand the tab in the AI Fields section. Otherwise, continue on to the Clause Fields section.
AI Fields
If you have enabled AI in your KB, follow these steps to fill out the fields in the AI Fields tab.
- Set Enable AI Functionality to Yes. This adds many new options to the page, which are used to configure the app with Agiloft's AI capabilities.
- Under Table that holds the Document Classification action button, choose the table that holds the AI action button that allows you to predict Document Type. This is likely the Attachments table.
- Under Action Button field to use when requesting Document Classification, choose the action button that allows you to predict Document Type. This drop-down list contains action buttons from the table selected under "Table where the Action Button field to use when requesting Document Classification can be found." This is likely the Button: Predict Document field.
- Under AI Document Classification Input field, choose the File with Versioning field that holds the document you'd like to load into the app. This drop-down list contains File with Versioning fields from the table selected under "Table where the Action Button field to use when requesting Document Classification can be found." The file, or value, contained in the chosen File with Versioning field should be the same for every "Input" field in the Enable AI Functionality section. You have the option to select an input more than once, just in case your machine learning action buttons are found in different tables.
- Under AI Document Classification Output field, choose the Text field that you'd like the AI model to output information to. This drop-down list contains Text and Short Text fields from the table selected under "Table where the Action Button field to use when requesting Document Classification can be found."
- Under Table that holds the Clause extraction action button, choose the table that holds the AI action button that allows you to extract clauses. This is likely the Attachments table.
- Under Action Button field to use when requesting clause extraction, choose the action button that allows you to extract clauses. This drop-down list contains action buttons from the table selected under "Table where the Action Button field to use when requesting Clause Extraction can be found." This is likely the Button: Analyze Contract field.
- Under AI Clause Extraction Input field, choose the File with Versioning field that holds the document you'd like to load into the app. This drop-down list contains File with Versioning fields from the table selected under "Table where the Action Button field to use when requesting Clause Extraction can be found." This is likely the Attached File field.
- Under AI Clause Extraction Output field, choose the Text field that you'd like the AI model to output extracted clauses to. This drop-down list contains Text and Short Text fields from the table selected under "Table where the Action Button field to use when requesting Clause Extraction can be found." This is likely the Annotations JSON field.
- Under Table that holds the Key Terms extraction action button, choose the table that holds the AI action button that allows you to extract key terms. This is likely the Attachments table.
- Under Action Button field to use when requesting Key Terms Extraction, choose the action button that allows you to extract key terms. This drop-down list contains action buttons from the table selected under "Table where the Action Button field to use when requesting Key Term Extraction can be found." This is likely the Button: Analyze Contract field, the same field you selected for "Action button field to use when requesting clause extraction."
- Under, AI Key Terms Extraction Input field choose the Attached File field that holds the document you'd like to load into the app. This drop-down list contains Attached File fields from the table selected under "Table where the Action Button field to use when requesting Key Terms Extraction can be found." This is likely the Attached File field.
- Under AI Key Terms Extraction Output field, choose the Text field that you'd like the AI model to output extracted key terms to. This drop-down list contains Text and Short Text fields from the table selected under "Table where the Action Button field to use when requesting Key Terms Extraction can be found." This is likely the Annotations JSON field.
- Under Action button field to use when generating candidate clauses, choose the action button that allows you to extract clauses that you would like to potentially add to your Clause Library. This is often the button holding the AI Extraction of Candidate Clauses action or something similar. This is not required.
- Document Risk is not used at this time. Skip over this section and navigate to the Clause Fields tab.
Clause Fields
Follow these steps to fill out the fields in the Clause Fields tab.
Under Clause Library Table, choose the table designed to hold vetted, pre-approved Clause records that are readily available to be used in company contracts. This table is commonly called the Clause Library table.
Under Clause Library Table Clause Title, choose the Text field that holds the title of the clause. This drop-down list contains Text and Short Text fields from the table selected under "Clause Library Table."
Under Clause Library Table Clause Description, choose the Text field that holds the clause itself. This drop-down list contains Text and Short Text fields from the table selected under "Clause Library Table."
Under Clause Library Table Clause Risk, choose the Number field that holds the risk value associated with using this clause. This drop-down list contains Number fields from the table selected under "Clause Library Table."
Under Clause Library Table Clause Type ID, choose the field that holds the ID of the clause type. This drop-down list contains all Integer and Auto-Increment fields from the table selected under "Clause Library Table."
Under Library Clause Status, choose the field that holds the library clause's status, which is generally either Active or Inactive.
Under Display Risk on Library Clauses, select an option.
Under Date Library Clause Updated, choose the field that indicates when the clause was last updated.
Under Associated Print Templates, choose the field that holds the document templates associated with the clause.
Under Clause it's a Fallback For, choose the field that holds the clause's fallback clause.
Under Available for Contract Types, choose the field that indicates which contract types this clause can be added to.
Under Clause Fallback Status, choose the field that indicates whether the clause is Standard or Fallback.
Under Boilerplate Status, choose the field that indicates if the clause is a boilerplate clause or not.
Under Clause Guidance Field, choose the field that holds usage information about the clause.
- Under Contract Clause Text, choose the Text field where the modified clause text should be stored. This drop-down list contains Text and Short Text fields from the table selected under "Contract Clause Table."
- Under Contract Clause Type, choose the Text field that holds the clause type. This drop-down list contains Text and Short Text fields from the table selected under "Contract Clause Table."
- Under Contract Clause Library Clause ID, choose the field that holds the ID of the clause. This drop-down list contains all Integer and Auto-Increment fields from the table selected under "Contract Clause Table."
- Under Contract Clause Risk, choose the Number field that holds the risk value associated with using this clause. This is typically the Clause Type Default Risk field. This drop-down list contains Number fields from the table selected under "Contract Clause Table."
- Under Contract Clause table has "Deleted" state, select whether or not the Contract Clause record's list of Status choices includes Deleted. If Yes, when the user deletes a clause from the app, it won't be deleted outright in the KB, the Contract Clause record will just be set to a state of Deleted. This is recommended. If No, deleting the Contract Clause in the app deletes the Contract Clause record in the KB.
- Under Most Similar Clause ID, choose the field that indicates clause ID.
- Under Date Contract Clause Updated, choose the field that holds the date that the contract clause record was last updated.
- Under the Clause Type Table section, choose the table designed to hold records for the clause types in your system. This table is commonly named the Clause Type table.
- Under Clause Type Table Title, choose the Text field that holds the name of the clause type. The clause types found here should match the clause types available from the choice in "Clause Library Table Clause Type." The drop-down list contains Text and Short Text fields from the table selected under "Clause Type Table."
- Under Clause Type Status, choose the field that holds the status of clause types.
- Click Finish.
Required Tables
The Agiloft Google Docs app requires the following tables to function. In most cases, the Upgrade button adds any tables from this list that are missing from your KB.
- Contracts: This table holds Contract records. The app can add new Google Docs documents to the Contracts Table as new records.
- Attachments: This table holds Attachment records, which are the file version of the contract document being analyzed in Google Docs. The app adds Google Docs document files to the Attachments table as new records. If you have AI enabled, the Attachments table is the ideal table for holding machine learning action buttons, which exist by default in the CLM AI Template.
Clause Library: This table holds Clause records, which represent existing, vetted clauses that you can compare against the clauses found in the contract document in Google Docs. You can also insert these clauses directly into the contract document using the Insert Library Clause function, or add clauses to the Clause Library table from a trusted contract document.
If your KB was created prior to November 13, 2020, reach out to your Agiloft representative for assistance in configuring your Clause Library to work with the app. There are a few global variables that may need to be added to make this possible.
- Contract Clauses: This table holds Contract Clause records, which are new clauses identified in the document. The app can add tagged clauses as new records to the Contract Clauses table. You can distinguish which Contract Clause records relate to which Contract record by the ID field.
- Clause Types: This table holds Clause Type records, which represent the types of clauses that your organization wants to identify in contract documents, such as Termination or Insurance. The records in this table are used by AI to identify clauses in the contract document, but can also be manually assigned by a user if AI is not enabled in their system.
- AI Clause Types: You only need this table if your system uses AI. This table holds AI Clause Type records, which represent the clause types that are used to train AI models to identify clauses in contract documents. These records are associated with Clause Type records in the Clause Types table. Holding these records in separate tables allows for more system flexibility. This table is only necessary if you have AI enabled in your system. Simply adding a record to this table will not train AI to recognize them, as this requires custom model training.
- Contract Types: This table holds Contract Type records, which represent the types of contract documents that are used in your system, such as Master Services Agreement or Non-Disclosure Agreement. You can integrate this table to manually identify the type of document you've uploaded. If you have AI enabled, you can use this information to train the AI model what kind of clauses and key terms to look for in the contract document.
- Key Terms: This table is created the first time you click Configure, so if you don't have it be default, check again after clicking Configure. This table holds Key Term records, which represent the types of key terms that are identified in contract documents, such as Contract Title or Contract Start Date. The records in this table are used by the AI to identify key terms in the contract document, but can also be manually assigned by a user if AI is not enabled in their system. There is no key term library table because key terms are stored in the fields of the Contract record, unlike clauses and the Clause Library and Contract Clause tables. Adding new Key Term records to this table, and then associating them with a corresponding field in the Contracts table, allows the app to use those key terms as labels. However, these must always be tagged manually; adding a new Key Term record to this table doesn't allow the AI model to recognize or extract that key term, as this requires custom model training. For more information on the Key Terms table, view the Key Terms Table section below.
Key Terms Table
The Key terms table is automatically added to your KB when you click Deploy under Agiloft Contract Concept Mapping in Setup > Integrations. The default records in the Key Terms table map to fields in the Contract table. These Contract table fields all share the same logical name as key terms, and Agiloft maps them to each other using REST API calls. You can create a new Key Term in your system by following these steps:
- Create a new field in the Contract table. Ensure that you add the new field to the Contract record layout.
- Create a new record in the Key Terms table. The Field Name field of the Key Terms record should contain the same value as the Field Name field of the Contract field you'd like the Key Terms annotation to map to.
- Open the app, and the new Key Terms label is available in the drop-down list after tagging a key term.
- Label using the new key term.
- Navigate to the Upload to Agiloft section, and click the Sync to Agiloft button.
- Refresh the Contract record. The new key term field should now include the same value you labeled back in step 4.
The AI extraction models are only designed to work with the default Key Term records. Extracting additional Key Term records requires a custom AI model.