Contracts flag their own risk levels now — built this after signing one I shouldn't have

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:

khanhduyvt0101/workflows


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.


PDF Vector n8n integration

Full workflow collection

Questions? Drop a comment.