Copia de seguridad de flujos de trabajo N8N en Github
Avanzado
Este es unautomatización que contiene 30 nodos.Utiliza principalmente nodos como If, N8n, Set, Code, Wait. Respaldar flujos de trabajo de N8N en Github
Requisitos previos
- •Personal Access Token de GitHub
- •Bot Token de Discord o Webhook
Nodos utilizados (30)
Categoría
-
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": "7a94cd64cdcb53cb721e010cea9e90907c1dc5fd6766b2d732b573c42bb273f8",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "696255b0-7786-410c-927f-ffb4fa7784b9",
"name": "Al hacer clic en 'ejecutar'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
400,
-400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5ffbd7ff-596c-4d69-a327-95ab9e31c144",
"name": "Nota adhesiva",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
140
],
"parameters": {
"color": 6,
"width": 2111,
"height": 752,
"content": "## Subworkflow"
},
"typeVersion": 1
},
{
"id": "d552bfbd-24cc-43ab-b008-ba837525e234",
"name": "Activador Ejecutar flujo de trabajo",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
180,
540
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f",
"name": "n8n",
"type": "n8n-nodes-base.n8n",
"position": [
800,
-300
],
"parameters": {
"filters": {},
"requestOptions": {}
},
"credentials": {
"n8nApi": {
"id": "n99peePbw8bFtE9X",
"name": "N8N Key (Github Backup)"
}
},
"typeVersion": 1
},
{
"id": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"name": "Retornar",
"type": "n8n-nodes-base.set",
"position": [
2140,
340
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8d513345-6484-431f-afb7-7cf045c90f4f",
"name": "Done",
"type": "boolean",
"value": true
}
]
}
},
"typeVersion": 3.3
},
{
"id": "cc1748c6-972e-4909-a0d9-2aada40e49b6",
"name": "Si archivo es demasiado grande",
"type": "n8n-nodes-base.if",
"position": [
820,
260
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "45ce825e-9fa6-430c-8931-9aaf22c42585",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.content }}",
"rightValue": ""
},
{
"id": "3ce332ca-3827-4c2d-becd-837da737d285",
"operator": {
"type": "string",
"operation": "notExists",
"singleValue": true
},
"leftValue": "={{ $json.error }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"name": "Combinar elementos",
"type": "n8n-nodes-base.merge",
"position": [
820,
520
],
"parameters": {},
"typeVersion": 2
},
{
"id": "627cc21c-1f7f-4266-a558-357289bb2746",
"name": "Mismo archivo - No hacer nada",
"type": "n8n-nodes-base.noOp",
"position": [
1680,
340
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6e77f25e-b58c-4e23-a5c7-1951c36e59b6",
"name": "Archivo es diferente",
"type": "n8n-nodes-base.noOp",
"position": [
1680,
500
],
"parameters": {},
"typeVersion": 1
},
{
"id": "37d72317-7140-45eb-ac62-e88ec7b9fc97",
"name": "Archivo es nuevo",
"type": "n8n-nodes-base.noOp",
"position": [
1680,
700
],
"parameters": {},
"typeVersion": 1
},
{
"id": "770c9612-e6fb-4d6c-9a89-459e7d5acc31",
"name": "Crear nuevo archivo",
"type": "n8n-nodes-base.github",
"position": [
1900,
700
],
"webhookId": "fc6b1cf0-6440-4fb0-94bf-fadabb6ea1fd",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_owner }}"
},
"filePath": "={{ $('Create sub path').item.json.subPath }}/{{ $('Execute Workflow Trigger').first().json.id }}.json",
"resource": "file",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_name }}"
},
"fileContent": "={{ JSON.stringify($('Config').first().json.data) }}",
"commitMessage": "={{$('Execute Workflow Trigger').first().json.name}} ({{$json.githubStatus}})"
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "121272d6-0535-494e-b14a-3cc00f87cb8d",
"name": "Editar archivo existente",
"type": "n8n-nodes-base.github",
"position": [
1900,
500
],
"webhookId": "81fc5f33-06e3-4368-ba2e-0ef46dd8b021",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_owner }}"
},
"filePath": "={{ $('Create sub path').item.json.subPath }}/{{ $('Execute Workflow Trigger').first().json.id }}.json",
"resource": "file",
"operation": "edit",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').first().json.repo_name }}"
},
"fileContent": "={{ JSON.stringify($('Config').first().json.data) }}",
"commitMessage": "={{$('Execute Workflow Trigger').first().json.name}} ({{ $json.githubStatus }})"
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "2847116a-c862-4803-8079-a40e4edd22f7",
"name": "Iterar sobre elementos",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1000,
-300
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "ec0c92a3-73fa-480b-bdd3-e51648e8b0a0",
"name": "Activador programado",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
400,
-200
],
"parameters": {
"rule": {
"interval": [
{
"field": "weeks",
"triggerAtDay": [
6
],
"triggerAtHour": 1
}
]
}
},
"typeVersion": 1.2
},
{
"id": "289ec775-7191-4710-85e8-ae33542f9fbd",
"name": "Crear subruta",
"type": "n8n-nodes-base.set",
"position": [
1260,
520
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "dae43d3b-56e5-4098-b602-862ebf5cd073",
"name": "subPath",
"type": "string",
"value": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.3
},
{
"id": "b9bf504a-3acf-4706-992d-a522e9693df8",
"name": "Nota adhesiva 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-500
],
"parameters": {
"color": 7,
"width": 2113,
"height": 616,
"content": "## Main workflow loop"
},
"typeVersion": 1
},
{
"id": "2470503e-cb6a-44a5-a4aa-b431874e2e09",
"name": "Configuración",
"type": "n8n-nodes-base.set",
"position": [
440,
540
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "8f6d1741-772f-462a-811f-4c334185e4f0",
"name": "repo_owner",
"type": "string",
"value": "=datproto"
},
{
"id": "8cac215c-4fd7-422f-9fd2-6b2d1e5e0383",
"name": "repo_name",
"type": "string",
"value": "=datproto-backup-n8n"
},
{
"id": "2b38f96a-a970-4d13-900e-f15e4cd65c51",
"name": "data",
"type": "object",
"value": "={{\n {\n \"nodes\": $('Execute Workflow Trigger').item.json.nodes,\n \"connections\": $('Execute Workflow Trigger').item.json.connections,\n \"pinData\": $('Execute Workflow Trigger').item.json.pinData,\n \"meta\": $('Execute Workflow Trigger').item.json.meta\n }\n}}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "a7d835f2-de5e-4121-acad-9041c126401c",
"name": "Mensaje inicial",
"type": "n8n-nodes-base.discord",
"position": [
600,
-300
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n👉 Starting Workflow Backup [{{ $execution.id }}]\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"typeVersion": 2
},
{
"id": "c71ddc51-cbf9-4437-b2b4-9d60f2e1a039",
"name": "Notificación de finalización",
"type": "n8n-nodes-base.discord",
"position": [
1640,
-440
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n✅ Backup has completed - {{ $('n8n').all().length }} workflows have been processed.\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"executeOnce": true,
"typeVersion": 2
},
{
"id": "110ba2cd-6a39-4663-81d5-6b2893d42e18",
"name": "Obtener datos de archivo",
"type": "n8n-nodes-base.github",
"position": [
620,
260
],
"webhookId": "883c4829-4a9d-4320-ab49-226a5bc15863",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $json.repo_owner }}"
},
"filePath": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}/{{ $('Execute Workflow Trigger').item.json.id }}.json",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $json.repo_name }}"
},
"asBinaryProperty": false,
"additionalParameters": {}
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1,
"continueOnFail": true,
"alwaysOutputData": true
},
{
"id": "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0",
"name": "Ejecutar flujo de trabajo",
"type": "n8n-nodes-base.executeWorkflow",
"onError": "continueErrorOutput",
"position": [
1420,
-200
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "id",
"value": "={{ $workflow.id }}"
},
"workflowInputs": {
"value": {},
"schema": [],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "2366b904-8f2f-42ce-aa2f-fc941cb73ad4",
"name": "Esperar",
"type": "n8n-nodes-base.wait",
"position": [
1640,
-100
],
"webhookId": "577d599b-e2eb-4e7c-92aa-b9ca787cc40a",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "e9ad632a-0506-4709-a485-67c45bf388f6",
"name": "Obtener archivo",
"type": "n8n-nodes-base.github",
"position": [
1040,
240
],
"webhookId": "81fc5f33-06e3-4368-ba2e-0ef46dd8b021",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').item.json.repo_owner }}"
},
"filePath": "={{ $now.setZone('UTC').toFormat('yyyy') }}/{{ $now.setZone('UTC').toFormat('MM') }}/{{ $now.setZone('UTC').toFormat('dd') }}/{{ $('Execute Workflow Trigger').item.json.id }}.json",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $('Config').item.json.repo_name }}"
},
"additionalParameters": {}
},
"credentials": {
"githubApi": {
"id": "nEsQmNXwV6LPvaNE",
"name": "GitHub account"
}
},
"typeVersion": 1
},
{
"id": "656913c3-cb57-4129-ae12-42f70800a9ef",
"name": "Esperar 1",
"type": "n8n-nodes-base.wait",
"position": [
1420,
-440
],
"webhookId": "4a7448b4-930e-4110-b205-95c55cac5bba",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "09738ea8-1a61-4967-ac3d-2a9f64b39329",
"name": "verificarLaDiferencia",
"type": "n8n-nodes-base.code",
"position": [
1040,
520
],
"parameters": {
"jsCode": "const _ = require(\"underscore\")\n\nlet fileInput = null\n\nif (Object.keys($input.first().json).includes(\"content\")) {\n fileInput = JSON.parse(Buffer.from($input.all()[0].json.content, 'base64').toString())\n}\n\nconst n8nInput = $input.last().json.data\n\nif (!fileInput) {\n return {\n \"githubStatus\": \"new\"\n }\n}\n\nif (_.isMatch(fileInput, n8nInput)) {\n return {\n \"githubStatus\": \"same\"\n }\n} else {\n return {\n \"githubStatus\": \"different\"\n }\n}"
},
"typeVersion": 2
},
{
"id": "7cb7b34c-8742-44c3-9792-1084abf2783a",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
1460,
520
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "same",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1e6de6b4-3074-41bc-8a9d-465c0eb9a773",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
"rightValue": "same"
}
]
},
"renameOutput": true
},
{
"outputKey": "different",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "cf6e130e-c85d-4a24-b11a-abfd0ecfcb19",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
"rightValue": "different"
}
]
},
"renameOutput": true
},
{
"outputKey": "=new",
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f2fc6dda-85f5-4b81-b016-3e033b1dbcab",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('verifyTheDifference').first().json.githubStatus }}",
"rightValue": "new"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "c6410f39-34d8-448f-9efd-d66da067637b",
"name": "Esperar 2",
"type": "n8n-nodes-base.wait",
"position": [
1640,
-280
],
"webhookId": "4a7448b4-930e-4110-b205-95c55cac5bba",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "a3c4ff40-9887-4e38-985a-f32536d9306f",
"name": "Nota adhesiva 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-540,
-500
],
"parameters": {
"color": 4,
"width": 680,
"height": 1400,
"content": "# Workflows backup to Github\n======================================================================\n\n## Introduction\nThis workflow will backup all of your existed workflows to a single Github repository.\n\nThe Backup folders' name are based on the current backup date and have default format: \"yyyy/MM/dd\" (setup at \"Create sub path\" node).\n\nThroughout the backup process, the N8N will inform user via discord with clear message about Start, Success and Failure backups.\n\n## Tech Stack\nThe following nodes / services / libraries are used in this workflow:\n\n### Nodes:\n1. **Discord:** To send message to configured setup channel.\n2. **N8N:** To get all workflows' information.\n3. **Github:** To store backup data.\n4. **Code:** To run data comparison (Existed vs Latest workflow data).\n5. **Wait:** To avoid discord message rate limit.\n\n### External libraries:\n1. **Underscore.js:** JavaScript library that provides lots of common Javascript functions, to help user save time when using code node.\n\n## Guideline\n1. Open \"Config\" node and setup the following information:\n - **repo_owner:** Your Github username.\n - **repo_name:** The repository that you want to store workflows backup data.\n2. Open \"Create sub path\" node and change the naming and path format of backup folder(s).\n3. Setup custom messages in 3 discord nodes:\n - **Starting Message:** N8N inform user at the time workflow start.\n - **Inform Success Flows:** After each success backup, N8N will notify user.\n - **Inform Failed Flows:** After each failure backup, N8N will notify user to have appropriate action.\n - **Completed Notifications:** Then at the final, the workflow will give user a summary."
},
"typeVersion": 1
},
{
"id": "d511ce8a-1617-4a2a-96d8-6e71ddc372b7",
"name": "Informar flujos exitosos",
"type": "n8n-nodes-base.discord",
"onError": "continueRegularOutput",
"position": [
1840,
-280
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n✅ Success to backup {{ $('Loop Over Items').item.json.id }}\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"typeVersion": 2
},
{
"id": "21052f64-d4b6-4b67-8cb4-dd022a0dab71",
"name": "Informar flujos fallidos",
"type": "n8n-nodes-base.discord",
"position": [
1840,
-100
],
"webhookId": "53d9dd11-ca31-4eea-8dc8-bac95c8bcc04",
"parameters": {
"content": "=The Git backup here. Below is my latest activity:\n```\n👉 Failed to backup {{ $('Loop Over Items').item.json.id }}\n```",
"guildId": {
"__rl": true,
"mode": "list",
"value": "1344944764851851344",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344",
"cachedResultName": "Dat Proto's server"
},
"options": {},
"resource": "message",
"channelId": {
"__rl": true,
"mode": "list",
"value": "1344944973958873212",
"cachedResultUrl": "https://discord.com/channels/1344944764851851344/1344944973958873212",
"cachedResultName": "n8n"
}
},
"credentials": {
"discordBotApi": {
"id": "i8z7R64uXW2cjYik",
"name": "N8N Bot"
}
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f": {
"main": [
[
{
"node": "2847116a-c862-4803-8079-a40e4edd22f7",
"type": "main",
"index": 0
}
]
]
},
"2366b904-8f2f-42ce-aa2f-fc941cb73ad4": {
"main": [
[
{
"node": "21052f64-d4b6-4b67-8cb4-dd022a0dab71",
"type": "main",
"index": 0
}
]
]
},
"656913c3-cb57-4129-ae12-42f70800a9ef": {
"main": [
[
{
"node": "c71ddc51-cbf9-4437-b2b4-9d60f2e1a039",
"type": "main",
"index": 0
}
]
]
},
"c6410f39-34d8-448f-9efd-d66da067637b": {
"main": [
[
{
"node": "d511ce8a-1617-4a2a-96d8-6e71ddc372b7",
"type": "main",
"index": 0
}
]
]
},
"2470503e-cb6a-44a5-a4aa-b431874e2e09": {
"main": [
[
{
"node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"type": "main",
"index": 1
},
{
"node": "110ba2cd-6a39-4663-81d5-6b2893d42e18",
"type": "main",
"index": 0
}
]
]
},
"7cb7b34c-8742-44c3-9792-1084abf2783a": {
"main": [
[
{
"node": "627cc21c-1f7f-4266-a558-357289bb2746",
"type": "main",
"index": 0
}
],
[
{
"node": "6e77f25e-b58c-4e23-a5c7-1951c36e59b6",
"type": "main",
"index": 0
}
],
[
{
"node": "37d72317-7140-45eb-ac62-e88ec7b9fc97",
"type": "main",
"index": 0
}
]
]
},
"e9ad632a-0506-4709-a485-67c45bf388f6": {
"main": [
[
{
"node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"type": "main",
"index": 0
}
]
]
},
"37d72317-7140-45eb-ac62-e88ec7b9fc97": {
"main": [
[
{
"node": "770c9612-e6fb-4d6c-9a89-459e7d5acc31",
"type": "main",
"index": 0
}
]
]
},
"68c529b3-8530-42c9-8efa-7c35ea6c24f0": {
"main": [
[
{
"node": "09738ea8-1a61-4967-ac3d-2a9f64b39329",
"type": "main",
"index": 0
}
]
]
},
"110ba2cd-6a39-4663-81d5-6b2893d42e18": {
"main": [
[
{
"node": "cc1748c6-972e-4909-a0d9-2aada40e49b6",
"type": "main",
"index": 0
}
]
]
},
"770c9612-e6fb-4d6c-9a89-459e7d5acc31": {
"main": [
[
{
"node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"type": "main",
"index": 0
}
]
]
},
"289ec775-7191-4710-85e8-ae33542f9fbd": {
"main": [
[
{
"node": "7cb7b34c-8742-44c3-9792-1084abf2783a",
"type": "main",
"index": 0
}
]
]
},
"2847116a-c862-4803-8079-a40e4edd22f7": {
"main": [
[
{
"node": "656913c3-cb57-4129-ae12-42f70800a9ef",
"type": "main",
"index": 0
}
],
[
{
"node": "2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0",
"type": "main",
"index": 0
}
]
]
},
"2bdbcb80-2c2b-4fb8-bddb-eb9e6c6db0e0": {
"main": [
[
{
"node": "c6410f39-34d8-448f-9efd-d66da067637b",
"type": "main",
"index": 0
}
],
[
{
"node": "2366b904-8f2f-42ce-aa2f-fc941cb73ad4",
"type": "main",
"index": 0
}
]
]
},
"ec0c92a3-73fa-480b-bdd3-e51648e8b0a0": {
"main": [
[
{
"node": "a7d835f2-de5e-4121-acad-9041c126401c",
"type": "main",
"index": 0
}
]
]
},
"a7d835f2-de5e-4121-acad-9041c126401c": {
"main": [
[
{
"node": "4cf656ea-b62c-4c9a-9a2c-f3cd4736af6f",
"type": "main",
"index": 0
}
]
]
},
"6e77f25e-b58c-4e23-a5c7-1951c36e59b6": {
"main": [
[
{
"node": "121272d6-0535-494e-b14a-3cc00f87cb8d",
"type": "main",
"index": 0
}
]
]
},
"cc1748c6-972e-4909-a0d9-2aada40e49b6": {
"main": [
[
{
"node": "e9ad632a-0506-4709-a485-67c45bf388f6",
"type": "main",
"index": 0
}
],
[
{
"node": "68c529b3-8530-42c9-8efa-7c35ea6c24f0",
"type": "main",
"index": 0
}
]
]
},
"121272d6-0535-494e-b14a-3cc00f87cb8d": {
"main": [
[
{
"node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"type": "main",
"index": 0
}
]
]
},
"21052f64-d4b6-4b67-8cb4-dd022a0dab71": {
"main": [
[
{
"node": "2847116a-c862-4803-8079-a40e4edd22f7",
"type": "main",
"index": 0
}
]
]
},
"09738ea8-1a61-4967-ac3d-2a9f64b39329": {
"main": [
[
{
"node": "289ec775-7191-4710-85e8-ae33542f9fbd",
"type": "main",
"index": 0
}
]
]
},
"d511ce8a-1617-4a2a-96d8-6e71ddc372b7": {
"main": [
[
{
"node": "2847116a-c862-4803-8079-a40e4edd22f7",
"type": "main",
"index": 0
}
]
]
},
"696255b0-7786-410c-927f-ffb4fa7784b9": {
"main": [
[
{
"node": "a7d835f2-de5e-4121-acad-9041c126401c",
"type": "main",
"index": 0
}
]
]
},
"627cc21c-1f7f-4266-a558-357289bb2746": {
"main": [
[
{
"node": "bc776b1e-de7a-4c5c-ab3e-fc6ede7f6d93",
"type": "main",
"index": 0
}
]
]
},
"d552bfbd-24cc-43ab-b008-ba837525e234": {
"main": [
[
{
"node": "2470503e-cb6a-44a5-a4aa-b431874e2e09",
"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
¿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.
Flujos de trabajo relacionados recomendados
Copia de seguridad automatizada de flujos de trabajo de n8n a GitHub con seguimiento de eliminaciones
Copia de seguridad automatizada de flujos de trabajo de n8n a GitHub con seguimiento de eliminaciones
If
N8n
Set
+
If
N8n
Set
31 NodosMarcial Ambriz
DevOps
Copia de seguridad de flujos de trabajo en GitHub (subcarpeta)
Respaldar flujos de trabajo en GitHub (subcarpetas)
If
N8n
Set
+
If
N8n
Set
25 NodosNazmy
Otros
Copia de seguridad de flujos de trabajo en GitHub
Respaldar flujos de trabajo en GitHub
If
N8n
Set
+
If
N8n
Set
23 NodosSolomon
Otros
Sincronización bidireccional de flujos de trabajo de Typebot y GitHub, usando la API de Typebot
Sincronización bidireccional entre flujos de Typebot y GitHub usando Typebot API
If
Set
Code
+
If
Set
Code
31 NodosMarcial Ambriz
DevOps
Panel de sincronización de GitHub - V2
Panel de control de control de versiones de flujos de trabajo de GitHub con historial de confirmaciones y funcionalidad de reversión
If
N8n
Set
+
If
N8n
Set
94 NodosEduard
DevOps
Moderación automática de spam en Discord
Moderación automatizada de spam en Discord combinando IA y colaboración humano-máquina
If
Set
Code
+
If
Set
Code
30 NodosJimleuk
Inteligencia Artificial
Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos30
Categoría-
Tipos de nodos16
Descripción de la dificultad
Autor
Dat Proto
@datprotoEnlaces externos
Ver en n8n.io →
Compartir este flujo de trabajo