AutomationFlowsAI & RAG › Contract Clause Extractor

Contract Clause Extractor

Contract Clause Extractor. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStoreWeaviate. Webhook trigger; 11 nodes.

Webhook trigger★★★☆☆ complexityAI-powered11 nodesText Splitter Character Text SplitterEmbeddings CohereVector Store WeaviateTool Vector StoreMemory Buffer WindowLm Chat Open AiAgentGoogle Sheets
AI & RAG Trigger: Webhook Nodes: 11 Complexity: ★★★☆☆ AI nodes: yes

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 →

Download .json
{
  "name": "Contract Clause Extractor",
  "nodes": [
    {
      "parameters": {
        "content": "## Contract Clause Extractor",
        "height": 520,
        "width": 1100
      },
      "id": "1bda7454-93fe-405b-a456-4586cfb756ed",
      "name": "Sticky",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -500,
        -250
      ]
    },
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "contract_clause_extractor"
      },
      "id": "566f27e4-26bb-466c-9503-4fadf291f227",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 1,
      "position": [
        -300,
        0
      ]
    },
    {
      "parameters": {
        "chunkSize": 400,
        "chunkOverlap": 40
      },
      "id": "f1c5db12-a8f8-4d23-b50e-8e4b31142ece",
      "name": "Splitter",
      "type": "@n8n/n8n-nodes-langchain.textSplitterCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        -100,
        0
      ]
    },
    {
      "parameters": {
        "model": "default"
      },
      "id": "78647328-096a-40e6-875d-764a277977a8",
      "name": "Embeddings",
      "type": "@n8n/n8n-nodes-langchain.embeddingsCohere",
      "typeVersion": 1,
      "position": [
        100,
        0
      ],
      "credentials": {
        "cohereApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "indexName": "contract_clause_extractor"
      },
      "id": "3fb26948-57ed-496b-91e3-c65592ea2fd6",
      "name": "Insert",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreWeaviate",
      "typeVersion": 1,
      "position": [
        300,
        0
      ],
      "credentials": {
        "weaviateApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "indexName": "contract_clause_extractor"
      },
      "id": "828831c5-57b6-4c94-8eb0-4086a2c07f90",
      "name": "Query",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreWeaviate",
      "typeVersion": 1,
      "position": [
        300,
        -180
      ],
      "credentials": {
        "weaviateApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "name": "Weaviate"
      },
      "id": "34820e0b-bb70-4098-9ed0-36ae1a8ac092",
      "name": "Tool",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "typeVersion": 1,
      "position": [
        480,
        -180
      ]
    },
    {
      "parameters": {},
      "id": "4032a3d8-27c9-44a4-a0c2-a4be30e15375",
      "name": "Memory",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "typeVersion": 1.3,
      "position": [
        480,
        -40
      ]
    },
    {
      "parameters": {},
      "id": "8533ad0d-28c1-4549-8347-243f4dc1f4e2",
      "name": "Chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion": 1,
      "position": [
        480,
        -340
      ],
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json }}"
      },
      "id": "8326aa20-f9e9-4ac2-8a4e-618d54a8d415",
      "name": "Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 1,
      "position": [
        760,
        -40
      ]
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": "SHEET_ID",
        "sheetName": "Log"
      },
      "id": "96b4b7cd-7fb8-459b-acd4-55f0ebf6a431",
      "name": "Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4,
      "position": [
        960,
        -40
      ],
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Splitter",
            "type": "main",
            "index": 0
          },
          {
            "node": "Memory",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Splitter": {
      "main": [
        [
          {
            "node": "Embeddings",
            "type": "main",
            "index": 0
          }
        ]
      ],
      "ai_textSplitter": [
        [
          {
            "node": "Insert",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings": {
      "ai_embedding": [
        [
          {
            "node": "Insert",
            "type": "ai_embedding",
            "index": 0
          },
          {
            "node": "Query",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Insert": {
      "ai_document": [
        []
      ]
    },
    "Query": {
      "ai_vectorStore": [
        [
          {
            "node": "Tool",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Tool": {
      "ai_tool": [
        [
          {
            "node": "Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Memory": {
      "ai_memory": [
        [
          {
            "node": "Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "Chat": {
      "ai_languageModel": [
        [
          {
            "node": "Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Agent": {
      "main": [
        [
          {
            "node": "Sheet",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "settings": {
    "executionOrder": "v1"
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

About this workflow

Contract Clause Extractor. Uses stickyNote, textSplitterCharacterTextSplitter, embeddingsCohere, vectorStoreWeaviate. Webhook trigger; 11 nodes.

Source: https://github.com/Zie619/n8n-workflows — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →