Most contracts get reviewed quickly. Someone needs to sign to close a deal or start a project, the contract lands in Drive, someone skims it, spots no obvious problems, signs. The problematic clauses — unlimited liability, automatic renewal with 90-day termination notice, aggressive non-compete — are on page 14 and page 22 in dense legal language that takes time to find.
Built a workflow that reads every contract the moment it lands in Drive and flags risks before anyone opens it.
What it does
Contract dropped in Drive → two parallel passes (structured extraction + executive summary) → compiles risk assessment → logs to contract tracker → posts full review to Slack with status
About 20-25 seconds per contract.
Two parallel passes
Pass 1 — Structured extraction:
-
Contract type — Service Agreement, NDA, Employment, Lease, Sales, Partnership, License, Other
-
All parties with their roles
-
Effective date and expiration date
-
Auto-renewal clause (Yes/No) and renewal terms
-
Total contract value
-
Payment terms
-
Termination notice days
-
Termination clauses
-
Liability limitations
-
Indemnification clauses
-
Confidentiality terms
-
Non-compete clause (Yes/No) and details
-
Risk flags — each with severity (High / Medium / Low) and the specific clause
Pass 2 — Executive summary:
-
2-3 sentence summary of the contract
-
Top 3 things the signer should be aware of
-
Overall risk rating with justification
Review status — auto-assigned
-
Any High risk → “Requires Legal Review”
-
2+ Medium risks → “Review Recommended”
-
No significant risks → “Ready for Signature”
What lands in Slack
📝 Contract Review Complete
File: vendor-services-agreement-q2.pdf
Type: Service Agreement
Parties: Acme Corp (Client), TechVendor LLC (Provider)
📋 Executive Summary
12-month service agreement for software development services
at $15,000/month. Auto-renews unless terminated with 90 days
notice. Vendor retains IP rights to all custom development
work unless explicitly assigned in writing.
⚠️ Risk Assessment
• High Risks: 2
• Medium Risks: 1
[High] IP ownership — all work product belongs to vendor
unless written assignment executed separately
[High] Unlimited liability clause — no cap on damages
[Medium] Auto-renewal with 90-day termination window
🏷️ Status: Requires Legal Review
View Contract
What lands in Google Sheets
Each row: File Name, Contract Type, Parties, Effective Date, Expiration Date, Value, Auto Renewal (Yes/No), Termination Notice (days), High Risks (count), Medium Risks (count), Review Status, Contract Link, Reviewed Date
Filter by Review Status to see what needs legal attention. Sort by Expiration Date to track upcoming renewals.
Setup
You’ll need:
-
Google Drive (“Contracts” folder)
-
Google Sheets (free)
-
n8n instance (self-hosted — uses PDF Vector community node)
-
PDF Vector account (~6-8 credits per contract for two passes)
-
Slack (for review reports)
About 15 minutes to configure.
Download
Workflow JSON:
04-contract-review-automation.json
Full workflow collection:
Setup Guide
Step 1: Get your PDF Vector API key
Sign up at pdfvector.com — free plan for testing.
Step 2: Create Drive folder and Sheet
Folder: “Contracts” — copy folder ID.
Sheet headers:
File Name | Contract Type | Parties | Effective Date | Expiration Date | Value | Auto Renewal | Termination Notice | High Risks | Medium Risks | Review Status | Contract Link | Reviewed Date
Step 3: Import and configure
Download JSON → n8n → Import from File.
Google Drive Trigger: Connect Drive, paste folder ID
PDF Vector - Analyze Contract + PDF Vector - Executive Summary:
-
Both run from Download Contract
-
Add PDF Vector credential to both nodes
Log Contract Review: Connect Sheets, paste Sheet ID
Send Review Report: Connect Slack, select your contracts channel
Accuracy
Tested on service agreements, NDAs, employment contracts, and lease agreements.
-
Contract type, parties, dates: ~97%
-
Auto-renewal detection: ~94%
-
Termination notice days: ~93%
-
Risk flag identification: ~88% — catches explicitly stated risks reliably; implied risks in complex legal language less consistently
-
Risk severity classification: ~84% — High/Medium distinction is reasonable but not a substitute for legal judgment
-
Executive summary quality: strong on standard contracts; more variable on complex multi-party agreements
Important: this is a first-pass triage tool. Always involve qualified legal counsel for contracts with significant financial or legal exposure.
Cost
~6-8 credits per contract. Free tier handles ~12-15 contracts per month.
Customizing it
Renewal alert:
Add a scheduled workflow that reads your Sheets tracker weekly and flags any contract expiring within 60 days where auto-renewal is Yes and termination notice is 90+ days — the ones where you need to act now.
Route by contract type:
Add a Switch node after Compile Review to send NDAs to one Slack channel and service agreements to another.
Legal disclaimer
This workflow provides automated first-pass analysis for informational purposes. It is not legal advice. Always review significant contracts with qualified legal counsel.
Questions? Drop a comment.
