Skip to content

Analyze Contracts

Reviewing terms across a portfolio of contracts usually means opening each document one by one, hunting for clauses, and transcribing values into a spreadsheet. For a set of 30 vendor agreements, that could take a week.

Contract analysis projects let you select contracts, define the data points you care about, and extract everything in minutes.

When is this useful?
Legal Counsel Your organization is acquiring a company. You need to review 50 vendor contracts for change-of-control clauses, termination triggers, and assignment restrictions before the deal closes.
Legal Ops Finance has asked for a report on liability caps and indemnification terms across all active service agreements. You need the data in a spreadsheet by end of week.
Contract Admin A new data privacy regulation takes effect in 6 months. You need to identify which contracts contain personal data processing terms and whether they meet the new requirements.
Step 1 of 5
1
Create a new project

Go to the Projects page and click New Project. Enter a name and click Create.

Create a new project
2
Select contracts

Click Select contracts to get started to open the contract picker. Search and filter your repository, select the contracts you need, and click Confirm selection.

Select contracts
3
Add columns

Click the + button at the end of the column headers. Pick from predefined templates or write your own extraction question. Set the data type and click Add.

Add columns
4
Run analysis

Click Run Analysis in the toolbar. The AI reads each contract and extracts values for every column. Results appear as cells are processed.

Run analysis
5
Review results

Hover any cell to see the AI reasoning and source clause. Click View in document to verify the value in the original contract.

Review results
Step 1 of 5

There are two ways to start a new project:

Quick start: If this is your first project, the Projects page shows an empty state with a preview of what the results grid looks like. Click Select contracts to get started. Pactly creates an untitled project and opens the contract picker immediately.

Named project: Click New Project in the top-right corner, enter a name (e.g., “Q1 Vendor Liability Review”), and click Create. You’ll land on the project detail page where you can add contracts and columns.

Click Select contracts to get started (or Add contracts from the toolbar) to open the contract picker.

Contract picker dialog showing the Repository tab with search, status filter, category filter, and a list of contracts with checkboxes

The picker has two tabs:

Repository lets you select existing contracts from your repository. Use the search bar, status filter, and category filter to narrow the list. You can select contracts across all contract types (template, playbook, and external). The picker shows each contract’s name, reference number, and status.

Upload lets you upload new documents directly. Uploaded files are added to your contract repository as external contracts and attached to the project in one step.

Select the contracts you need and click Confirm selection. You can always add more contracts later.

Each column defines a data point you want to extract from every contract. Click Add column (the + button at the end of the column headers) or Manage columns in the toolbar to configure your columns.

When adding a column, you’ll see a list of predefined templates organized by category:

Column editor popover showing the list of predefined templates with question, type, and label fields
CategoryExample Columns
GeneralCounterparty, Effective Date, Expiry Date, Governing Law, Contract Term, Contract Value
LiabilityLiability Standard, Liability Cap, Liability Carve-outs, Indemnification
TerminationTermination for Convenience, Termination Triggers, Notice Period
IP & ConfidentialityIP Ownership, Confidentiality Term

Click a template to fill in the question, type, and label automatically, then click Add. You can modify the question before adding.

Scroll past the presets to the “or write your own” section, or type in the Question field directly. You’ll need to provide:

  • Question - The prompt the AI uses to extract data from each contract. Be specific. “What is the liability cap?” works better than “Liability”.
  • Type - The output format: Text, Number, Date, Yes/No, or Multiple Values.
  • Label - The column header shown in the results grid.

You can also enable Show AI explanation per column from the Manage columns dialog. When enabled, the AI provides its reasoning alongside the extracted value.

Click Manage columns in the toolbar to see all columns in a list. From here you can:

Manage Columns dialog showing five columns with their data types, drag handles for reordering, and edit/delete buttons
  • Reorder columns by dragging them
  • Edit a column’s question by clicking the edit icon
  • Delete a column (this removes the column and all its extracted data)

If you change a column’s question after running analysis, cells for that column become outdated. The toolbar shows a count of outdated cells. Run analysis again to re-extract them with the updated question.

Once you have contracts and columns configured, click Run Analysis. The AI reads each contract and extracts values for every column.

Project grid during analysis showing 'Extracting...' labels in cells and the 'Analysis started' notification

While analysis is running:

  • An “Analysis started” notification confirms the extraction has begun
  • Cells show “Extracting…” while they’re being processed
  • You can continue working in Pactly while the analysis runs in the background
  • The page updates automatically as results come in

Analysis processes one contract at a time. For a project with 20 contracts and 8 columns, expect a few minutes for the full extraction.

For each cell, the AI returns:

  • Value - The extracted data point (a date, amount, text, yes/no, or list depending on the column type)
  • Reasoning - Why the AI arrived at this value (shown when “Show AI explanation” is enabled on the column)
  • Source clause - A reference to where in the document this value was found (e.g., “Clause 3.2”)
  • Source quote - The verbatim text from the contract that supports the extracted value

If the AI cannot find a relevant clause, the cell shows N/A.

Click Re-run Analysis to re-extract data. Only cells that need updating are processed:

  • Outdated cells (column question was changed)
  • Error cells (previous extraction failed)
  • Pending cells (not yet extracted, e.g., newly added contracts or columns)

Cells that already have a successful result are skipped, so re-runs are faster than the initial analysis.

You can also re-run a single column from its column editor, or retry individual error cells from the results grid.