Point an agent at a folder of contracts, have it fill a typed list with a source quote for every value, review and fix the rows, re-run after a change, then chart and export the results.
In this guide you give an agent a folder of contracts, define a Contracts list, and have the agent fill it with one row per customer. Every value keeps the quote it came from. Then you fix a value by hand, re-run the extraction after an amendment arrives, chart the results, and export them.
You can create agents and connections. This guide uses an admin account. If you don’t see New → Agent on the Agents page, ask an admin.
The documents are in a folder the Bag of Words server can read, such as a local folder or a mounted network share. To follow along, download the sample contracts (six fictional contracts and one amendment) and unzip them into that folder. Keep acme_logistics_amendment_1.pdf aside until Step 6.
Go back to the agent (click Contract Desk in the tree), click New report, and ask:
Read every contract and save each customer to the Contracts list, with the quote for each value.
The agent lists the folder, reads each PDF, and saves the rows. A Saved to Contracts card shows what happened, here 6 added. Click the card to expand it: every value has a status and a ✓ when its quote was found in the file. Open list opens the list, and Download CSV downloads the rows from this report.
Click Open list, or open Lists → Contracts in the agent’s tree. The key field has a key icon, and the header shows the table name you can query, bow.contract_desk.lists.contracts.Click a row to open it. Each field shows its value, its status, the quote, and the file and page it came from. The agent’s note explains anything it worked out.In the sample, look at Initech Corp.:
annual_value is Inferred: the SOW states USD 8,500 per month, so the agent annualized it to 102,000 and said so in the note.
notice_days is Not found: the SOW doesn’t state one, so the value stays empty.
governing_law is Ambiguous: the SOW points to a separate Master Agreement that isn’t in the folder.
Check Inferred, Ambiguous and Not found values first. They are where a person’s judgment matters. The status reference explains each one.
Say you know the Initech Master Agreement is governed by Texas law.
In the Initech row, type State of Texas in governing_law.
Click Save changes.
The field now shows Let the agent update with a lock, and the table shows a lock next to the value. Expand History to see who changed what and when. Revert restores an earlier value.
Your edit is protected only when the list has Keep people’s edits turned on (Step 2). With it off, the next extraction overwrites the value with what the agent finds. You can change it later in ⋯ → Edit fields.
Copy acme_logistics_amendment_1.pdf into the folder. The agent lists the folder each time, so there’s nothing to re-sync. Start a new report and ask:
A new amendment for Acme Logistics was added. Re-check all contracts and update the Contracts list.
Because counterparty is the key, the agent updates existing rows instead of adding new ones. The card shows the counts, here 2 updated · 4 unchanged · 1 edit kept:
Acme Logistics Ltd is updated: annual_value is now 135,000, quoted from the amendment.
Initech Corp. is updated because a value’s status changed, but your State of Texas edit is kept.
The other four rows are unchanged.
Open the Acme row: annual_value now quotes acme_logistics_amendment_1.pdf, and the note says it was USD 120,000 before the amendment.
A list is also a table the agent can query. In a new report, ask:
From the Contracts list, show total annual contract value by currency as a bar chart, and list contracts that renew automatically in the next 12 months.
The agent queries bow.contract_desk.lists.contracts, draws the chart, and lists the matching contracts. The results use the current values, including your edits.From here you can Add to Dashboard or Save Query like any other result. See Reports and Dashboards.
Export CSV downloads every row with its current values.
⋯ → Export with sources adds, for each field, its status, quote, page and whether the quote was checked, plus the row’s report, last update and whether a person edited it.
Only people who manage the agent can have it save rows, unless the list has Anyone who can use this agent can save rows from chat turned on. Ask a manager to turn it on in ⋯ → Edit fields, or to run the extraction.
The agent overwrote a value you fixed
Turn on Keep people’s edits in ⋯ → Edit fields, then open the row, expand History, and click Revert on the agent’s change.
A file is missing from the agent’s answers
Check the connection’s Include Patterns and that the file is inside Directory Path.