AutomationFlowsAI & RAG › AI Ecommerce Agent Subworkflow

AI Ecommerce Agent Subworkflow

Original n8n title: Agente Ecommerce V3 Subflujo

Agente_Ecommerce_v3_subflujo. Uses embeddingsGoogleGemini, vectorStoreQdrant, executeWorkflowTrigger, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 10 nodes.

Event trigger★★★★☆ complexityAI-powered10 nodesGoogle Gemini EmbeddingsQdrant Vector StoreExecute Workflow TriggerText Splitter Recursive Character Text SplitterDocument Default Data LoaderHTTP Request
AI & RAG Trigger: Event Nodes: 10 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Documentdefaultdataloader → Google Gemini Embeddings 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": "Agente_Ecommerce_v3_subflujo",
  "nodes": [
    {
      "parameters": {
        "modelName": "models/text-embedding-004"
      },
      "type": "@n8n/n8n-nodes-langchain.embeddingsGoogleGemini",
      "typeVersion": 1,
      "position": [
        380,
        500
      ],
      "id": "6c07011f-88cc-4430-9758-3e2490107a78",
      "name": "Embeddings Google Gemini",
      "credentials": {
        "googlePalmApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "mode": "insert",
        "qdrantCollection": {
          "__rl": true,
          "value": "tienda",
          "mode": "id"
        },
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
      "typeVersion": 1,
      "position": [
        540,
        240
      ],
      "id": "d240d852-97be-4fa0-befe-0a6ba077055f",
      "name": "Qdrant Vector Store",
      "credentials": {
        "qdrantApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "inputSource": "passthrough"
      },
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "typeVersion": 1.1,
      "position": [
        -500,
        240
      ],
      "id": "71fa7e87-0c2a-45f7-a270-d51a7092a237",
      "name": "Inicio"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "typeVersion": 1,
      "position": [
        720,
        600
      ],
      "id": "fb93811f-d6e5-4fa6-ac10-9a8fc07f5b32",
      "name": "Recursive Character Text Splitter"
    },
    {
      "parameters": {
        "dataType": "binary",
        "loader": "csvLoader",
        "options": {
          "metadata": {
            "metadataValues": [
              {
                "name": "tipo",
                "value": "tienda"
              }
            ]
          }
        }
      },
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "typeVersion": 1,
      "position": [
        580,
        440
      ],
      "id": "19215e3e-43d0-4fd0-aa0e-0e6e7d5ce8eb",
      "name": "Default Data Loader"
    },
    {
      "parameters": {
        "jsCode": "return items.map(item => {\n  const data = item.json;\n\n  // Funci\u00f3n para eliminar etiquetas HTML\n  const stripHTML = (html) =>\n    typeof html === 'string'\n      ? html.replace(/<[^>]*>/g, '').trim()\n      : '';\n\n  // Valores base\n  const base = {\n    id: data.id || null,\n    name: data.name || '',\n    slug: data.slug || '',\n    permalink: data.permalink || '',\n    description: stripHTML(data.description),\n    short_description: stripHTML(data.short_description),\n    sku: data.sku || '',\n    price: data.price || '',\n    categories: Array.isArray(data.categories)\n      ? data.categories.map(cat => cat.name).filter(Boolean).join(', ')\n      : '',\n    images: Array.isArray(data.images)\n      ? data.images.map(img => img.src).filter(Boolean).join(', ')\n      : ''\n  };\n\n  // Atributos a columnas planas (Color: Amarillo, Talla: M, etc.)\n  if (Array.isArray(data.attributes)) {\n    for (const attr of data.attributes) {\n      if (\n        attr &&\n        typeof attr.name === 'string' &&\n        Array.isArray(attr.options)\n      ) {\n        base[attr.name] = attr.options.join(', ');\n      }\n    }\n  }\n\n  return { json: base };\n});\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        60,
        240
      ],
      "id": "f704a5a9-7cfa-4d06-8701-1586bbb0b75d",
      "name": "Transformar Datos"
    },
    {
      "parameters": {
        "jsCode": "// Obtener los productos desde el nodo \"Filtrar la informaci\u00f3n de productos\"\nconst productos = $('Transformar Datos').all().flatMap(item => item.json); \n\n// Si la API devolvi\u00f3 menos productos de los esperados, detener el loop\nif (!productos || productos.length < $('Inicio').first().json.limit) {\n    return [{ json: { hasMore: false } }];\n}\n\n// Aumentar el offset para la siguiente iteraci\u00f3n\nreturn [{ json: { offset: $('Inicio').first().json.offset + $('Inicio').first().json.limit, limit: $('Inicio').first().json.limit, hasMore: true } }];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1220,
        240
      ],
      "id": "ef22581a-a82a-4937-a936-61bdbe9abb2a",
      "name": "Salida a Flujo Principal"
    },
    {
      "parameters": {
        "aggregate": "aggregateAllItemData",
        "options": {}
      },
      "type": "n8n-nodes-base.aggregate",
      "typeVersion": 1,
      "position": [
        960,
        240
      ],
      "id": "df07d2cb-e9d7-4752-a6e7-49cb74337271",
      "name": "Aggregate"
    },
    {
      "parameters": {
        "url": "=https://tienda.blunexai.com/wp-json/wc/v3/products?offset={{$('Inicio').item.json.offset}}&per_page={{$('Inicio').item.json.limit}}",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpBasicAuth",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        -240,
        240
      ],
      "id": "d4b539c1-84ea-4a4e-beeb-eadd21a25005",
      "name": "Obtener Productos",
      "credentials": {
        "httpBasicAuth": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.convertToFile",
      "typeVersion": 1.1,
      "position": [
        280,
        240
      ],
      "id": "8f72b3bc-7cf3-4b71-bf9f-fe5104713c5a",
      "name": "Convertir a CSV"
    }
  ],
  "connections": {
    "Embeddings Google Gemini": {
      "ai_embedding": [
        [
          {
            "node": "Qdrant Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "Inicio": {
      "main": [
        [
          {
            "node": "Obtener Productos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Qdrant Vector Store",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Transformar Datos": {
      "main": [
        [
          {
            "node": "Convertir a CSV",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Qdrant Vector Store": {
      "main": [
        [
          {
            "node": "Aggregate",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Aggregate": {
      "main": [
        [
          {
            "node": "Salida a Flujo Principal",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Obtener Productos": {
      "main": [
        [
          {
            "node": "Transformar Datos",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convertir a CSV": {
      "main": [
        [
          {
            "node": "Qdrant Vector Store",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d445cb2f-7a01-435d-ac1a-e65370a03f99",
  "id": "yvULG0mlLdzW4MQX",
  "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

Agente_Ecommerce_v3_subflujo. Uses embeddingsGoogleGemini, vectorStoreQdrant, executeWorkflowTrigger, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 10 nodes.

Source: https://github.com/DragonJAR/n8n-workflows-esp/blob/5b7d3b288093125a02c8d1034fbf6107b85e4974/workflows/01555-Agente_Ecommerce_v3_subflujo.json — 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

Api Schema Extractor. Uses manualTrigger, httpRequest, splitOut, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 88 nodes.

HTTP Request, Text Splitter Recursive Character Text Splitter, Document Default Data Loader +9
AI & RAG

Wait Splitout. Uses manualTrigger, httpRequest, splitOut, textSplitterRecursiveCharacterTextSplitter. Event-driven trigger; 88 nodes.

HTTP Request, Text Splitter Recursive Character Text Splitter, Document Default Data Loader +9
AI & RAG

This workflow automates the process of discovering and extracting APIs from various services, followed by generating custom schemas. It works in three distinct stages: research, extraction, and schema

HTTP Request, Text Splitter Recursive Character Text Splitter, Document Default Data Loader +9
AI & RAG

I originally started to template to ask questions on the "n8n @ scale office-hours" livestream videos but then extended it to include the latest videos on the official channel.

HTTP Request, Qdrant Vector Store, Document Default Data Loader +7
AI & RAG

Code Extractfromfile. Uses manualTrigger, sort, httpRequest, compression. Event-driven trigger; 50 nodes.

HTTP Request, Compression, Edit Image +15