# Turn every signed contract into a searchable renewal register

> Every contract you sign gets read, logged, and dated automatically, so you always know the last day to give notice before it renews.

- Workflow type: agent
- Services: Docusign, Mistral AI, Google Sheets, Slack
- Categories: Operations, Finance
- Published: 2026-08-07

## What it does

- Spots every contract the moment it is fully signed, so nobody has to remember to file it.
- Reads the signed PDF and pulls out the terms that matter: counterparty, value, start date, length, payment terms, governing law, and whether it renews on its own.
- Adds one row per contract to your register spreadsheet, including a calculated deadline for the last day you can give notice.
- Posts a summary to your operations channel and highlights the contracts that renew automatically.

## What you'll need

- A Docusign account where your signed contracts are completed
- A Mistral AI account, used to read the contract PDFs and pull out the terms
- A Google Sheet to act as your contract register
- A Slack workspace and a channel for the operations team

## Prompt

I want every contract we sign to land in a searchable contract register automatically, so renewal dates stop sneaking up on us. Use a Docusign poll trigger on the envelope_completed event, so this runs once per contract as soon as it is fully executed.

When an envelope completes, call Get Envelope to capture the envelope id, the envelope name or subject, and the completion date. Then call List Envelope Documents to see what is attached and pick the executed agreement itself, which is normally the combined signed document rather than the Certificate of Completion or a summary page. Pull that file with Download Document to get the signed PDF.

Run Mistral AI OCR over the downloaded PDF to convert the whole agreement into markdown text. These are long multi-page documents, so make sure the full text is captured across every page, including schedules and appendices, before doing any extraction. Do not extract from just the first page or two.

Pass the OCR text to Mistral AI Chat Completion and extract the key commercial terms as structured fields: counterparty name, effective date, initial term, total contract value, currency, whether the contract auto-renews (yes or no), the renewal notice window in days, payment terms, and governing law.

Accuracy matters more than completeness here, and there are three rules I care about. First, if the model is not confident about a term, quote the exact contract language verbatim instead of paraphrasing it, so a human can check the real wording. Second, if a clause genuinely is not in the document, leave that field blank and add a short "not found" note. Third, never invent, infer, or estimate a value that is not actually written in the contract.

Calculate two dates from what was extracted. Work out the contract end date from the effective date plus the initial term, then work out the notice deadline by subtracting the renewal notice window from that end date. The notice deadline is the most important column in the register, because it is the last day we can give notice before the contract rolls over. If either the effective date, the initial term, or the notice window is missing, leave the derived date blank with a "not found" note rather than guessing at it.

Append one row per contract to the Google Sheets contract register using Append Values. Include the counterparty, effective date, initial term, calculated end date, calculated notice deadline, total contract value, currency, auto-renewal yes or no, renewal notice window in days, payment terms, governing law, the Docusign envelope id, and the envelope name. Keep the column order stable so the sheet stays sortable and filterable by notice deadline.

Finally, post a summary to the operations channel with Slack Send a Message. Lead with the counterparty and the headline terms: contract value, effective date, and end date. When the contract auto-renews, call that out prominently at the top of the message along with the notice deadline, because those are the ones that cost us money if the window is missed. Also flag any field that came back blank or uncertain, along with the quoted contract language where there was one, so someone can close the gap while the contract is still fresh.

## How to customize

- Change which terms get extracted, for example adding liability caps, notice addresses, or renewal price increases.
- Point the register at a different spreadsheet, or split contracts by entity or region into separate tabs.
- Choose which channel gets the summary, and whether every contract is posted or only the ones that auto-renew.

## Example output

AUTO-RENEWS: Northwind Logistics Ltd
Value: GBP 84,000 | Effective 1 Mar 2026 | Ends 28 Feb 2027
Notice deadline: 30 Nov 2026 (90 day notice window)
Payment terms: Net 30 from date of invoice
Governing law: England and Wales
Quoted (low confidence) initial term: "an initial period of twelve (12) months commencing on the Effective Date"
Not found: total contract value cap
Logged to the contract register.

## FAQ

### What happens if a contract does not mention a renewal notice period?

The field is left blank with a "not found" note rather than a guessed value. You will see the gap in both the register and the summary message, so you can check the contract yourself.

### Will this work with scanned or image-based contracts?

Yes. Contracts are read using optical character recognition, so scanned documents and photographed signature pages are handled as well as digitally generated PDFs.

### Can I trust the extracted numbers?

Treat the register as a fast, reviewable first pass. Anything the model is unsure about is quoted word for word from the contract instead of being reworded, so you can verify a term without opening the whole document.

### How does it work out the notice deadline?

It calculates the end date from the start date and the contract length, then counts back by the notice period written into the agreement. That date gets its own column so you can sort the register by what is coming up next.

### Does it cope with long agreements?

Yes. The full document is read page by page, including schedules and appendices, rather than just the first few pages.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-every-signed-contract-into-a-searchable-renewal-register