Usar IA y Gmail para actualizar automáticamente las notas de transacciones de Amazon en YNAB

Avanzado

Este es unDocument Extraction, AI Summarizationflujo de automatización del dominio deautomatización que contiene 30 nodos.Utiliza principalmente nodos como If, Set, Wait, Gmail, Webhook. Actualizar automáticamente las notas de transacciones de Amazon en YNAB usando IA y Gmail

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Punto final de HTTP Webhook (n8n generará automáticamente)
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Clave de API de OpenAI
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "meta": {
    "instanceId": "03e9d14e9196363fe7191ce21dc0bb17387a6e755dcc9acc4f5904752919dca8",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "6ee18fe3-405a-49a3-8f86-11ccefda3548",
      "name": "Al hacer clic en 'Probar flujo de trabajo'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -864,
        160
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
      "name": "Verificar Siguiente Transacción",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2752,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "d5b14c55-eac1-4bbb-9e94-42a4ebd641e1",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -864,
        16
      ],
      "webhookId": "1c756ff4-2cf9-4570-b633-b2d8d193475b",
      "parameters": {
        "path": "1c756ff4-2cf9-4570-b633-b2d8d193475b",
        "options": {},
        "authentication": "basicAuth"
      },
      "credentials": {
        "httpBasicAuth": {
          "id": "xxrkmwLKTSvujNH4",
          "name": "n8n internal"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "3bd820de-86fe-4ddf-a876-fc7756cd0162",
      "name": "Activador Programado",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -864,
        -128
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "2810da77-72ac-4ee3-b563-ef0a71d0a5f7",
      "name": "Calculadora",
      "type": "@n8n/n8n-nodes-langchain.toolCalculator",
      "position": [
        2112,
        -48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "70f26d90-fffb-491b-9895-32bdd9d29ed5",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1920,
        -48
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "jQgIuototc3X8Idi",
          "name": "n8n Marketing Open AI"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7df5e6bf-e3b9-41a5-a406-285ff502f665",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -928,
        -400
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 768,
        "content": "![YNAB](https://upload.wikimedia.org/wikipedia/commons/thumb/d/d4/YNAB_logo.svg/115px-YNAB_logo.svg.png)\n## Trigger and Get YNAB Transactions\nThis workflow can be triggered several different ways. Ideally, it runs on a schedule every hour, and when new transactions are found, the memo fields are automatically updated. "
      },
      "typeVersion": 1
    },
    {
      "id": "34f849a7-fb42-4eb8-951d-ede8d2102381",
      "name": "Obtener Todas las Transacciones No Aprobadas",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -352,
        48
      ],
      "parameters": {
        "url": "=https://api.ynab.com/v1/budgets/{{ $json.budgetid }}/transactions",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "type",
              "value": "unapproved"
            }
          ]
        },
        "nodeCredentialType": "ynabApi"
      },
      "credentials": {
        "ynabApi": {
          "id": "LAMbpNc7ufRN2Yic",
          "name": "YNAB account"
        },
        "httpHeaderAuth": {
          "id": "8Yr1tAjoggYWKgcJ",
          "name": "YNAB Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "79d3aa72-8fce-4367-a6c2-eb0cb59406e6",
      "name": "Separar Transacciones",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        -96,
        48
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "data.transactions"
      },
      "typeVersion": 1
    },
    {
      "id": "221a624e-815e-4a56-9096-7e9e3030a2d5",
      "name": "Extraer Datos Necesarios",
      "type": "n8n-nodes-base.set",
      "position": [
        128,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "24124c97-17e7-4468-a332-6831e86ea9fb",
              "name": "date",
              "type": "string",
              "value": "={{ $json.date }}"
            },
            {
              "id": "d73d6405-59d7-4b0a-ad73-9bb6aad9f111",
              "name": "amount",
              "type": "number",
              "value": "={{ ($json.amount / 1000).toFixed(2) }}"
            },
            {
              "id": "a9c66b70-5d1b-445c-a13e-64df994f7770",
              "name": "account_name",
              "type": "string",
              "value": "={{ $json.account_name }}"
            },
            {
              "id": "53eae7b8-c39c-4774-8240-856ba70cbb0b",
              "name": "payee_name",
              "type": "string",
              "value": "={{ $json.payee_name }}"
            },
            {
              "id": "da81f003-5597-4bd3-b303-96493bc20519",
              "name": "category_name",
              "type": "string",
              "value": "={{ $json.category_name }}"
            },
            {
              "id": "315e5b5c-aece-4988-b42f-0872d090e0c0",
              "name": "import_payee_name_original",
              "type": "string",
              "value": "={{ $json.import_payee_name_original }}"
            },
            {
              "id": "4bd06ea6-b7d7-411f-a402-cb31e56ad03c",
              "name": "approved",
              "type": "boolean",
              "value": "={{ $json.approved }}"
            },
            {
              "id": "9167c3ce-e2c6-4b30-a1e2-e29910aceebd",
              "name": "transaction_id",
              "type": "string",
              "value": "={{ $json.id }}"
            },
            {
              "id": "ec4079ad-5aed-4bb7-9a06-97631f796ed3",
              "name": "account_id",
              "type": "string",
              "value": "={{ $json.account_id }}"
            },
            {
              "id": "ccdcc857-8465-4455-bd93-59d7d998dc22",
              "name": "memo",
              "type": "string",
              "value": "={{ $json.memo }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e9062f61-44e0-464f-ba76-8303650244a0",
      "name": "Verificar si es Compra de Amazon",
      "type": "n8n-nodes-base.if",
      "position": [
        352,
        48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "19aaf513-c93e-4895-8e16-7aef1e5ed2ba",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.payee_name.toLowerCase() }}",
              "rightValue": "amazon"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "467f2ece-bf82-4526-ab99-11ebce6e2662",
      "name": "Verificar si el campo Memo está Vacío",
      "type": "n8n-nodes-base.if",
      "position": [
        576,
        48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "5330bad2-50b5-470d-8c5a-5a877ec481a5",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.memo }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "51438377-a3e4-4224-be1d-2d7b7fb0f63c",
      "name": "Iterar sobre Transacciones",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        800,
        -16
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "062a5050-9e21-4e16-9126-9b84108a51d0",
      "name": "Esperar 5 segundos para evitar Límites de Tasa",
      "type": "n8n-nodes-base.wait",
      "position": [
        2992,
        32
      ],
      "webhookId": "800d4979-691b-4c02-af75-467ee9e767ad",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "094e245a-ab4a-4b3d-b60c-bac5d23028e8",
      "name": "Actualizar Campo Memo de Transacción",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2560,
        -240
      ],
      "parameters": {
        "url": "=https://api.ynab.com/v1/budgets/{{ $('BudgetID').item.json.budgetid }}/transactions/{{ $('Loop Over Transactions').item.json.transaction_id }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={\n  \"transaction\": {\n    \"memo\": \"{{ ($json.output || '')\n    .replace(/[\\\\\\n\\r\\t\"]/g, ' ')   // remove backslashes, newlines, tabs, quotes\n    .replace(/\\s+/g, ' ')           // collapse extra spaces\n    .trim()\n    .slice(0, 499) }}\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "ynabApi"
      },
      "credentials": {
        "ynabApi": {
          "id": "LAMbpNc7ufRN2Yic",
          "name": "YNAB account"
        },
        "httpHeaderAuth": {
          "id": "8Yr1tAjoggYWKgcJ",
          "name": "YNAB Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "c8db0869-a551-4e56-84bc-d3c99ccd8d83",
      "name": "Actualizar memo con Error",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2528,
        32
      ],
      "parameters": {
        "url": "=https://api.ynab.com/v1/budgets/{{ $('BudgetID').item.json.budgetid }}/transactions/{{ $('Loop Over Transactions').item.json.transaction_id }}",
        "method": "PUT",
        "options": {},
        "jsonBody": "={\n  \"transaction\": {\n    \"memo\": \"No valid purchase information found.\"\n  }\n}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "ynabApi"
      },
      "credentials": {
        "ynabApi": {
          "id": "LAMbpNc7ufRN2Yic",
          "name": "YNAB account"
        },
        "httpHeaderAuth": {
          "id": "8Yr1tAjoggYWKgcJ",
          "name": "YNAB Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3c1f3a54-c2ee-4a50-9cea-8ac85cce3bb3",
      "name": "Buscar Correos por Monto de Transacción",
      "type": "n8n-nodes-base.gmail",
      "notes": "Within 5 day range",
      "position": [
        1056,
        16
      ],
      "webhookId": "a2e46469-783f-4a8e-b079-0dd479b1f485",
      "parameters": {
        "simple": false,
        "filters": {
          "q": "={{ ($json.amount * -1).toFixed(2) }}",
          "receivedAfter": "={{ $json.date.toDateTime().minus(5,'day') }}",
          "receivedBefore": "={{ $json.date.toDateTime().plus(5,'day')  }}"
        },
        "options": {},
        "operation": "getAll"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "35",
          "name": "Angel Personal Gmail"
        }
      },
      "notesInFlow": true,
      "typeVersion": 2.1,
      "alwaysOutputData": true
    },
    {
      "id": "3bddaecc-ee49-4b66-bf29-4746385c892d",
      "name": "Verificar si se encontraron correos",
      "type": "n8n-nodes-base.if",
      "position": [
        1248,
        16
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "7a24b35c-682a-4e58-9538-8d8a46e0e502",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.id }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "9d6dc5c7-1a44-437d-b78f-deee027a8b75",
      "name": "Formatear Correos",
      "type": "n8n-nodes-base.set",
      "position": [
        1472,
        -224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1be94e55-fe3b-4191-98f2-19982bdab5a1",
              "name": "message",
              "type": "string",
              "value": "={{ $json.headers.to }}\n{{ $json.headers.from }}\nDate: {{ $json.date }}\nSubject: {{ $json.subject }}\nText HTML: {{ $json.html }}\n"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "de8842de-e2e3-4ba7-99d2-0abfe8355e1e",
      "name": "Unir correos",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        1696,
        -224
      ],
      "parameters": {
        "options": {},
        "fieldsToAggregate": {
          "fieldToAggregate": [
            {
              "renameField": true,
              "outputFieldName": "messages",
              "fieldToAggregate": "message"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
      "name": "Agente de IA para Memo",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1920,
        -224
      ],
      "parameters": {
        "text": "=Transaction Information:\nTransaction Date: {{ $('Loop Over Transactions').item.json.date }}\nAmount: {{ $('Loop Over Transactions').item.json.amount }}\nPayee: {{ $('Loop Over Transactions').item.json.payee_name }}\nPayee Line: {{ $('Loop Over Transactions').item.json.import_payee_name_original }}\n\nEmail Information:\n{{ $json.messages }}",
        "options": {
          "systemMessage": "=You are an intelligent parser and summarizer for purchase confirmation emails. You will receive one or more emails related to an Amazon purchase, including possible duplicates, shipping notices, delivery confirmations, or irrelevant messages.\n\nYour task:\n\n1. **Determine which email(s)** contain the most *complete and accurate purchase information* — that means product names and prices from the order confirmation or payment receipt, not shipping or delivery notices.\n2. **Extract all purchased items and their prices** from the most relevant email(s). If multiple emails contain overlapping information, deduplicate and keep the clearest version.\n3. **Summarize** the purchase in a single, concise line suitable for a YNAB transaction memo, with a strict limit of **499 characters**.\n4. Format your summary as:\n\n   ```\n   Item1 ($X), Item2 ($Y), Item3 ($Z) — Total $TOTAL\n   ```\n\n   Abbreviate item names as needed to fit within the limit while keeping them understandable.\n5. If the email set doesn’t contain a valid purchase receipt, respond with:\n\n   ```\n   No valid purchase information found.\n   ```\n\nGuidelines:\n\n* Prioritize **accuracy of prices** and **clarity of product names**.\n* Ignore shipping details, delivery updates, recommendations, or unrelated text.\n* Only include **items actually purchased**.\n* If multiple identical items were bought, include a count like `2x Charger ($15 each)`.\n* If an email contains multiple orders, only include details for the order in question, by figuring out what items in the email match the Transaction Information. Only output items above the Order Total that matches the transaction amount (even if there is no specific amount for each. If there is no specific amount for each item then just output the items without the price, but ensure to include the items).\n\nYou have the following tools to help with calculating values:\n{tools}\n\n\nOutput only the final summary line or no valid purchase line, nothing else.\n"
        },
        "promptType": "define"
      },
      "typeVersion": 2.2
    },
    {
      "id": "db7390de-f066-441f-bf54-e8960e69fbba",
      "name": "Verificar si la IA puede analizar los artículos",
      "type": "n8n-nodes-base.if",
      "position": [
        2304,
        -224
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "1837942d-4a55-4e7c-bc6c-cebee7d19648",
              "operator": {
                "type": "string",
                "operation": "notContains"
              },
              "leftValue": "={{ $json.output }}",
              "rightValue": "No valid purchase information found."
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "8f7951b9-c3a1-4909-ad55-80b251461002",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -192,
        -160
      ],
      "parameters": {
        "color": 7,
        "width": 720,
        "height": 384,
        "content": "## Filter out unneeded Transactions\nThe workflow first extracts the transactions, then it extracts only the data needed to process the memo. Then it checks if it's an Amazon transaction, and if the memo field is up empty or not."
      },
      "typeVersion": 1
    },
    {
      "id": "1445b7c0-7691-416a-b794-593fb8cb7e36",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        544,
        -176
      ],
      "parameters": {
        "color": 7,
        "height": 400,
        "content": "## Loop through Transactions\nFrom there, each of the transactions is processed individually. "
      },
      "typeVersion": 1
    },
    {
      "id": "7e62c4a0-d0e6-42bc-9a82-489c0e3fcc62",
      "name": "Nota Adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -368
      ],
      "parameters": {
        "color": 7,
        "width": 848,
        "height": 592,
        "content": "## Analyze Emails for Transaction Data\nFirst, the email account is searched for emails from Amazon. It checks 5 days before and after the transaction ensure that it's not missed. From there the emails are smushed together into a single JSON object to pass along into the AI Agent. "
      },
      "typeVersion": 1
    },
    {
      "id": "1121b31a-268d-47af-841c-34ac45565cf5",
      "name": "Nota Adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2032,
        -416
      ],
      "parameters": {
        "color": 7,
        "width": 896,
        "height": 640,
        "content": "## Update Memo Field and Move on to next Transaction\nFrom there, the memo field is updated on each Transaction. If the AI was able to find the price data it needs, it uses that to update the memo field. The memo field is limited to around 500 characters, so it has to make the item names more concise. If items are not found, it updates the memo with a hardcoded message to let you know that you need to locate it yourself. This also prevents a transaction from constantly running through the AI agent. At the end we have a rate limiting wait to ensure the AI doesn't get overwhelmed with too many requests at once. Check your AI model API limits to set the wait value correctly. "
      },
      "typeVersion": 1
    },
    {
      "id": "f92b9e36-eae9-41bc-86cb-cf3bc70019bd",
      "name": "Nota Adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1664,
        -608
      ],
      "parameters": {
        "color": 7,
        "width": 352,
        "height": 832,
        "content": "## Use AI to Extract information\nThe AI agent then receives all the emails and the transaction information, and uses that to extract the information needed using the System Prompt. You can use any AI you wish, but your results may vary. \n- ChatGPT is currently best for this, however it's the most expensive. \n- Google Gemini has a free tier, however it's limited depending on your model.\n\n\n⚠️ _Warning: I am feeding the AI the most verbose emails to ensure items are found even in hidden HTML fields, but it can be updated to reduce cost by adding an html to markdown converter which may help reduce tokens at the cost of accuracy._"
      },
      "typeVersion": 1
    },
    {
      "id": "3559c8c5-e554-467e-9c28-ea05a2d0d02e",
      "name": "Nota Adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -656,
        -128
      ],
      "parameters": {
        "color": 3,
        "width": 256,
        "height": 352,
        "content": "### Update with your budget id\nTo get the budget ID, login to the app, and look in your url for the portion with Xs in my example. Update the URL with it: https://app.ynab.com/XXXXXXXX-XXX-XXX-XXX-XXXXXXX/budget"
      },
      "typeVersion": 1
    },
    {
      "id": "974d2930-8924-4ced-b818-0ff7e6ae2f31",
      "name": "No se Encontraron Correos",
      "type": "n8n-nodes-base.noOp",
      "position": [
        1600,
        32
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
      "name": "BudgetID",
      "type": "n8n-nodes-base.set",
      "position": [
        -576,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "33f4d69a-598d-4d78-8586-b8b2cd6e2d75",
              "name": "budgetid",
              "type": "string",
              "value": "XXXXX"
            }
          ]
        }
      },
      "typeVersion": 3.4
    }
  ],
  "pinData": {
    "When clicking ‘Test workflow’": [
      {}
    ]
  },
  "connections": {
    "d5b14c55-eac1-4bbb-9e94-42a4ebd641e1": {
      "main": [
        [
          {
            "node": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "209cb59b-fa92-4695-9fcc-14a2d0c31483": {
      "main": [
        [
          {
            "node": "34f849a7-fb42-4eb8-951d-ede8d2102381",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2810da77-72ac-4ee3-b563-ef0a71d0a5f7": {
      "ai_tool": [
        [
          {
            "node": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "9d6dc5c7-1a44-437d-b78f-deee027a8b75": {
      "main": [
        [
          {
            "node": "de8842de-e2e3-4ba7-99d2-0abfe8355e1e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79": {
      "main": [
        [
          {
            "node": "db7390de-f066-441f-bf54-e8960e69fbba",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "974d2930-8924-4ced-b818-0ff7e6ae2f31": {
      "main": [
        [
          {
            "node": "c8db0869-a551-4e56-84bc-d3c99ccd8d83",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bd820de-86fe-4ddf-a876-fc7756cd0162": {
      "main": [
        [
          {
            "node": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "70f26d90-fffb-491b-9895-32bdd9d29ed5": {
      "ai_languageModel": [
        [
          {
            "node": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "221a624e-815e-4a56-9096-7e9e3030a2d5": {
      "main": [
        [
          {
            "node": "e9062f61-44e0-464f-ba76-8303650244a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de8842de-e2e3-4ba7-99d2-0abfe8355e1e": {
      "main": [
        [
          {
            "node": "dbd5a80a-207e-4bfc-9d4f-6f7f47bd5c79",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3bddaecc-ee49-4b66-bf29-4746385c892d": {
      "main": [
        [
          {
            "node": "9d6dc5c7-1a44-437d-b78f-deee027a8b75",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "974d2930-8924-4ced-b818-0ff7e6ae2f31",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5571fbfd-9c84-445a-9972-792dcb2a9e42": {
      "main": [
        [
          {
            "node": "062a5050-9e21-4e16-9126-9b84108a51d0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51438377-a3e4-4224-be1d-2d7b7fb0f63c": {
      "main": [
        [],
        [
          {
            "node": "3c1f3a54-c2ee-4a50-9cea-8ac85cce3bb3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "79d3aa72-8fce-4367-a6c2-eb0cb59406e6": {
      "main": [
        [
          {
            "node": "221a624e-815e-4a56-9096-7e9e3030a2d5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c8db0869-a551-4e56-84bc-d3c99ccd8d83": {
      "main": [
        [
          {
            "node": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e9062f61-44e0-464f-ba76-8303650244a0": {
      "main": [
        [
          {
            "node": "467f2ece-bf82-4526-ab99-11ebce6e2662",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "467f2ece-bf82-4526-ab99-11ebce6e2662": {
      "main": [
        [
          {
            "node": "51438377-a3e4-4224-be1d-2d7b7fb0f63c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "094e245a-ab4a-4b3d-b60c-bac5d23028e8": {
      "main": [
        [
          {
            "node": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "db7390de-f066-441f-bf54-e8960e69fbba": {
      "main": [
        [
          {
            "node": "094e245a-ab4a-4b3d-b60c-bac5d23028e8",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "c8db0869-a551-4e56-84bc-d3c99ccd8d83",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "34f849a7-fb42-4eb8-951d-ede8d2102381": {
      "main": [
        [
          {
            "node": "79d3aa72-8fce-4367-a6c2-eb0cb59406e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6ee18fe3-405a-49a3-8f86-11ccefda3548": {
      "main": [
        [
          {
            "node": "209cb59b-fa92-4695-9fcc-14a2d0c31483",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3c1f3a54-c2ee-4a50-9cea-8ac85cce3bb3": {
      "main": [
        [
          {
            "node": "3bddaecc-ee49-4b66-bf29-4746385c892d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "062a5050-9e21-4e16-9126-9b84108a51d0": {
      "main": [
        [
          {
            "node": "51438377-a3e4-4224-be1d-2d7b7fb0f63c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Extracción de documentos, Resumen de IA

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos30
Categoría2
Tipos de nodos16
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Angel Menendez

Angel Menendez

@djangelic

Angel Menendez is a Staff Developer Advocate at n8n.io, specializing in low-code tools for cybersecurity workflows. From Puerto Rico, Angel's tech journey began by helping his father translate technical books. He later started a web development business and transitioned from a career as a flight attendant to cybersecurity engineering. His workflows have saved companies significant time. Outside work, Angel enjoys time with his two sons, riding electric bikes, reading, and exploring new places.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34