Contract Agent
Contract Agent is the AI system behind contract processing — the same agent covered in Contract Ingestion and Structure & Extraction. This page walks through the capabilities that sit on top of extraction: how documents get classified, how you can trace and correct what the agent extracted, and how the agent improves over time as you use it.
Document classification
Every document is automatically classified — a document can match more than one type (see Supported document types), for example a combined MSA and Order Form. You can reclassify a document from the contract details page if the automatic classification is wrong.
Today, classification only changes processing behavior for one type: an Amendment triggers automatic matching to its parent contract (see Amendments & Lifecycle). Other classifications are recorded but don’t yet change how the document is processed.
Coming soon: an Order Form will inherit terms from the customer’s linked MSA. For example, if net payment terms are only defined in the MSA and not repeated on the Order Form, Tabs will still extract them correctly by referencing the linked MSA rather than treating the Order Form in isolation.
Contract citations
For every extracted billing term, Tabs can show exactly where in the source document that value came from. Click an extracted field on the contract details page to see it highlighted in the original PDF — down to the specific line or table cell it was read from — so you can verify an extraction without hunting through the document yourself.
Editing a contract
You can correct extracted contract data either on the contract details page in the app, or via PATCH /v3/contracts/{id}. Either way, an edit:
- Regenerates the affected invoices
- Updates the ground truth for that specific contract, so the agent has a record that its original extraction was wrong on that field
Approving a contract
Marking a contract Approved — either explicitly in the app, or implicitly by sending an invoice on it — makes that contract eligible to be used for agent calibration.
Approval means “this contract’s data is correct,” not “this contract is finished.” An approved contract can still be edited afterward, and edits made after approval continue to update its ground truth.
Agent calibration
Once you have at least 10 contracts approved, you can choose to include them in agent calibration:
- Choose which approved contracts to include
- Tabs splits them into a training set and a held-out test set
- The agent trains on the training set, then tests itself against the held-out set
- This takes about an hour and runs in the background — you can navigate away and check back later
When calibration finishes, you’ll see an overall accuracy score along with a field-by-field breakdown of what the agent got right and what it got wrong, so you can make an informed decision before activating the newly calibrated agent.
A miss doesn’t necessarily block activation — if it’s on a field you don’t rely on, you can activate the agent as-is. Otherwise, approve more contracts or make further corrections to the existing set, then recalibrate.
Contract Agent chatbot
The Contract Agent chatbot is a chat interface on the contract details page. It supports two things:
- Explanations — ask why a value was extracted a certain way and get a citation back to the source contract, not just a restated value
- Bulk changes — describe a change in plain language (e.g. “change the invoice frequency for Subscription to quarterly”) and review a diff of exactly what will change before it’s applied
Every change made through the chatbot goes through the same audit trail as a manual edit.

