Créer un chatbot IA multimodèle avec Telegram, AIMLAPI et Google Sheets

Avancé

Ceci est unPersonal Productivity, AI Chatbotworkflow d'automatisation du domainecontenant 25 nœuds.Utilise principalement des nœuds comme If, Set, Code, Switch, Telegram. Utiliser Telegram, AIMLAPI et Google Sheets pour créer un chatbot IA multimodal

Prérequis
  • Token Bot Telegram
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "meta": {
    "instanceId": "58e06bfa452afe2836b2ce0aa089999394af0b93c2a455035675d99d83112fa1",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "8db98853-bc69-4139-a08a-e0df3a6a0187",
      "name": "📩 Recevoir le Message 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": "📊 Récupérer les Journaux d'Utilisation",
      "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": "📈 Compter les Requêtes Aujourd'hui",
      "type": "n8n-nodes-base.aggregate",
      "position": [
        368,
        1792
      ],
      "parameters": {
        "options": {},
        "aggregate": "aggregateAllItemData"
      },
      "typeVersion": 1
    },
    {
      "id": "c0db9e37-dd77-469d-a055-b1e7f097293d",
      "name": "🔢 Définir la Limite Quotidienne",
      "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": "🚦 Limite Dépassée ?",
      "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": "🚫 Notifier : Limite Dépassée",
      "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": "Note Adhésive",
      "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": "Note Adhésive1",
      "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": "Note Adhésive5",
      "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": "Note Adhésive8",
      "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": "Note Adhésive9",
      "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": "Note Adhésive10",
      "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": "Note Adhésive11",
      "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": "Envoyer une Action 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": "Obtenir la Liste des Modèles",
      "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": "Envoyer un Message Texte",
      "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": "Code",
      "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": "Envoyer un Message Texte1",
      "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": "📝 Journaliser la Génération Réussie1",
      "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": "Note Adhésive6",
      "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": "Obtenir Modèles ou Traiter Message ?",
      "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": "🧠 Générer Msg (IA/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": "🧠 Générer Msg (IA/ML API | Modèle Personnalisé)",
      "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": "Grouper les Modèles par Fournisseurs",
      "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": "Définir un Modèle Personnalisé ?",
      "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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é - Productivité personnelle, Chatbot 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.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds25
Catégorie2
Types de nœuds11
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34