This workflow corresponds to n8n.io template #14659 — we link there as the canonical source.
This workflow follows the Agent → Form Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "Uxpol9DxKfKqI446",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Contract Decoder with AI Risk Scoring",
"tags": [],
"nodes": [
{
"id": "5e7fe6a0-2069-4838-8573-a71aa90d3cc9",
"name": "Security: Upload to VirusTotal",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
720,
400
],
"parameters": {},
"typeVersion": 4.4,
"extendsCredential": "virusTotalApi"
},
{
"id": "891ee08f-547e-4b3e-8ef7-fc672127b824",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2928,
448
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "cb7dea21-cf6b-4c73-a7e5-464a9364e262",
"name": "Anthropic Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatAnthropic",
"position": [
2576,
432
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "04cdd5d8-b25c-4a1e-afdc-3b5de52f8975",
"name": "README",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "317200b1-7d1a-4659-aea5-b031ebf6c6f9",
"name": "Form Trigger",
"type": "n8n-nodes-base.formTrigger",
"position": [
496,
304
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "c23d9da6-16fb-4c82-a1e6-e947c984880c",
"name": "Security: Get Scan Results",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
1168,
400
],
"parameters": {},
"typeVersion": 4.4,
"extendsCredential": "virusTotalApi"
},
{
"id": "0087cc9d-afed-4415-aae7-16f08756e785",
"name": "Form + Security Data",
"type": "n8n-nodes-base.merge",
"position": [
1392,
320
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "e1845d7b-748d-49be-a769-67cc048d375b",
"name": "Clean or Malicious?",
"type": "n8n-nodes-base.if",
"position": [
1616,
320
],
"parameters": {},
"typeVersion": 2.3
},
{
"id": "00fb67c2-ec45-452e-9bfb-d6e1f0be4ab9",
"name": "Malware Rejection",
"type": "n8n-nodes-base.gmail",
"position": [
1904,
464
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "82476919-7a66-46a4-a57f-c20844b8cc24",
"name": "Extract Form Data",
"type": "n8n-nodes-base.code",
"position": [
1904,
224
],
"parameters": {},
"typeVersion": 2
},
{
"id": "25c62986-7020-4196-af80-c6a8d0c57caf",
"name": "PDF to Text",
"type": "n8n-nodes-base.extractFromFile",
"position": [
2128,
224
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "080de994-12fc-4f62-a31a-a40efacb25a7",
"name": "Clean & Truncate Text",
"type": "n8n-nodes-base.code",
"position": [
2352,
224
],
"parameters": {},
"typeVersion": 2
},
{
"id": "71421ddf-bc8e-46a9-aea8-691fcc11cad2",
"name": "Translate to Plain English",
"type": "@n8n/n8n-nodes-langchain.agent",
"onError": "continueRegularOutput",
"position": [
2576,
224
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "67d1f2af-17b9-488f-ae28-051a8ae62b88",
"name": "Calculate Risk Score",
"type": "@n8n/n8n-nodes-langchain.agent",
"onError": "continueRegularOutput",
"position": [
2928,
224
],
"parameters": {},
"typeVersion": 3.1
},
{
"id": "ad9bea3c-4c1e-427a-aa2b-f6b79dbf592a",
"name": "Merge AI Results",
"type": "n8n-nodes-base.code",
"position": [
3280,
224
],
"parameters": {},
"typeVersion": 2
},
{
"id": "ba97001d-9a4f-4f06-b8d9-4b57656fc570",
"name": "Send Analysis Report",
"type": "n8n-nodes-base.gmail",
"position": [
3504,
224
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "7e22cb95-1b34-4d18-a7c4-08d7262c2c2f",
"name": "Sticky Note Input",
"type": "n8n-nodes-base.stickyNote",
"position": [
464,
144
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "c9b355f5-783b-4f81-b95d-160075d140f5",
"name": "Sticky Note Failure",
"type": "n8n-nodes-base.stickyNote",
"position": [
1856,
432
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fb8c9844-fec9-4a9f-a63f-917cf7f4d3f2",
"name": "Sticky Note Extract",
"type": "n8n-nodes-base.stickyNote",
"position": [
1856,
80
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "fcdcff02-88b5-4746-8b77-82359d6638a5",
"name": "Sticky Note AI",
"type": "n8n-nodes-base.stickyNote",
"position": [
2544,
80
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2dd17d32-eecb-4adc-9201-057fa1daba77",
"name": "Sticky Note Output",
"type": "n8n-nodes-base.stickyNote",
"position": [
3232,
80
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "603e3c03-8df7-4639-a4af-a133b22833ce",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
928,
400
],
"parameters": {},
"typeVersion": 1.1
}
],
"active": false,
"settings": {
"binaryMode": "separate",
"executionOrder": "v1"
},
"versionId": "7b02cf8d-68fd-4f9c-b62c-4804965ee65a",
"connections": {
"Wait": {
"main": [
[
{
"node": "Security: Get Scan Results",
"type": "main",
"index": 0
}
]
]
},
"PDF to Text": {
"main": [
[
{
"node": "Clean & Truncate Text",
"type": "main",
"index": 0
}
]
]
},
"Form Trigger": {
"main": [
[
{
"node": "Form + Security Data",
"type": "main",
"index": 0
},
{
"node": "Security: Upload to VirusTotal",
"type": "main",
"index": 0
}
]
]
},
"Merge AI Results": {
"main": [
[
{
"node": "Send Analysis Report",
"type": "main",
"index": 0
}
]
]
},
"Extract Form Data": {
"main": [
[
{
"node": "PDF to Text",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Calculate Risk Score",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Clean or Malicious?": {
"main": [
[
{
"node": "Extract Form Data",
"type": "main",
"index": 0
}
],
[
{
"node": "Malware Rejection",
"type": "main",
"index": 0
}
]
]
},
"Anthropic Chat Model": {
"ai_languageModel": [
[
{
"node": "Translate to Plain English",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Calculate Risk Score": {
"main": [
[
{
"node": "Merge AI Results",
"type": "main",
"index": 0
}
]
]
},
"Form + Security Data": {
"main": [
[
{
"node": "Clean or Malicious?",
"type": "main",
"index": 0
}
]
]
},
"Clean & Truncate Text": {
"main": [
[
{
"node": "Translate to Plain English",
"type": "main",
"index": 0
}
]
]
},
"Security: Get Scan Results": {
"main": [
[
{
"node": "Form + Security Data",
"type": "main",
"index": 1
}
]
]
},
"Translate to Plain English": {
"main": [
[
{
"node": "Calculate Risk Score",
"type": "main",
"index": 0
}
]
]
},
"Security: Upload to VirusTotal": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Dual-AI translator that turns legal jargon into plain English with 0-100 risk scoring
Source: https://n8n.io/workflows/14659/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow automates end-to-end contract and invoice management using AI intelligence. It processes proposals through intelligent contract generation, approval workflows, and automated invoicing. O
Automates SaaS operations by consolidating user management, AI-driven support triage, analytics, and billing into one unified system. User signups flow through registration, support requests route via
The workflow runs every hour with a randomized delay of 5–20 minutes to help distribute load. It records the exact date and time a lead is emailed so you can track outreach. Follow-ups are automatical
This n8n workflow automates turning short user ideas into production-ready real-estate marketing assets (photorealistic images and optional 360° videos). A form submission seeds a prompt board → an LL
This workflow automatically analyzes a website for UX and SEO quality. It uses Airtop for realistic web scraping, OpenAI for structured evaluation of metadata (title, description, and overall SEO sign