Classify contracts and track renewals with easybits, Google Drive and Sheets
UnknownUnknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.
Community nodes
These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).
@easybits/n8n-nodes-extractor(easybits: Classify & Extract Contract)
Nodes used (8)
- Easybits Extractor
@easybits/n8n-nodes-extractor.easybitsExtractor - If
n8n-nodes-base.if - Google Sheets
n8n-nodes-base.googleSheets - Google Drive Trigger
n8n-nodes-base.googleDriveTrigger - Google Drive
n8n-nodes-base.googleDrive - Edit Fields (Set)
n8n-nodes-base.set - No Operation, do nothing
n8n-nodes-base.noOp - Switch
n8n-nodes-base.switch
What it does
What this workflow does Drop a contract (PDF, JPG, PNG) into a watched Google Drive folder. easybits Extractor classifies it (SaaS / Lease / Service / Insurance / Other) and pulls every renewal-relevant field in a single call. A Set node calculates the contract's end date and the cancellation deadline. The classified contract is appended to the matching tab in a single Google Sheet – your source of truth for every renewal in the company. --- Setup guide 1. Install the easybits Extractor node - n8n Cloud: Already available, no install needed. - Self-hosted: Settings → Community Nodes → install @easybits/n8n-nodes-extractor. 2. Create your easybits pipeline Go to extractor.easybits.tech and create a pipeline with these fields: - contractclass (string) – enum: saassubscription, leaseagreement, servicecontract, insurancepolicy, other. Returns null if not a contract. - clientname (string) - providername (string) - startdate (string, ISO format YYYY-MM-DD) - initialtermmonths (number) - renewaltermmonths (number) - autorenew (string – "true"/"false") - noticeperioddays (number) - contractvalue (number) - clientsignatoryname (string) - providersignatoryname (string) Paste your Pipeline ID and connect your credentials in the easybits: Classify & Extract Contract node. 3. Create your Google Drive folder Create a folder (e.g. "Incoming Contracts") and paste its ID into the Watch Contract Folder node. 4. Create your Google Sheet Create one Google Sheet with five tabs: SaaS, Leases, Services, Insurance, Other. Header row on every tab: Start Date | Client Name | Provider Name | Contract Value | Initial Term Months | Renewal Term Months | Auto Renew | Notice Period Days | End Date | Cancellation Deadline | Contract Class | Client Signatory Name | Provider Signatory Name Paste the Sheet ID into all 5 Google Sheets nodes. 5. Connect credentials - easybits Extractor → your easybits API key - Google Drive → OAuth (used by both trigger and download) - Google Sheets → OAuth 6. Activate and test Turn the workflow on, drop a contract PDF into the watched folder, and watch the correct tab fill up. --- Field notes - autorenew stays as a string ("true"/"false") because the easybits Extractor doesn't yet expose a boolean type. Part 2 handles the conversion. - noticeperioddays is critical – without it, the cancellation deadline defaults to the end date, which is usually too late for contracts with 60–90 day notice clauses. - Supports PDF, JPG, and PNG only. Dropping other file types (Word, ODS, etc.) will error – add a mime-type filter before the Extractor if that's a real concern for your setup.