Système de livraison de rapports financiers clients (Telegram et Google Sheets)

Avancé

Ceci est unSupport Chatbotworkflow d'automatisation du domainecontenant 26 nœuds.Utilise principalement des nœuds comme If, Code, Merge, Telegram, GoogleSheets. Système de livraison de rapports financiers clients via Telegram et Google Sheets

Prérequis
  • Token Bot Telegram
  • 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": "2c73a7b28d9a00cd2e37337bafea971ace8656664cf4a9ade59a7c07533e1b75"
  },
  "nodes": [
    {
      "id": "d0054cc3-5af6-4dec-84ad-ee4096484c74",
      "name": "Agrégation Résumé2",
      "type": "n8n-nodes-base.code",
      "position": [
        2560,
        112
      ],
      "parameters": {
        "jsCode": "function toNumber(value) {\n  if (!value || value === \"-\" || value === \"\") return 0;\n\n  let v = String(value).replace(/\\//g, \".\");\n\n  v = v.replace(/,/g, \"\").replace(/\\s/g, \"\");\n\n  const num = parseFloat(v);\n  return isNaN(num) ? 0 : num;\n}\n\nlet totalDebitMali = 0;\nlet totalCreditMali = 0;\nlet totalDebitWeight = 0;\nlet totalCreditWeight = 0;\n\nconst accountName = items[0].json[\"customerName\"] || \"NA\";\n\nfor (const item of items) {\n  totalDebitMali += toNumber(item.json[\"you column name\"]);\n  totalCreditMali += toNumber(item.json[\"you column name\"]);\n}\n\nconst balanceMali = totalDebitMali - totalCreditMali;\n\nreturn [\n  {\n    json: {\n      \"accountName\": accountName,\n      totalDebitMali,\n      totalCreditMali,\n      balanceMali,\n\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "367b28c8-87cd-47ab-93ce-d2568cce674d",
      "name": "Formatage Détails2",
      "type": "n8n-nodes-base.code",
      "position": [
        2784,
        112
      ],
      "parameters": {
        "jsCode": "const item = items[0].json;\n\nconst header = `📊Report name: ${item[\"Your Custom Message\"]}`;\n\nconst text = `${header}\n\n💰Your Custom Name : ${item.totalDebitMali}\n💸Your Custom Name: ${item.totalCreditMali}\n⚖️Your Custom Name: ${item.balanceMali}\n\nreturn [{ json: { text } }];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "48c4a6ac-dbbd-475c-b6cd-108257c264e1",
      "name": "Combinaison Résumé + Détails2",
      "type": "n8n-nodes-base.code",
      "position": [
        3008,
        112
      ],
      "parameters": {
        "jsCode": "const detail = $items(\"Format Details2\")[0].json.text;\nconst s = $items(\"Aggregate Summary2\")[0].json;\n\nconst accountName = Your Custom Message [\"Your Custom Message\"] || \"NA\";\n\nconst summary = `\n👤 Report name:Your Custom Message: ${accountName}\n\n💰 جمع مالی:\nYour Custom Name : ${s.totalDebitMali}\nYour Custom Name : ${s.totalCreditMali}\n`;\n\nreturn [{ json: { summary } }];\n\n\n"
      },
      "typeVersion": 2
    },
    {
      "id": "df7484b2-b2de-40cd-bdbf-ee959efcc908",
      "name": "Saisie utilisateur2",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -128,
        176
      ],
      "webhookId": "4e6ae00b-d864-467b-abea-8c9c4de7e43a",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "qkDZ4a4o82vkN3Bz",
          "name": "Your API"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0faa3a2a-2407-4f71-a03e-57c82dfb6e10",
      "name": "Envoi Rapport2",
      "type": "n8n-nodes-base.telegram",
      "position": [
        3232,
        112
      ],
      "webhookId": "d52336a7-c783-4592-821c-563f9832746e",
      "parameters": {
        "text": "={{$json[\"summary\"]}}",
        "chatId": "={{$node[\"Input user2\"].json[\"message\"][\"chat\"][\"id\"]}}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "qkDZ4a4o82vkN3Bz",
          "name": "Your API"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e85b3a8f-3cbc-476b-bb5f-3f521bb7c7a2",
      "name": "Vérifier Correspondance2",
      "type": "n8n-nodes-base.code",
      "position": [
        1872,
        96
      ],
      "parameters": {
        "jsCode": "const sheetInput = $json || {};\n\nconst userChatId = String($item(0).$json.chatId || \"\").trim();\n\nconst keys = Object.keys(sheetInput);\nconst keyChat1 = keys.find(k => k.replace(/\\s/g, '').toLowerCase() === 'chatid1') || 'chatid1';\nconst keyChat2 = keys.find(k => k.replace(/\\s/g, '').toLowerCase() === 'chatid2') || 'chatid2';\n\nconst accessChatId1 = String(sheetInput[keyChat1] || \"\").trim();\nconst accessChatId2 = String(sheetInput[keyChat2] || \"\").trim();\n\nlet access = \"denied\";\nconsole.log({ userChatId, accessChatId1, accessChatId2 });\nif (userChatId && (userChatId === accessChatId1 || userChatId === accessChatId2)) {\n  access = \"granted\";\n}\n\nreturn [{\n  json: {\n    access,\n    groupName: sheetInput[\"groups\"] || \"\",\n    customerName: $item(0).$json.customerName || \"\",\n    chatId: userChatId,\n    accessChatId1,\n    accessChatId2,\n    foundKeys: { keyChat1, keyChat2 }\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "7d88a885-dbb9-4cfd-8822-1433f6efa072",
      "name": "Fusion4",
      "type": "n8n-nodes-base.merge",
      "position": [
        992,
        240
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "3da68029-f281-43e0-80de-4caa0c27a4b3",
      "name": "Obtenir ligne(s) dans feuille (Accès)2",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1424,
        96
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json[\"Groups\"] }}",
              "lookupColumn": "=Customers Group"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1067333283,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ/edit#gid=1067333283",
          "cachedResultName": "Access"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ/edit?usp=drivesdk",
          "cachedResultName": "Henza"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "bS8rdvxUS7Lmu94Z",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "84a544a9-b75f-4a48-bf44-a357d37d46d3",
      "name": "Obtenir ligne(s) dans feuille5",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2336,
        112
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.customerName }}",
              "lookupColumn": "=customerNam"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ/edit?usp=drivesdk",
          "cachedResultName": "Henza"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "bS8rdvxUS7Lmu94Z",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "fc2fbf1b-ecd3-49ec-bdf4-4e8fe62febf3",
      "name": "Bienvenue1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        544,
        96
      ],
      "webhookId": "d52336a7-c783-4592-821c-563f9832746e",
      "parameters": {
        "text": "=Your Custom Message",
        "chatId": "={{ $json.chatId }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "89hD2RcO1uiV0R8n",
          "name": "Henza"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a7722ab6-22df-4d7a-a118-6ee6bedd516f",
      "name": "Si4",
      "type": "n8n-nodes-base.if",
      "position": [
        320,
        176
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "69b37108-c2fc-4884-944e-1fdc5afa6417",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.action.trim() }}",
              "rightValue": "welcome"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f79a32ce-3892-4978-9346-529be649c73e",
      "name": "Si5",
      "type": "n8n-nodes-base.if",
      "position": [
        1200,
        96
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6fc1cdd3-e9e9-43fa-aeec-7bc654d32839",
              "operator": {
                "type": "boolean",
                "operation": "equals"
              },
              "leftValue": "={{ $json.found }}",
              "rightValue": "=true"
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "2f99f000-be5c-453b-84af-91af2f72d79b",
      "name": "Saisir Nom correct",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1424,
        288
      ],
      "webhookId": "d52336a7-c783-4592-821c-563f9832746e",
      "parameters": {
        "text": "=Your custom Message",
        "chatId": "={{ $('Input user2').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "89hD2RcO1uiV0R8n",
          "name": "Henza"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f48f5043-5bf0-4ad1-85c5-19159d4c1385",
      "name": "Obtenir ligne(s) dans feuille4",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        544,
        384
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.customerName }}",
              "lookupColumn": "=Customer name"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IyXUau8N_jteJJIslBEXfsljuhjL6Du9MA9LlffbuNU/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/18PuJid97iPGtS4PqgEjaYVkUIM5F4A_bloQqwil0KbQ/edit?usp=drivesdk",
          "cachedResultName": "Henza"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "bS8rdvxUS7Lmu94Z",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7,
      "alwaysOutputData": true
    },
    {
      "id": "70266fc7-de99-4fdf-b398-0d1525168993",
      "name": "Fusion5",
      "type": "n8n-nodes-base.merge",
      "position": [
        1648,
        96
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineAll"
      },
      "typeVersion": 3.2
    },
    {
      "id": "f95f85b7-b116-4767-8511-1cce706d1425",
      "name": "Si3",
      "type": "n8n-nodes-base.if",
      "position": [
        2112,
        288
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "9cd2a1c2-a9c8-426c-92c4-4117bf1c0f56",
              "operator": {
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.access }}",
              "rightValue": "granted"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0771c3e8-426e-4ca3-820d-9340fee7f57a",
      "name": "Aucune autorisation",
      "type": "n8n-nodes-base.telegram",
      "position": [
        2336,
        304
      ],
      "webhookId": "d52336a7-c783-4592-821c-563f9832746e",
      "parameters": {
        "text": "=Your Custom Message",
        "chatId": "={{ $json.chatId }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "89hD2RcO1uiV0R8n",
          "name": "Henza"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "08b78fa2-cb3b-4814-b324-2c01e2f49901",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        48
      ],
      "parameters": {
        "width": 1376,
        "height": 496,
        "content": "\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0a633d7b-3fee-4078-9750-23afc06fb990",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        48
      ],
      "parameters": {
        "color": 3,
        "width": 880,
        "height": 496,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "d8dbbfa8-cfb2-44be-bbad-8f77e282a909",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        560
      ],
      "parameters": {
        "color": 7,
        "width": 1312,
        "height": 656,
        "content": "# 🤖 STEP 1: USER INPUT & DATA FETCH PROCESS\n\nTelegram Trigger (Input user2)\nStarts the workflow when a user sends a message to the Telegram bot.\n→ Passes message data (text, chat ID, username) to next node.\n\nCode Node    \nReads the user message and detects intent:\n\n/start or hi → sets action = welcome\n\nEmpty message → sets action = error\n\nOtherwise → sets action = searchCustomer and extracts customerName.\n\nIf Node (If4)\nChecks if action = welcome.\n→ Yes → Sends welcome message.\n→ No → Continues to Google Sheets search.\n\nGoogle Sheets Node\nLooks up Customer name in the connected sheet.\nReturns customer details if found.\n\nCode Node (Code2)\nAdds a found flag to show whether data exists.\nMerges the result with the chat ID for next step.\n\nMerge Node (Merge4)\nCombines user input and sheet data for further processing in the next workflow step."
      },
      "typeVersion": 1
    },
    {
      "id": "287d415e-ffdc-408a-96d5-06713c352479",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        96,
        176
      ],
      "parameters": {
        "jsCode": "const message = $json.message || {};\nlet text = (message.text || \"\").trim();\n\n\nif ([\"/start\", \"hi\"].includes(text)) {\n  return [{\n    json: {\n      action: \"welcome\",\n      chatId: message.chat?.id,\n      reply: \"Your Custom Message\"\n    }\n  }];\n}\n\nif (!text) {\n  return [{\n    json: {\n      action: \"error\",\n      reply: \"Your Custom Message\"\n    }\n  }];\n}\n\nreturn [{\n  json: {\n    action: \"searchCustomer\",\n    customerName: text,\n    chatId: message.chat?.id,\n    from: message.from?.first_name || \"\",\n    username: message.from?.username || \"\",\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "9c97999f-4541-4931-89ca-d3544bf5c240",
      "name": "Code2",
      "type": "n8n-nodes-base.code",
      "position": [
        768,
        384
      ],
      "parameters": {
        "jsCode": "const data = $json;\nconst hasData = Object.keys(data).length > 0;\n\nreturn [{\n  json: {\n    ...data,                \n    found: hasData,         \n    chatId: data.chatId || $input.first().json.chatId\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "5955cbfc-2d71-4ab9-8dd7-94cb8f3bbbd7",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -896,
        224
      ],
      "parameters": {
        "color": 4,
        "width": 656,
        "height": 800,
        "content": "# How it works\n\nThis workflow receives messages from Telegram using the Telegram Trigger node.\n\nIt detects the user’s action (/start or customer name) and decides whether to send a welcome message or perform a customer search.\n\nThe system fetches customer and access information from Google Sheets, checks if the user is authorized (based on chat IDs in the “Access” sheet), and then proceeds accordingly.\n\nIf access is granted, the workflow aggregates financial and weight data, formats a summary report, and sends it back to the same Telegram chat automatically.\n\nIf access is denied or customer data is not found, it sends an appropriate “no permission” or “incorrect name” message to the user.\n\n# Set up steps\n\nConnect your Telegram Bot API credentials in the Input user2, Send Report2, and related Telegram nodes.\n\nConnect your Google Sheets account and update:\n\ndocumentId → link to your Google Sheet\n\nsheetName → replace with your actual sheet/tab names (“Access”, “Sheet1”, etc.)\n\nlookupColumn → update to match column names used in your sheet (e.g., Customer name, Groups).\n\nReplace placeholder text such as Your Custom Message and Your Custom Name with your actual message texts or variable names.\n\nTest by sending a message to your Telegram bot with either /start or a known customer name.\n\nExpected setup time: 10–15 minutes depending on how your Google Sheets and Telegram bot are configured.\n\nKeep detailed field mapping or transformation logic (column names, sheet IDs) inside sticky notes within your workflow."
      },
      "typeVersion": 1
    },
    {
      "id": "980f9f33-4b9a-440e-911c-642d81eec87e",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -176,
        48
      ],
      "parameters": {
        "color": 7,
        "width": 1312,
        "height": 496,
        "content": ""
      },
      "typeVersion": 1
    },
    {
      "id": "49a0a734-df6f-42e5-80d3-60d7b80796b6",
      "name": "Note adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1152,
        560
      ],
      "parameters": {
        "color": 3,
        "width": 880,
        "height": 416,
        "content": "# 🤖 STEP 2: ACCESS VALIDATION PROCESS\n\nIf Node\nChecks if found = true.\n→ Yes: continue to Google Sheets\n→ No: send error message via Telegram\n\nGoogle Sheets Node\nFetches rows from Access Sheet where Customers Group = $json[\"Groups\"].\n\nMerge Node\nCombines data from “If” and “Google Sheets” for validation.\n\nCode Node (Check Match2)\nCompares user chatId with ChatID1 and ChatID2 from sheet.\n→ Returns access: granted or access: denied.\n\nTelegram Node\nSends message “Enter correct name” if no match is found."
      },
      "typeVersion": 1
    },
    {
      "id": "e6658148-61b9-4fff-8820-e71a349329df",
      "name": "Note adhésive6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2048,
        560
      ],
      "parameters": {
        "width": 1376,
        "height": 592,
        "content": "# 🤖 STEP 3: REPORT GENERATION & DELIVERY\n\nIf Node (If3)\nChecks if access = granted.\n→ Yes → continue to report generation.\n→ No → send “No permission” message via Telegram.\n\nGoogle Sheets Node (Get row(s) in sheet5)\nRetrieves customer data from Google Sheets based on customerName.\nProvides raw financial data for calculation.\n\nCode Node (Aggregate Summary2)\nCalculates total debit, total credit, and balance.\nCleans and converts numeric values before summing.\n→ Output: { totalDebitMali, totalCreditMali, balanceMali }\n\nCode Node (Format Details2)\nFormats a detailed text report using emojis and labels.\nExample: 💰Debit, 💸Credit, ⚖️Balance.\n\nCode Node (Combine Summary + Details2)\nMerges summary and detail sections into one final report text.\n\nTelegram Node (Send Report2)\nSends the final formatted report back to the user in Telegram.\n\nTelegram Node (No Permission)\nIf access was denied, this node sends a warning or rejection message to the user."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "f95f85b7-b116-4767-8511-1cce706d1425": {
      "main": [
        [
          {
            "node": "84a544a9-b75f-4a48-bf44-a357d37d46d3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "0771c3e8-426e-4ca3-820d-9340fee7f57a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7722ab6-22df-4d7a-a118-6ee6bedd516f": {
      "main": [
        [
          {
            "node": "fc2fbf1b-ecd3-49ec-bdf4-4e8fe62febf3",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "f48f5043-5bf0-4ad1-85c5-19159d4c1385",
            "type": "main",
            "index": 0
          },
          {
            "node": "7d88a885-dbb9-4cfd-8822-1433f6efa072",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f79a32ce-3892-4978-9346-529be649c73e": {
      "main": [
        [
          {
            "node": "3da68029-f281-43e0-80de-4caa0c27a4b3",
            "type": "main",
            "index": 0
          },
          {
            "node": "70266fc7-de99-4fdf-b398-0d1525168993",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "2f99f000-be5c-453b-84af-91af2f72d79b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "287d415e-ffdc-408a-96d5-06713c352479": {
      "main": [
        [
          {
            "node": "a7722ab6-22df-4d7a-a118-6ee6bedd516f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9c97999f-4541-4931-89ca-d3544bf5c240": {
      "main": [
        [
          {
            "node": "7d88a885-dbb9-4cfd-8822-1433f6efa072",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "7d88a885-dbb9-4cfd-8822-1433f6efa072": {
      "main": [
        [
          {
            "node": "f79a32ce-3892-4978-9346-529be649c73e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "70266fc7-de99-4fdf-b398-0d1525168993": {
      "main": [
        [
          {
            "node": "e85b3a8f-3cbc-476b-bb5f-3f521bb7c7a2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "df7484b2-b2de-40cd-bdbf-ee959efcc908": {
      "main": [
        [
          {
            "node": "287d415e-ffdc-408a-96d5-06713c352479",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e85b3a8f-3cbc-476b-bb5f-3f521bb7c7a2": {
      "main": [
        [
          {
            "node": "f95f85b7-b116-4767-8511-1cce706d1425",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "367b28c8-87cd-47ab-93ce-d2568cce674d": {
      "main": [
        [
          {
            "node": "48c4a6ac-dbbd-475c-b6cd-108257c264e1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d0054cc3-5af6-4dec-84ad-ee4096484c74": {
      "main": [
        [
          {
            "node": "367b28c8-87cd-47ab-93ce-d2568cce674d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f48f5043-5bf0-4ad1-85c5-19159d4c1385": {
      "main": [
        [
          {
            "node": "9c97999f-4541-4931-89ca-d3544bf5c240",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "84a544a9-b75f-4a48-bf44-a357d37d46d3": {
      "main": [
        [
          {
            "node": "d0054cc3-5af6-4dec-84ad-ee4096484c74",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "48c4a6ac-dbbd-475c-b6cd-108257c264e1": {
      "main": [
        [
          {
            "node": "0faa3a2a-2407-4f71-a03e-57c82dfb6e10",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3da68029-f281-43e0-80de-4caa0c27a4b3": {
      "main": [
        [
          {
            "node": "70266fc7-de99-4fdf-b398-0d1525168993",
            "type": "main",
            "index": 1
          }
        ]
      ]
    }
  }
}
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é - Chatbot de support

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œuds26
Catégorie1
Types de nœuds7
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