Contracts · Renewals
RelayProcurementCatching vendor contract notice windows before they close
Auto-renewing contracts are cheap to sign and expensive to forget. This playbook pulls the key terms out of every contract in Drive or SharePoint and sets a Relay to warn the owner while there is still time to renegotiate or cancel.
Valnora & Elric team6 min read
- Format
- Playbook
- Steps
- 6
- Solution
- Relay
- Parts used
- 6
Software subscriptions, facilities services, equipment leases: many vendor contracts renew automatically unless someone gives notice 30, 60 or 90 days before the end of the term. The renewal date is usually known. The notice deadline is not, because it sits in clause 14 of a PDF nobody has opened since it was signed. Miss it and the company is locked in for another year, often at a higher price.
This playbook sets up two pieces in Agent Serve: a workflow that pulls the key terms out of every contract into a table, and a Relay, an AI coworker with its own instructions and approvals, that watches the deadlines and drafts the email to the owner in time.
Step 1: Build the contracts table
Create a contracts table in Tables with one row per contract and these columns:
- Vendor, service and contract owner
- Start date, end date and renewal term
- Notice period in days, and the last day to give notice (end date minus notice period)
- Price escalator, as text, and the clause number
- Annual value, current and on renewal if the escalator is fixed
- Source file link and page
- Status: needs review, active, owner told, decision made
Keep the status values fixed. The Relay reads them, and fixed values make "contracts whose deadline is near and whose owner has not been told" an exact question.
Step 2: Extract the terms from each contract
Build a workflow that runs when a file is added to the contracts folder in Google Drive or SharePoint, and once on demand for the back catalogue. For each file it:
- Downloads the PDF and reads it with a document parsing block such as Textract, Reducto or Mistral Parse.
- Asks an agent block for the terms in a fixed format, with the quoted clause and page for each one. If a term is not in the contract, the answer is "not found", never a guess.
- Checks for amendments in the same folder that change the end date, notice period or price, and uses the latest.
- Writes the row with status needs review.
A procurement analyst checks each new row against the quoted clauses and sets it to active. On a back catalogue of a few hundred contracts, this review is the slowest part, and the most important.
What the solution produces
Contracts table row (illustrative)
Record- Vendor
- Cloudline Analytics · BI platform subscription
- Term
- 1 Dec 2025 to 30 Nov 2026, renews for 12 months unless notice is given
- Notice period
- 60 days written notice. Last day to give notice: 1 Oct 2026
- Price escalator
- Fees rise by the greater of 7% or CPI at each renewal (clause 9.3)
- Annual value
- 84,000 USD, rising to at least 89,880 USD on renewal
- Owner
- Head of data
- Source
- Contracts/Software/Cloudline MSA 2025.pdf, page 6
Email drafted for the owner (illustrative)
MessageSubject: Cloudline Analytics renews on 1 Dec. Notice deadline 1 Oct, 30 days away
Your Cloudline contract renews automatically for 12 months unless we give written notice by 1 October.
On renewal, fees rise by at least 7% under clause 9.3, from 84,000 USD to at least 89,880 USD a year.
Options: renew as is, ask procurement to renegotiate the escalator, or give notice. Reply with your choice by 15 September so procurement has time to act.
Step 3: Create the Relay and set its limits
Create a Relay from one of the specializations that fits the job, such as a procurement or AP assistant, and write its instructions in plain language:
- The job. Find active contracts whose notice deadline is 60, 30 or 14 days away. Draft one email per contract to its owner with the dates, the escalator, the annual value and the options.
- The limits. Never write to a vendor. Never say a decision has been made. If a term is marked not found, say so and ask procurement to check.
- The tone. Short, factual, deadline in the subject line.
Set the email recipient policy to internal only. Upload your procurement policy to a Knowledge Base and connect it, so the draft can say who must approve a renewal above a given value.
Step 4: Choose the autonomy level
Assist is the right level here. The Relay reads the table freely, and every email waits for an approval from the procurement lead, who sees the exact text. Email always needs approval under Assist and Operate, and approvals expire after 24 hours by default, so a forgotten draft does not go out days later with stale dates.
The Relay cannot write rows itself. Allowlist a small deployed workflow that sets a contract's status to owner told and stamps the date; the Relay runs it after the email is approved and sent, so the next check does not repeat the reminder.
Step 5: Set the schedule and the watch
Give the Relay two triggers:
- A weekly schedule, Monday at 08:00 in your time zone, to sweep every active contract against the 60, 30 and 14 day marks.
- A table watch on the contracts table, so a newly reviewed contract with a deadline close by is picked up within minutes rather than next Monday.
Each run reports back in the procurement lead's chat with the Relay, with a short list of what it drafted and what it skipped.
Step 6: Review, then widen
Controls and governance
Approvals before action
Relays never send email or book meetings without an approval, under any autonomy setting. An approval covers the exact payload the reviewer saw and expires if nobody decides.
Audit trail
Proposals, approvals, declines and executed actions are written to the workspace audit log, which admins can export.
Run logs
Every workflow run records each block’s inputs, outputs and errors, so a reviewer can trace how a result was reached.
Roles and permission groups
Admin, write and read roles per workspace, plus permission groups that limit which models, blocks and integrations a team can use.
Deployed versions
Workflows run from a deployed version, so a change is reviewed before it reaches production runs.
Self-hosting
Run Agent Serve in your own cloud or data centre, next to the systems it reads.
More on how Agent Serve handles access, data and audit on the security page.
Every proposal, approval and sent email is written to the workspace audit log, and every extraction run is in Logs. For the first month, read every draft before approving and note what you edit: those edits are the best guide to tightening the instructions. Add a 90-day mark for large contracts where renegotiation takes longer.
Contracts with a vendor often come with a risk review too. See third-party risk reviews for the other side of vendor management.
Questions teams ask
How accurate is the extraction?
Good on clear clauses, weaker on amendments that change an earlier term or on scanned contracts with poor quality. That is why every row keeps the quoted clause and the page, and procurement checks each new row before the Relay uses it.
Can the Relay send the notice to the vendor?
Not in this setup. The recipient policy is internal only, so the Relay cannot even propose an email to a vendor. Giving notice is a contractual act and stays with the person who has the authority to do it.
From a contract folder to a reminder in time
Workflow · Extract terms
- 01Contract foldersSigned contracts and amendments in Google Drive or SharePoint.
- 02Extract key termsA parsing block reads the PDF; an agent block pulls dates, notice period, escalators and quotes.
- 03Contracts tableOne row per contract with the terms, the clause quotes, an owner and a status.
Relay · Renewal watch
- 04Watch notice windowsChecks the table on a schedule and when rows change, at 60, 30 and 14 days out.
- 05Draft to the ownerAn internal email with the dates, the escalator and the options.
- 06Approve and sendThe procurement lead approves the exact email before it goes.
- 07Owner decidesRenew, renegotiate or give notice. The Relay never writes to the vendor.