Mettre à jour automatiquement les notes des transactions Amazon dans YNAB avec l'IA et Gmail
Ceci est unDocument Extraction, AI Summarizationworkflow d'automatisation du domainecontenant 30 nœuds.Utilise principalement des nœuds comme If, Set, Wait, Gmail, Webhook. Mettre à jour automatiquement les notes de transactions Amazon dans YNAB avec IA et Gmail
- •Compte Google et informations d'identification Gmail API
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
- •Peut nécessiter les informations d'identification d'authentification de l'API cible
- •Clé API OpenAI
Nœuds utilisés (30)
Catégorie
{
"meta": {
"instanceId": "03e9d14e9196363fe7191ce21dc0bb17387a6e755dcc9acc4f5904752919dca8",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "6ee18fe3-405a-49a3-8f86-11ccefda3548",
"name": "Lors du clic sur 'Tester le workflow'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-864,
160
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5571fbfd-9c84-445a-9972-792dcb2a9e42",
"name": "Vérifier la prochaine transaction",
"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": "Déclencheur programmé",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-864,
-128
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "2810da77-72ac-4ee3-b563-ef0a71d0a5f7",
"name": "Calculatrice",
"type": "@n8n/n8n-nodes-langchain.toolCalculator",
"position": [
2112,
-48
],
"parameters": {},
"typeVersion": 1
},
{
"id": "70f26d90-fffb-491b-9895-32bdd9d29ed5",
"name": "Modèle de chat OpenAI",
"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": "Note autocollante",
"type": "n8n-nodes-base.stickyNote",
"position": [
-928,
-400
],
"parameters": {
"color": 7,
"width": 720,
"height": 768,
"content": "\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": "Obtenir toutes les transactions non approuvées",
"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": "Séparer les transactions",
"type": "n8n-nodes-base.splitOut",
"position": [
-96,
48
],
"parameters": {
"options": {},
"fieldToSplitOut": "data.transactions"
},
"typeVersion": 1
},
{
"id": "221a624e-815e-4a56-9096-7e9e3030a2d5",
"name": "Extraire les données nécessaires",
"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": "Vérifier si achat 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": "Vérifier si le champ Mémo est vide",
"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": "Boucler sur les transactions",
"type": "n8n-nodes-base.splitInBatches",
"position": [
800,
-16
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "062a5050-9e21-4e16-9126-9b84108a51d0",
"name": "Attendre 5 secondes pour éviter la limitation de débit",
"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": "Mettre à jour le champ Mémo de la transaction",
"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": "Mettre à jour le mémo avec erreur",
"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": "Rechercher des e-mails pour le montant de la transaction",
"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": "Vérifier si des e-mails sont trouvés",
"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": "Formater les e-mails",
"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": "Fusionner les e-mails",
"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": "Agent IA pour Mémo",
"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": "Vérifier si l'IA peut analyser les articles",
"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": "Note autocollante1",
"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": "Note autocollante2",
"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": "Note autocollante3",
"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": "Note autocollante4",
"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": "Note autocollante5",
"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": "Note autocollante6",
"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": "Aucun e-mail trouvé",
"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
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Avancé - Extraction de documents, Résumé IA
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
Angel Menendez
@djangelicAngel 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.
Partager ce workflow