AutomationFlowsAI & RAG › Обработка Обратной Связи

Обработка Обратной Связи

Обработка обратной связи. Uses [[[providers, vectorStorePGVector, documentDefaultDataLoader, agent. Event-driven trigger; 17 nodes.

Event trigger★★★★☆ complexityAI-powered17 nodes[[[ProvidersVector Store PgvectorDocument Default Data LoaderAgentOutput Parser StructuredText Splitter Recursive Character Text SplitterExecute Workflow TriggerPostgres
AI & RAG Trigger: Event Nodes: 17 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Agent → Documentdefaultdataloader 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 →

Download .json
{
  "name": "\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438",
  "nodes": [
    {
      "parameters": {
        "model": "={{ $env.LLM_MODEL }}",
        "options": {}
      },
      "type": "[[[providers.main[LLM_PROVIDER].node_type]]]",
      "typeVersion": 1,
      "position": [
        928,
        768
      ],
      "id": "e9755389-977f-4e2a-ab23-c496a9f226a5",
      "name": "Main LLM",
      "retryOnFail": true,
      "credentials": {
        "[[[providers.main[LLM_PROVIDER].cred_type]]]": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "={{ $env.EMBEDDING_MODEL }}",
        "options": {}
      },
      "type": "[[[providers.embedding[EMBEDDING_PROVIDER].node_type]]]",
      "typeVersion": 1,
      "position": [
        1904,
        576
      ],
      "id": "ef5dc4b6-dbd3-431e-a1b8-d31f39449b01",
      "name": "Embeddings Model",
      "retryOnFail": true,
      "credentials": {
        "[[[providers.embedding[EMBEDDING_PROVIDER].cred_type]]]": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "tableName": "={{ $('Loop Over Items').item.json.domain_name }}_priorities",
        "embeddingBatchSize": 1000,
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStorePGVector",
      "typeVersion": 1.3,
      "position": [
        1904,
        368
      ],
      "id": "4c160980-ff17-43da-bc10-fae6b08197f7",
      "name": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "textSplittingMode": "custom",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1.1,
      "position": [
        2096,
        576
      ],
      "id": "88788745-813f-4234-91b1-84b11e954466",
      "name": "Default Data Loader"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        464,
        352
      ],
      "id": "c1d9c54c-5958-4716-bbcc-789640921bb3",
      "name": "Loop Over Items"
    },
    {
      "parameters": {
        "fieldToSplitOut": "examples",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        704,
        368
      ],
      "id": "8e205467-3d12-4138-9d62-290157a97d9a",
      "name": "Split Out"
    },
    {
      "parameters": {
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "fieldToAggregate": "output.final_essence",
              "renameField": true,
              "outputFieldName": "text"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        1680,
        368
      ],
      "id": "3d14412d-cde1-4888-8730-f6fb889d74a1",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "={{ $json.input_text }}\n\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442: {{ $json.priority_excpected }}",
        "hasOutputParser": true,
        "options": {
          "systemMessage": "=\u0422\u044b \u2014 \u0418\u0418-\u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a \u0437\u0430\u044f\u0432\u043e\u043a. \u0422\u0432\u043e\u044f \u0437\u0430\u0434\u0430\u0447\u0430: \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0447\u0438\u0441\u0442\u0443\u044e \u0441\u0443\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c.\n\n\u0412\u0425\u041e\u0414\u041d\u042b\u0415 \u0414\u0410\u041d\u041d\u042b\u0415:\n- `input_text`: \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u044f\u0432\u043a\u0438\n- `priority`: \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 (1-6), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043e\u0442\u0432\u0435\u0442\n\n\u0410\u041b\u0413\u041e\u0420\u0418\u0422\u041c \u0420\u0410\u0411\u041e\u0422\u042b:\n1. \u041e\u0411\u042f\u0417\u0410\u0422\u0415\u041b\u042c\u041d\u041e \u0432\u044b\u0437\u043e\u0432\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \"\u041f\u043e\u0438\u0441\u043a \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0437\u0430\u044f\u0432\u043e\u043a\", \u043f\u0435\u0440\u0435\u0434\u0430\u0432 \u0435\u043c\u0443 `input_text`.\n2. \u041f\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b. \u0415\u0441\u043b\u0438 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0437\u0430\u044f\u0432\u043a\u0438 \u0441 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b\u043c \u0438\u043b\u0438 \u043a\u0440\u0430\u0439\u043d\u0435 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u0441\u043c\u044b\u0441\u043b\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 \u0438\u0445 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u043a\u0430\u043a \u044d\u0442\u0430\u043b\u043e\u043d.\n3. \u0420\u0435\u0448\u0438, \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043b\u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u043b\u0438 \u0441\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0441\u0443\u0442\u044c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.\n4. \u0421\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0439 `final_essence` \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443: \n   \"[\u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0441\u0443\u0442\u044c]. \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442: {priority}\"\n   \u0433\u0434\u0435 {priority} \u2014 \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.\n5. \u0412\u0435\u0440\u043d\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0421\u0422\u0420\u041e\u0413\u041e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c JSON-\u0444\u043e\u0440\u043c\u0430\u0442\u0435:\n{\n  \"extracted_essence\": \"\u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0430\u044f \u0441\u0443\u0442\u044c, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0431\u043e\u0439\",\n  \"essence_replaced\": true/false,\n  \"final_essence\": \"\u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0441 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: '\u041d\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043a\u043d\u043e \u0432 \u043f\u043e\u0434\u044a\u0435\u0437\u0434\u0435. \u0416\u0438\u043b\u044c\u0446\u044b \u043e\u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0435\u043d\u044b. - 3'\",\n  \"example_from_knowledge_base\": \"\u0422\u043e\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0431\u0430\u0437\u044b \u0437\u043d\u0430\u043d\u0438\u0439 \u0438\u043b\u0438 \u043f\u0443\u0441\u0442\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430\"\n}\n\n\u041f\u0420\u0410\u0412\u0418\u041b\u0410:\n- \u0412 `final_essence` \u041e\u0411\u042f\u0417\u0410\u0422\u0415\u041b\u042c\u041d\u041e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0439 \". \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442: {priority}\" \u0432 \u043a\u043e\u043d\u0446\u0435, \u0433\u0434\u0435 {priority} \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.\n- \u041e\u0441\u0442\u0430\u0432\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b/\u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0432 `extracted_essence`.\n- \u0421\u043e\u0445\u0440\u0430\u043d\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0435 \u0434\u0435\u0442\u0430\u043b\u0438: \u0442\u0438\u043f \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u0441\u0438\u043c\u043f\u0442\u043e\u043c\u044b, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0430\u0434\u0440\u0435\u0441\u0430/\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430.\n- \u041d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0439 \u0434\u043e\u0433\u0430\u0434\u043e\u043a, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0439 \u0438\u043b\u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u0437\u0430\u044f\u0432\u043a\u0443.\n- \u041d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438 \u0437\u0430 \u0440\u0430\u043c\u043a\u0438 JSON. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0439 \u0434\u043e \u0438\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043e\u043a."
        }
      },
      "type": "@n8n/n8n-nodes-langchain.agent",
      "typeVersion": 3.1,
      "position": [
        928,
        368
      ],
      "id": "20b059cd-4e53-4291-962c-027d2823dcb2",
      "name": "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0442\u0438 \u0437\u0430\u044f\u0432\u043a\u0438",
      "retryOnFail": true
    },
    {
      "parameters": {
        "jsCode": "return Object.entries($input.all()\n  .map(item => item.json)\n  .reduce((acc, item) => {\n      if (!acc[item.domain_name]) {\n        acc[item.domain_name] = [];\n      }\n      acc[item.domain_name].push(item);\n      return acc;\n    }, {}))\n  .map(([domain, items]) => ({\n  json: {\n    domain_name: domain,\n    examples_count: items.length,\n    examples: items\n  }\n}));"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        272,
        352
      ],
      "id": "8100834e-001f-45f6-b8cb-84bfb9654400",
      "name": "\u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0441\u0444\u0435\u0440\u0435"
    },
    {
      "parameters": {
        "mode": "retrieve-as-tool",
        "toolDescription": "\u0411\u0430\u0437\u0430 \u0437\u043d\u0430\u043d\u0438\u0439 \u0441 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0447\u0438\u0449\u0435\u043d\u043d\u044b\u043c\u0438 \u0437\u0430\u044f\u0432\u043a\u0430\u043c\u0438.\n\u041e\u0411\u042f\u0417\u0410\u0422\u0415\u041b\u042c\u041d\u041e \u0418\u0421\u041f\u041e\u041b\u042c\u0417\u0423\u0419 \u042d\u0422\u041e\u0422 \u0418\u041d\u0421\u0422\u0420\u0423\u041c\u0415\u041d\u0422 \u041f\u0415\u0420\u0415\u0414 \u0424\u041e\u0420\u041c\u0418\u0420\u041e\u0412\u0410\u041d\u0418\u0415\u041c \u041e\u0422\u0412\u0415\u0422\u0410.\n\n\u041a\u0410\u041a \u0418\u0421\u041f\u041e\u041b\u042c\u0417\u041e\u0412\u0410\u0422\u042c:\n1. \u041f\u0435\u0440\u0435\u0434\u0430\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u044f\u0432\u043a\u0438 \u043a\u0430\u043a \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441.\n2. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u043d\u0451\u0442 3-5 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0445 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0441 \u0438\u0445 \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u0442\u044c\u044e.\n\n\u0412\u0410\u0416\u041d\u041e:\n- \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0422\u041e\u041b\u042c\u041a\u041e \u0434\u043b\u044f \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 \u0438 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0438 \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0443\u0442\u0438.\n- \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u2014 \u0437\u0430\u043c\u0435\u043d\u0438 \u0441\u0432\u043e\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0443 \u043d\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0443\u044e (\u044d\u0442\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u0431\u0430\u0437\u044b).\n- \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043d\u0435\u0440\u0435\u043b\u0435\u0432\u0430\u043d\u0442\u043d\u044b \u0438\u043b\u0438 \u0438\u0445 \u043d\u0435\u0442 \u2014 \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u0443\u0439 \u0438\u0445 \u0438 \u043f\u043e\u043b\u0430\u0433\u0430\u0439\u0441\u044f \u043d\u0430 \u0441\u0432\u043e\u0438 \u043f\u0440\u044f\u043c\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.",
        "tableName": "={{ $('Loop Over Items').item.json.domain_name }}_priorities",
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStorePGVector",
      "typeVersion": 1.3,
      "position": [
        1280,
        592
      ],
      "id": "1183d205-7a23-4bda-b47d-02748b5b04b9",
      "name": "Postgres PGVector Store",
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "model": "={{ $env.EMBEDDING_MODEL }}",
        "options": {}
      },
      "type": "[[[providers.embedding[EMBEDDING_PROVIDER].node_type]]]",
      "typeVersion": 1,
      "position": [
        1216,
        768
      ],
      "id": "05b78ac5-ed3c-4f93-955c-c885999efb35",
      "name": "Embeddings Ollama",
      "credentials": {
        "[[[providers.embedding[EMBEDDING_PROVIDER].cred_type]]]": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsonSchemaExample": "{\n  \"extracted_essence\": \"\u043f\u0435\u0440\u0432\u0438\u0447\u043d\u0430\u044f \u0441\u0443\u0442\u044c, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u0430\u044f \u0442\u043e\u0431\u043e\u0439\",\n  \"essence_replaced\": \"true/false\",\n  \"final_essence\": \"\u0438\u0442\u043e\u0433\u043e\u0432\u0430\u044f, \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0441\u0443\u0442\u0438, \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0439 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442\",\n  \"example_from_knowledge_base\": \"\u0422\u043e\u0447\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0437 \u0431\u0430\u0437\u044b \u0437\u043d\u0430\u043d\u0438\u0439\"\n}",
        "autoFix": true
      },
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "typeVersion": 1.3,
      "position": [
        992,
        592
      ],
      "id": "89688526-29a1-4426-a37e-5047057233e9",
      "name": "Structured Output Parser",
      "retryOnFail": true,
      "maxTries": 5,
      "waitBetweenTries": 1
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "d32472ee-98bc-4f60-ad09-31aa305af1dd",
              "leftValue": "={{ $json.output.essence_replaced }}",
              "rightValue": "true",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        1312,
        240
      ],
      "id": "23a2af66-ed11-449a-9428-2518d723372e",
      "name": "If"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        2096,
        752
      ],
      "id": "898b4cbc-b457-405c-ba1b-faf26d51ff81",
      "name": "Recursive Character Text Splitter"
    },
    {
      "parameters": {
        "inputSource": "passthrough"
      },
      "id": "5c534761-f600-493b-bb52-5f8c4931b8fc",
      "typeVersion": 1.1,
      "name": "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        64,
        352
      ]
    },
    {
      "parameters": {
        "amount": 0.5
      },
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        1392,
        368
      ],
      "id": "d3efbda2-dbeb-4b14-8460-02ef3735bb93",
      "name": "Wait"
    },
    {
      "parameters": {
        "operation": "deleteTable",
        "schema": {
          "__rl": true,
          "mode": "list",
          "value": "public"
        },
        "table": {
          "__rl": true,
          "value": "={{ $('Loop Over Items').item.json.domain_name }}_priorities",
          "mode": "name"
        },
        "deleteCommand": "delete",
        "where": {
          "values": [
            {
              "column": "=text",
              "value": "={{ $json.output.example_from_knowledge_base }}"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.postgres",
      "typeVersion": 2.6,
      "position": [
        1520,
        224
      ],
      "id": "8fa90369-b3bf-40fb-ba17-311c2767316f",
      "name": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440",
      "credentials": {
        "postgres": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Main LLM": {
      "ai_languageModel": [
        [
          {
            "node": "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0442\u0438 \u0437\u0430\u044f\u0432\u043a\u0438",
            "type": "ai_languageModel",
            "index": 0
          },
          {
            "node": "Structured Output Parser",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Model": {
      "ai_embedding": [
        [
          {
            "node": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "Split Out",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Out": {
      "main": [
        [
          {
            "node": "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0442\u0438 \u0437\u0430\u044f\u0432\u043a\u0438",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0432\u0435\u043a\u0442\u043e\u0440\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0442\u0438 \u0437\u0430\u044f\u0432\u043a\u0438": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          },
          {
            "node": "Wait",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0441\u0444\u0435\u0440\u0435": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Postgres PGVector Store": {
      "ai_tool": [
        [
          {
            "node": "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0442\u0438 \u0437\u0430\u044f\u0432\u043a\u0438",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings Ollama": {
      "ai_embedding": [
        [
          {
            "node": "Postgres PGVector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u0443\u0442\u0438 \u0437\u0430\u044f\u0432\u043a\u0438",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445": {
      "main": [
        [
          {
            "node": "\u0413\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430 \u043f\u043e \u0441\u0444\u0435\u0440\u0435",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440": {
      "main": [
        []
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "availableInMCP": false
  },
  "versionId": "template",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "id": "aq7hLxQv2f7dgoke",
  "tags": []
}

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.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Обработка обратной связи. Uses [[[providers, vectorStorePGVector, documentDefaultDataLoader, agent. Event-driven trigger; 17 nodes.

Source: https://github.com/Mandravrotka/servicedesk_priority/blob/c9d2adfcdb390370c32606d0b7157ea69429b338/setup/templates/workflows/feedback-processing.json.template — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

Ideal for businesses that receive frequent inquiries about products or services and want to automate responses, freeing up time to focus on core operations. Polls your inbox for new incoming emails Cl

OpenAI Embeddings, Microsoft Outlook Trigger, OpenAI +11
AI & RAG

This powerful AI automation add-on upgrades your Telegram Bot Starter Template by integrating a fully functional AI chatbot and a context-aware AI agent that answers user questions using your internal

OpenAI Chat, Document Default Data Loader, OpenAI Embeddings +10
AI & RAG

Search Worflow Docker Complete. Uses documentDefaultDataLoader, textSplitterCharacterTextSplitter, vectorStoreSupabase, embeddingsOllama. Scheduled trigger; 71 nodes.

Document Default Data Loader, Text Splitter Character Text Splitter, Supabase Vector Store +14
AI & RAG

This simple philosophy changes the way we think about automated sales agents. Context changes everything. In this 4-part workflow, we start by creating a knowledge base that will act as context across

Pinecone Vector Store, Document Default Data Loader, Text Splitter Recursive Character Text Splitter +12
AI & RAG

RAG AI Agent Template V5. Uses lmChatOpenAi, documentDefaultDataLoader, embeddingsOpenAi, googleDrive. Event-driven trigger; 56 nodes.

OpenAI Chat, Document Default Data Loader, OpenAI Embeddings +12