Go to the Projects page and click New Project. Enter a name and click Create.
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.
Go to the Projects page and click New Project. Enter a name and click Create.
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.
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.
Click Run Analysis in the toolbar. The AI reads each contract and extracts values for every column. Results appear as cells are processed.
Hover any cell to see the AI reasoning and source clause. Click View in document to verify the value in the original contract.

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.

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:

| Category | Example Columns |
|---|---|
| General | Counterparty, Effective Date, Expiry Date, Governing Law, Contract Term, Contract Value |
| Liability | Liability Standard, Liability Cap, Liability Carve-outs, Indemnification |
| Termination | Termination for Convenience, Termination Triggers, Notice Period |
| IP & Confidentiality | IP 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:
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:

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.

While analysis is running:
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:
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:
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.