Crear un chatbot de IA multimodal con Telegram, AIMLAPI y Google Sheets

Avanzado

Este es unPersonal Productivity, AI Chatbotflujo de automatización del dominio deautomatización que contiene 25 nodos.Utiliza principalmente nodos como If, Set, Code, Switch, Telegram. Usar Telegram, AIMLAPI y Google Sheets para crear un chatbot de IA multimodal

Requisitos previos
  • Bot Token de Telegram
  • Pueden requerirse credenciales de autenticación para la API de destino
  • Credenciales de API de Google Sheets
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": "58e06bfa452afe2836b2ce0aa089999394af0b93c2a455035675d99d83112fa1",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "8db98853-bc69-4139-a08a-e0df3a6a0187",
      "name": "📩 Recibir Mensaje Telegram",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -320,
        1616
      ],
      "webhookId": "3ceea664-fd53-4141-8bc6-4fdaca0a661d",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "bb70IQruLtlUfyRb",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1fd92fc6-1992-4ba9-ac35-404d99b6aa46",
      "name": "📊 Obtener Registros de Uso",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        144,
        1792
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.message.from.id }}",
              "lookupColumn": "user_id"
            },
            {
              "lookupValue": "={{ new Date().toISOString().slice(0,10) }}",
              "lookupColumn": "date"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2060422727,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19rsFwln4KMpGjOzxOdz7OC_-kRH8_qD4Agx5lXlDD9k/edit#gid=2060422727",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "19rsFwln4KMpGjOzxOdz7OC_-kRH8_qD4Agx5lXlDD9k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19rsFwln4KMpGjOzxOdz7OC_-kRH8_qD4Agx5lXlDD9k/edit?usp=drivesdk",
          "cachedResultName": "AI bot usage statistic"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "kID0866UxrCrODzt",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6,
      "alwaysOutputData": true
    },
    {
      "id": "3ff699b8-5db7-40fb-be90-69f0c1052aad",
      "name": "📈 Contar Solicitudes de Hoy",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        368,
        1792
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "c0db9e37-dd77-469d-a055-b1e7f097293d",
      "name": "🔢 Establecer Límite Diario",
      "type": "n8n-nodes-base.set",
      "position": [
        592,
        1792
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "1514c5a1-1bd4-4ba2-8bb9-30c679ae4f8e",
              "name": "daily_limit",
              "type": "number",
              "value": 5
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "f5421fea-d1a1-4701-9c71-7cf6b5f3df18",
      "name": "🚦 ¿Límite Excedido?",
      "type": "n8n-nodes-base.if",
      "position": [
        848,
        1792
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "08e8aac4-9f6a-4fc0-b1ad-7d8493ff74bf",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{$('📈 Count Today’s Requests').item.json.data.length }}",
              "rightValue": "={{ $json.daily_limit }}"
            }
          ]
        }
      },
      "executeOnce": false,
      "typeVersion": 2.2
    },
    {
      "id": "7a6ba155-4fb2-49bd-ba87-762dc0d564b8",
      "name": "🚫 Notificar: Límite Excedido",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1120,
        1808
      ],
      "webhookId": "bb58ce7a-45e5-42d1-a780-7cc47f7402b1",
      "parameters": {
        "text": "=Sorry! Your *daily limit of {{ $('🔢 Set Daily Limit').item.json.daily_limit }} generations* is exceeded!",
        "chatId": "={{ $('📩 Receive Telegram Message').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "bb70IQruLtlUfyRb",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "89bf72a1-41f0-45bf-832d-9603c525c5ee",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -352,
        1424
      ],
      "parameters": {
        "color": 4,
        "width": 432,
        "height": 464,
        "content": "## Incoming Message\n### Handle incoming user messages from Telegram."
      },
      "typeVersion": 1
    },
    {
      "id": "62dbe03c-45eb-4353-9c96-83eeaf0bd750",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        1696
      ],
      "parameters": {
        "width": 1200,
        "height": 288,
        "content": "##  Usage Limit Check\n### Check how many times the user has generated today and enforce the daily limit.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b74b4b6c-caa2-49d0-aa93-c564f5e99716",
      "name": "Nota Adhesiva5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        1360
      ],
      "parameters": {
        "color": 4,
        "width": 1664,
        "height": 320,
        "content": "## Delivery & Logging\n### Send the final image and caption to the user, and log the result to Google Sheets.\n\n\n\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "1df08c50-f38d-430a-8d0b-db6df1461265",
      "name": "Nota Adhesiva8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        -400
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 672,
        "content": "# 🧠 AI Chat & Model Selector Bot — Telegram + AIMLAPI (via n8n)\n\nThis workflow enables Telegram users to interact with multiple AI models via dynamic prompts. \nUsers specify the desired model by sending a message in the format:\n\n```\n#model_id [your prompt text here]\n```\n\nAdditionally, users can request a list of available models by sending the command `/models`.\n\n---\n\n## 🚀 Key Features:\n- **Multi-model selection via hashtags:** Example `#openai/gpt-4o What is AI?`\n- **/models command**: Lists all available model IDs grouped by provider.\n- **Daily generation limit per user:** Enforced via Google Sheets.\n- **Automatic model validation:** Ensures model_id exists before generation.\n- **Seamless Telegram interaction**: Responses are sent back to the chat.\n- **Activity logging:** Every query & result is logged in Google Sheets."
      },
      "typeVersion": 1
    },
    {
      "id": "1510f325-a221-4880-b198-8696b2e47329",
      "name": "Nota Adhesiva9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -48,
        288
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 784,
        "content": "## ⚙️ Customization Options:\n- The **daily limit** can be configured in the `Set Daily Limit` node.\n- You can expand functionality by adding:\n  * NSFW content filtering.\n  * Shortcuts/Aliases for models (e.g., `#fast` => Groq model).\n  * Additional commands like `/help`, `/usage`, `/history`.\n  * Custom response formatting (e.g., Markdown styling, emojis).\n  * Per-user API key support (multi-tenant).\n\n---\n\n## 💡 Example User Flow:\n\n### 1. User initiates chat with a model:\n```\n#openai/gpt-4o Explain Quantum Computing.\n```\n- The bot parses the model_id and sends the prompt to AI/ML API.\n- The AI's response is returned in Telegram.\n\n### 2. User requests available models:\n```\n/models\n```\n- The bot fetches the latest model list from AI/ML API.\n- The models are grouped by provider and sent as multiple messages.\n\n### 3. Daily Limit Enforcement:\n- Each user has a daily limit (default: 5).\n- If exceeded, the bot replies with:\n```\nSorry! Your daily limit of 5 generations is exceeded!\n```"
      },
      "typeVersion": 1
    },
    {
      "id": "84cd9c4f-7e93-4859-8025-2bc23815420e",
      "name": "Nota Adhesiva10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        -400
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 976,
        "content": "# 🛠 Setup Guide for Deployment\n\n### 1. 📲 Telegram Bot Creation:\n- Go to [@BotFather](https://t.me/BotFather)\n- Use `/newbot`, set a name and username.\n- Save the provided API token.\n\n---\n\n### 2. 🔐 Telegram API Credentials in n8n:\n- Navigate to `Credentials` in n8n.\n- Add a new `Telegram API` credential.\n- Paste the BotFather token.\n\n---\n\n### 3. 📗 Google Sheets Setup:\n- Create a new Google Sheet named `Sheet1`.\n- Add the following headers:\n```\nuser_id | date | query | result\n```\n- Share access to your **Google Service Account** or **OAuth email** \n(depending on your Google Sheets integration in n8n).\n\n---\n\n### 4. 🔌 AIMLAPI API Key Configuration:\n- Obtain your API Key from [AI/ML API](https://aimlapi.com/app).\n- In n8n, create a new `AI/ML API` credential:\n* Base URL: `https://api.aimlapi.com/v1`\n* API Key: your_key_here.\n- Test the connection.\n\n---\n\n### 5. ⚙️ Optional Enhancements:\n- Implement caching of model lists.\n- Add interactive inline buttons (e.g., “Select Model” UX).\n- Implement per-user statistics dashboard."
      },
      "typeVersion": 1
    },
    {
      "id": "72dc8e96-7dac-435c-815b-17e898432a63",
      "name": "Nota Adhesiva11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        528,
        592
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 480,
        "content": "## 📁 Data Logged to Google Sheets:\nFor each successful generation, the following data is logged:\n| user_id | date | query | result |\n| ------- | ---- | ----- | ------ |\n\nThis log helps monitor usage limits, analyze user behavior, and track API interactions.\n\n---\n\n## 🧪 Testing & Debugging Tips:\n- Use a **separate Telegram chat/channel** for testing.\n- Add `Set` or `Console` nodes to inspect payloads for debugging.\n- Always test via **sending real messages to the bot**, not through n8n's “Execute Node”.\n- Test `/models` command thoroughly — ensure it splits long lists into multiple messages.\n- Validate edge cases:\n  * Missing `#model_id`\n  * Exceeding daily limits\n  * Invalid or deprecated model IDs\n- Regularly monitor Google Sheets for log integrity."
      },
      "typeVersion": 1
    },
    {
      "id": "aa89ce2b-a680-4c1a-b4a5-455a81030814",
      "name": "Enviar una acción de chat",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1104,
        1472
      ],
      "webhookId": "88ac9fb3-ee4b-49ce-bd69-68aca1fae929",
      "parameters": {
        "chatId": "={{ $('📩 Receive Telegram Message').item.json.message.chat.id }}",
        "operation": "sendChatAction"
      },
      "credentials": {
        "telegramApi": {
          "id": "bb70IQruLtlUfyRb",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cae25ff0-5690-43f0-8245-0ed7d97b66dc",
      "name": "Obtener Lista de Modelos",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        144,
        1504
      ],
      "parameters": {
        "url": "https://api.aimlapi.com/v1/models",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "bf1b163d-58e4-4cc0-b8cd-4317fe0c5e42",
      "name": "Enviar un mensaje de texto",
      "type": "n8n-nodes-base.telegram",
      "position": [
        592,
        1504
      ],
      "webhookId": "3f0e254e-74a7-4c06-b3ee-7aa0eca216d7",
      "parameters": {
        "text": "={{ $json.content }}",
        "chatId": "={{ $('📩 Receive Telegram Message').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "bb70IQruLtlUfyRb",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "7d506e29-9e47-4e24-8354-a1a311e6bdff",
      "name": "Código",
      "type": "n8n-nodes-base.code",
      "position": [
        368,
        1504
      ],
      "parameters": {
        "language": "python",
        "pythonCode": "data = _input.first().json['data']\n\ngrouped_models = {}\n\nfor item in data:\n    if item.get('type') != 'chat-completion':\n        continue\n\n    developer = item.get('info', {}).get('developer', 'Unknown')\n    model_entry = {\n        'id': item.get('id'),\n        'name': item.get('info', {}).get('name', item.get('id'))\n    }\n\n    if developer not in grouped_models:\n        grouped_models[developer] = []\n\n    grouped_models[developer].append(model_entry)\n\n# Формируем список объектов для вывода\noutput_items = []\n\nfor developer, models in grouped_models.items():\n    lines = [f\"🧑‍💻 *{developer}*\"]\n    for model in models:\n        lines.append(f\"• `{model['id']}` — {model['name']}\")\n    \n    content = \"\\n\".join(lines)\n    output_items.append({'json': {'content': content}})\n\nreturn output_items\n"
      },
      "typeVersion": 2
    },
    {
      "id": "5e370157-362d-407d-95bf-b9345d6e99e6",
      "name": "Enviar un mensaje de texto1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2032,
        1488
      ],
      "webhookId": "5aee0c67-4828-4a12-93a1-5b2f24397464",
      "parameters": {
        "text": "={{ $json.content }}",
        "chatId": "={{ $('📩 Receive Telegram Message').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "bb70IQruLtlUfyRb",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b0e40f9a-e30d-4fd8-a23d-61bc3bca8d5a",
      "name": "📝 Registrar Generación Exitosa1",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2224,
        1488
      ],
      "parameters": {
        "columns": {
          "value": {
            "date": "={{ new Date().toISOString().slice(0,10) }}",
            "query": "={{ $('📩 Receive Telegram Message').item.json.message.text }}",
            "result": "={{ $json.result.text }}",
            "user_id": "={{ $('📩 Receive Telegram Message').item.json.message.from.id }}"
          },
          "schema": [
            {
              "id": "user_id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "user_id",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "date",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "query",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "query",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "result",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "result",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "user_id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2060422727,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1RHgZNdT0whop0JY3vrj83yLtmVluG73NIfLBBa8ckPg/edit#gid=2060422727",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "19rsFwln4KMpGjOzxOdz7OC_-kRH8_qD4Agx5lXlDD9k",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19rsFwln4KMpGjOzxOdz7OC_-kRH8_qD4Agx5lXlDD9k/edit?usp=drivesdk",
          "cachedResultName": "AI bot usage statistic"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "kID0866UxrCrODzt",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "e7b00f33-4464-4567-97d6-cef34ad9c33f",
      "name": "Nota Adhesiva6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        96,
        1360
      ],
      "parameters": {
        "width": 640,
        "height": 320,
        "content": "##  Usage Limit Check\n### Check how many times the user has generated today and enforce the daily limit.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "16f0d8de-fcee-44e7-b5ef-e28980d3395c",
      "name": "¿Obtener Modelos o Procesar Mensaje?",
      "type": "n8n-nodes-base.switch",
      "position": [
        -128,
        1616
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Get Models",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "efff9014-b37a-443e-b888-fd9a8eb97f3f",
                    "operator": {
                      "type": "string",
                      "operation": "contains"
                    },
                    "leftValue": "={{ $json.message.text }}",
                    "rightValue": "/models"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Process Message",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "8b39b996-fd2e-4070-9800-1a7b0bdc5f76",
                    "operator": {
                      "type": "string",
                      "operation": "notEmpty",
                      "singleValue": true
                    },
                    "leftValue": "={{ $json.message.text }}",
                    "rightValue": ""
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "7163b2e1-96ff-4965-a3ab-91e2d68a6a33",
      "name": "🧠 Generar Mensaje (AI/ML API | GPT-4o)",
      "type": "n8n-nodes-aimlapi.aimlApi",
      "position": [
        1712,
        1536
      ],
      "parameters": {
        "model": "openai/gpt-4o",
        "prompt": "={{ $('📩 Receive Telegram Message').item.json.message.text }}",
        "options": {},
        "requestOptions": {}
      },
      "credentials": {
        "aimlApi": {
          "id": "6Z9fP7Dy0ZkIBXXw",
          "name": "AI/ML account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "b942da4d-2dc2-4773-b3a9-3b700d8838c6",
      "name": "🧠 Generar Mensaje (AI/ML API | Modelo Personalizado)",
      "type": "n8n-nodes-aimlapi.aimlApi",
      "position": [
        1824,
        1376
      ],
      "parameters": {
        "model": "={{ $json.model_id }}",
        "prompt": "={{ $json.message }}",
        "options": {},
        "requestOptions": {}
      },
      "credentials": {
        "aimlApi": {
          "id": "6Z9fP7Dy0ZkIBXXw",
          "name": "AI/ML account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2bbb1df7-7035-475c-ae62-e8996f22bea1",
      "name": "Agrupar Modelos por Proveedores",
      "type": "n8n-nodes-base.code",
      "position": [
        1616,
        1376
      ],
      "parameters": {
        "jsCode": "const text = $('📩 Receive Telegram Message').first().json.message.text;\n\nif (!text.startsWith('#')) {\n  throw new Error('Message must start with a #model_tag');\n}\n\nconst parts = text.split(' ', 2);\n\nif (parts.length < 2) {\n  throw new Error('Message must contain both #model_tag and prompt text.');\n}\n\nconst model_id = parts[0].substring(1);  // Убираем #\nconst message = parts[1];\n\nreturn [\n  {\n    json: {\n      model_id,\n      message\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "214a99db-facf-4515-9a62-111d8eedbe84",
      "name": "¿Establecer Modelo Personalizado?",
      "type": "n8n-nodes-base.if",
      "position": [
        1392,
        1472
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8f4473af-8528-4286-a12f-d51d70615e3b",
              "operator": {
                "type": "string",
                "operation": "startsWith"
              },
              "leftValue": "={{ $('📩 Receive Telegram Message').item.json.message.text }}",
              "rightValue": "#"
            }
          ]
        }
      },
      "typeVersion": 2.2
    }
  ],
  "pinData": {},
  "connections": {
    "7d506e29-9e47-4e24-8354-a1a311e6bdff": {
      "main": [
        [
          {
            "node": "bf1b163d-58e4-4cc0-b8cd-4317fe0c5e42",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cae25ff0-5690-43f0-8245-0ed7d97b66dc": {
      "main": [
        [
          {
            "node": "7d506e29-9e47-4e24-8354-a1a311e6bdff",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "214a99db-facf-4515-9a62-111d8eedbe84": {
      "main": [
        [
          {
            "node": "2bbb1df7-7035-475c-ae62-e8996f22bea1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7163b2e1-96ff-4965-a3ab-91e2d68a6a33",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aa89ce2b-a680-4c1a-b4a5-455a81030814": {
      "main": [
        [
          {
            "node": "214a99db-facf-4515-9a62-111d8eedbe84",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5e370157-362d-407d-95bf-b9345d6e99e6": {
      "main": [
        [
          {
            "node": "b0e40f9a-e30d-4fd8-a23d-61bc3bca8d5a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c0db9e37-dd77-469d-a055-b1e7f097293d": {
      "main": [
        [
          {
            "node": "f5421fea-d1a1-4701-9c71-7cf6b5f3df18",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1fd92fc6-1992-4ba9-ac35-404d99b6aa46": {
      "main": [
        [
          {
            "node": "3ff699b8-5db7-40fb-be90-69f0c1052aad",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2bbb1df7-7035-475c-ae62-e8996f22bea1": {
      "main": [
        [
          {
            "node": "b942da4d-2dc2-4773-b3a9-3b700d8838c6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f5421fea-d1a1-4701-9c71-7cf6b5f3df18": {
      "main": [
        [
          {
            "node": "aa89ce2b-a680-4c1a-b4a5-455a81030814",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "7a6ba155-4fb2-49bd-ba87-762dc0d564b8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3ff699b8-5db7-40fb-be90-69f0c1052aad": {
      "main": [
        [
          {
            "node": "c0db9e37-dd77-469d-a055-b1e7f097293d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8db98853-bc69-4139-a08a-e0df3a6a0187": {
      "main": [
        [
          {
            "node": "16f0d8de-fcee-44e7-b5ef-e28980d3395c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "16f0d8de-fcee-44e7-b5ef-e28980d3395c": {
      "main": [
        [
          {
            "node": "cae25ff0-5690-43f0-8245-0ed7d97b66dc",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1fd92fc6-1992-4ba9-ac35-404d99b6aa46",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7163b2e1-96ff-4965-a3ab-91e2d68a6a33": {
      "main": [
        [
          {
            "node": "5e370157-362d-407d-95bf-b9345d6e99e6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b942da4d-2dc2-4773-b3a9-3b700d8838c6": {
      "main": [
        [
          {
            "node": "5e370157-362d-407d-95bf-b9345d6e99e6",
            "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 - Productividad personal, Chatbot 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 nodos25
Categoría2
Tipos de nodos11
Descripción de la dificultad

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

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34