8
n8n 한국어amn8n.com

Google Drive, GitHub 및 메시지 알림을 사용한 자동화된 워크플로우 백업 시스템

고급

이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 20개의 노드를 포함합니다.주로 If, N8n, Set, Code, Merge 등의 노드를 사용하며. Google Drive, GitHub, 메시지 알림을 활용한 자동화 워크플로우 백업 시스템

사전 요구사항
  • GitHub Personal Access Token
  • Discord Bot Token 또는 Webhook
  • Telegram Bot Token
  • Google Drive API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "c2650793f644091dc80fb900fe63448ad1f4b774008de9608064d67294f8307c",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "d6f2026a-4e1e-4067-b150-8a8cd5b6726d",
      "name": "수동 트리거",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -2016,
        576
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "85bccad1-b418-479b-95e3-b59d788a1093",
      "name": "설정",
      "type": "n8n-nodes-base.set",
      "position": [
        -1792,
        672
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "repo_owner",
              "name": "repo_owner",
              "type": "string",
              "value": "khmuhtadin"
            },
            {
              "id": "repo_name",
              "name": "repo_name",
              "type": "string",
              "value": "n8n-backup"
            },
            {
              "id": "repo_path",
              "name": "repo_path",
              "type": "string",
              "value": "n8n-backup/"
            },
            {
              "id": "gdrive_folder_id",
              "name": "gdrive_folder_id",
              "type": "string",
              "value": "124XMTeN20Huad4vYkTsiGBwildi4Ea9x"
            },
            {
              "id": "backup_timestamp",
              "name": "backup_timestamp",
              "type": "string",
              "value": "={{ $now.format('yyyy-MM-dd_HH-mm-ss') }}"
            },
            {
              "id": "backup_folder_name",
              "name": "backup_folder_name",
              "type": "string",
              "value": "=wfBackup - {{ $now.format('yyyy-MM-dd_HH-mm-ss') }}"
            },
            {
              "id": "a27de573-1591-4afa-97e5-e38d7b4e9839",
              "name": "telegram_chat_id",
              "type": "number",
              "value": 621412350
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5612fac5-9a76-4f04-a1ab-ca7b36d65742",
      "name": "GDrive 폴더 생성",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        -1568,
        672
      ],
      "parameters": {
        "name": "={{ $json.backup_folder_name }}",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.gdrive_folder_id }}"
        },
        "resource": "folder"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "nTWGelaHlbvHrG66",
          "name": "Khaisa Studio"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "ba92f30e-c74b-4902-9406-d1e47410b8a3",
      "name": "모든 워크플로우 가져오기",
      "type": "n8n-nodes-base.n8n",
      "position": [
        -1344,
        672
      ],
      "parameters": {
        "filters": {},
        "requestOptions": {}
      },
      "credentials": {
        "n8nApi": {
          "id": "pSE0NDiUNmtDaZ5J",
          "name": "khmuhtadin"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "77790a4b-8144-47c2-9016-a421b9b7d4a1",
      "name": "워크플로우 순환 처리",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -1120,
        672
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "e93f44ca-c46c-4af8-b291-4beea32ce7ce",
      "name": "JSON 파일로 변환",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        -896,
        288
      ],
      "parameters": {
        "options": {
          "format": true,
          "fileName": "={{ $json.name }}.json"
        },
        "operation": "toJson"
      },
      "typeVersion": 1.1
    },
    {
      "id": "c4362690-ceb3-4c7b-aefd-96a917be43c3",
      "name": "GitHub 데이터 준비",
      "type": "n8n-nodes-base.code",
      "position": [
        -672,
        384
      ],
      "parameters": {
        "jsCode": "// Get workflow data from the Loop Over Workflows node\nconst workflow = $('Loop Over Workflows').item.json;\nconst config = $('Config').first().json;\n\n// Prepare GitHub path using workflow name instead of ID\nconst date = new Date();\nconst year = date.getFullYear();\nconst month = String(date.getMonth() + 1).padStart(2, '0');\n\n// Sanitize workflow name for use as filename\n// Remove special characters and replace spaces with underscores\nconst sanitizedName = workflow.name\n  .replace(/[^a-zA-Z0-9\\s-_]/g, '') // Remove special characters except spaces, hyphens, underscores\n  .replace(/\\s+/g, '_')              // Replace spaces with underscores\n  .replace(/_+/g, '_')               // Remove multiple underscores\n  .trim();                           // Remove leading/trailing spaces\n\n// Create the GitHub path with sanitized name\nconst githubPath = `${config.repo_path}${year}/${month}/${sanitizedName}.json`;\n\n// Order JSON keys for consistency\nconst orderJsonKeys = (jsonObj) => {\n  const ordered = {};\n  Object.keys(jsonObj).sort().forEach(key => {\n    ordered[key] = jsonObj[key];\n  });\n  return ordered;\n};\n\n// Prepare workflow data\nconst orderedWorkflow = orderJsonKeys(workflow);\nconst workflowJson = JSON.stringify(orderedWorkflow, null, 2);\n\n// Return both the original data and GitHub-specific data\nreturn {\n  ...workflow,\n  github_path: githubPath,\n  workflow_json: workflowJson,\n  year: year,\n  month: month,\n  sanitized_name: sanitizedName\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "24f1655a-bcab-4034-8a55-3bf436c1c32c",
      "name": "Google Drive에 업로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        0,
        96
      ],
      "parameters": {
        "name": "={{ $('Loop Over Workflows').item.json.name }}.json",
        "driveId": {
          "__rl": true,
          "mode": "list",
          "value": "My Drive"
        },
        "options": {},
        "folderId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Create GDrive Folder').item.json.id }}"
        }
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "nTWGelaHlbvHrG66",
          "name": "Khaisa Studio"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "a2380ef2-20ab-4d6d-adab-c2ca130e40ac",
      "name": "파일 존재 여부 확인",
      "type": "n8n-nodes-base.github",
      "position": [
        -448,
        384
      ],
      "webhookId": "8987819b-d306-48c8-bd8d-58eac1610c75",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "expression",
          "value": "={{ $('Config').item.json.repo_owner }}"
        },
        "filePath": "={{ $('Prepare GitHub Data').item.json.github_path }}",
        "resource": "file",
        "operation": "get",
        "repository": {
          "__rl": true,
          "mode": "expression",
          "value": "={{ $('Config').item.json.repo_name }}"
        },
        "authentication": "oAuth2",
        "asBinaryProperty": false,
        "additionalParameters": {}
      },
      "credentials": {
        "githubOAuth2Api": {
          "id": "WlWFMqmgPWeyIthW",
          "name": "khmuhtadin"
        }
      },
      "typeVersion": 1,
      "continueOnFail": true,
      "alwaysOutputData": true
    },
    {
      "id": "87c2b084-0755-4f80-b768-619fc97d03f6",
      "name": "파일 존재?",
      "type": "n8n-nodes-base.if",
      "position": [
        -224,
        384
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "has-content",
              "operator": {
                "type": "string",
                "operation": "exists"
              },
              "leftValue": "={{ $json.content }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2
    },
    {
      "id": "683d43dc-3511-4dbb-bdd8-649bd57cd122",
      "name": "GitHub 파일 업데이트",
      "type": "n8n-nodes-base.github",
      "onError": "continueRegularOutput",
      "position": [
        0,
        288
      ],
      "webhookId": "d3e6f63d-a808-40cf-8f71-6e6b7fb1a4e5",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "expression",
          "value": "={{ $('Config').item.json.repo_owner }}"
        },
        "filePath": "={{ $('Prepare GitHub Data').item.json.github_path }}",
        "resource": "file",
        "operation": "edit",
        "repository": {
          "__rl": true,
          "mode": "expression",
          "value": "={{ $('Config').item.json.repo_name }}"
        },
        "fileContent": "={{ $('Prepare GitHub Data').item.json.workflow_json }}",
        "commitMessage": "=Update: {{ $('Loop Over Workflows').item.json.name }} - {{ $('Config').item.json.backup_timestamp }}",
        "authentication": "oAuth2"
      },
      "credentials": {
        "githubOAuth2Api": {
          "id": "WlWFMqmgPWeyIthW",
          "name": "khmuhtadin"
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "486829d1-c66d-4b0f-9038-1c8f98a42f65",
      "name": "GitHub 파일 생성",
      "type": "n8n-nodes-base.github",
      "position": [
        0,
        576
      ],
      "webhookId": "15aff88f-3b60-4232-adcd-b1ddbcc22794",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "expression",
          "value": "={{ $('Config').item.json.repo_owner }}"
        },
        "filePath": "={{ $('Prepare GitHub Data').item.json.github_path }}",
        "resource": "file",
        "repository": {
          "__rl": true,
          "mode": "expression",
          "value": "={{ $('Config').item.json.repo_name }}"
        },
        "fileContent": "={{ $('Prepare GitHub Data').item.json.workflow_json }}",
        "commitMessage": "=Create: {{ $('Loop Over Workflows').item.json.name }} - {{ $('Config').item.json.backup_timestamp }}",
        "authentication": "oAuth2"
      },
      "credentials": {
        "githubOAuth2Api": {
          "id": "WlWFMqmgPWeyIthW",
          "name": "khmuhtadin"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7b40e9a2-c182-4b60-84a8-ff468e9a3b24",
      "name": "GitHub 결과 병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        224,
        288
      ],
      "parameters": {},
      "typeVersion": 3
    },
    {
      "id": "d478e490-bbbe-4b12-a20a-305ebdafde70",
      "name": "완료 표시",
      "type": "n8n-nodes-base.set",
      "position": [
        448,
        656
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "backup_complete",
              "name": "backup_complete",
              "type": "boolean",
              "value": true
            },
            {
              "id": "workflow_name",
              "name": "workflow_name",
              "type": "string",
              "value": "={{ $('Loop Over Workflows').item.json.name }}"
            },
            {
              "id": "workflow_id",
              "name": "workflow_id",
              "type": "string",
              "value": "={{ $('Loop Over Workflows').item.json.id }}"
            },
            {
              "id": "gdrive_backup",
              "name": "gdrive_backup",
              "type": "boolean",
              "value": true
            },
            {
              "id": "github_backup",
              "name": "github_backup",
              "type": "boolean",
              "value": true
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b0325d2f-51c6-4147-b1fc-e336d26e4a78",
      "name": "최종 요약",
      "type": "n8n-nodes-base.set",
      "position": [
        -896,
        672
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "total_workflows",
              "name": "total_workflows",
              "type": "number",
              "value": "={{ $('Get All Workflows').all().length }}"
            },
            {
              "id": "backup_timestamp",
              "name": "backup_timestamp",
              "type": "string",
              "value": "={{ $('Config').first().json.backup_timestamp }}"
            },
            {
              "id": "gdrive_folder",
              "name": "gdrive_folder",
              "type": "string",
              "value": "={{ $('Create GDrive Folder').first().json.name }}"
            },
            {
              "id": "status",
              "name": "status",
              "type": "string",
              "value": "Backup completed successfully"
            }
          ]
        }
      },
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "6aa32c53-f0e5-44a4-9a4c-0a785575f661",
      "name": "알림: Discord",
      "type": "n8n-nodes-base.discord",
      "position": [
        -672,
        768
      ],
      "webhookId": "cc8e8a13-3f8f-4d81-848d-770fbd16f26d",
      "parameters": {
        "content": "={{ $json.status }}\n\nTotal workflow: {{ $json.total_workflows }}\nTimestamp: {{ $json.backup_timestamp }}\nDrive Folder: {{ $json.gdrive_folder }}\nRepo Name: {{ $('Config').item.json.repo_name }}",
        "guildId": {
          "__rl": true,
          "mode": "list",
          "value": "924339263372406844",
          "cachedResultUrl": "https://discord.com/channels/924339263372406844",
          "cachedResultName": "Khaisa Studio"
        },
        "options": {},
        "resource": "message",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "1418253548193447936",
          "cachedResultUrl": "https://discord.com/channels/924339263372406844/1418253548193447936",
          "cachedResultName": "monitoring"
        }
      },
      "credentials": {
        "discordBotApi": {
          "id": "dJMKbc7ZDni2mvkT",
          "name": "Khaisa-n8n-bot"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "bde9e6db-95e5-4b36-8ee2-9b3489816c7e",
      "name": "알림: Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -672,
        576
      ],
      "webhookId": "bb4dfcba-1411-4242-9302-b23a369fc4a7",
      "parameters": {
        "text": "=<b>✅ Backup Status:</b> {{ $json.status }}<br>\n<b>Total Workflows:</b> {{ $json.total_workflows }}<br>\n<b>Timestamp:</b> {{ $json.backup_timestamp }}<br>\n<b>Drive Folder:</b> {{ $json.gdrive_folder }}<br>\n<b>Repo Name:</b> {{ $('Config').item.json.repo_name }}<br><br>\n<i>Your n8n backup has been completed successfully!</i>",
        "chatId": "={{ $('Config').item.json.telegram_chat_id }}",
        "additionalFields": {
          "parse_mode": "HTML",
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "wlH3um2hoPAGI8XX",
          "name": "Khaisa Dev Bot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "d8638508-4230-4384-8202-7e7a15fd2852",
      "name": "12시간마다 예약 실행",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2016,
        768
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 12
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "71b29f3d-cf30-4f71-86dc-bee8fc18c2d8",
      "name": "스티커 메모",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1792,
        896
      ],
      "parameters": {
        "color": 5,
        "width": 448,
        "height": 640,
        "content": "## 🚀 n8n Workflow Backup System\n\n### 📋 Requirements\n- **n8n API Credentials** - For fetching workflows\n- **Google Drive OAuth2** - For cloud backup storage  \n- **GitHub OAuth2** - For version control backup\n- **Telegram Bot API** (Optional) - For notifications\n- **Discord Bot API** (Optional) - For notifications\n\n### 🔗 Resource URLs\n- **n8n API**: [docs.n8n.io/api](https://docs.n8n.io/api/)\n- **Google Drive API**: [console.cloud.google.com](https://console.cloud.google.com/)\n- **GitHub OAuth**: [github.com/settings/developers](https://github.com/settings/developers)\n- **Telegram Bot**: [@BotFather](https://t.me/botfather)\n- **Discord Bot**: [discord.com/developers](https://discord.com/developers/applications)\n\n### ✨ Features\n- Dual backup (Google Drive + GitHub)\n- Version control with Git history\n- Sanitized filenames (removes special characters)\n- Error handling with fallback\n- Optional notifications on completion\n- Runs automatically twice daily"
      },
      "typeVersion": 1
    },
    {
      "id": "7672fb85-001c-48e5-8181-b48175e45b5a",
      "name": "스티커 메모1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1312,
        896
      ],
      "parameters": {
        "color": 5,
        "width": 448,
        "height": 640,
        "content": "## ⚙️ Configuration\nEdit the **Config** node with your settings:\n- `repo_owner` - Your GitHub username\n- `repo_name` - Repository name for backups\n- `repo_path` - Folder path in repo (e.g., \"n8n-backup/\")\n- `gdrive_folder_id` - Google Drive parent folder ID\n- `telegram_chat_id` - Your Telegram chat ID (optional)\n\n### 📊 Workflow Process\n\n1. **Trigger** → Manual or scheduled every 12 hours\n2. **Setup** → Creates timestamped backup folder in Google Drive\n3. **Fetch** → Gets all workflows from n8n instance\n4. **Loop Process** → For each workflow:\n   - Converts to formatted JSON file\n   - Uploads to Google Drive folder\n   - Checks if file exists on GitHub\n   - Creates new or updates existing GitHub file\n5. **Complete** → Sends summary notifications to Telegram & Discord\n\n### 📁 Backup Structure\n- **Google Drive**: `/wfBackup - YYYY-MM-DD_HH-mm-ss/workflow_name.json`\n- **GitHub**: `/n8n-backup/YYYY/MM/workflow_name.json`\n\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "85bccad1-b418-479b-95e3-b59d788a1093": {
      "main": [
        [
          {
            "node": "5612fac5-9a76-4f04-a1ab-ca7b36d65742",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "87c2b084-0755-4f80-b768-619fc97d03f6": {
      "main": [
        [
          {
            "node": "683d43dc-3511-4dbb-bdd8-649bd57cd122",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "486829d1-c66d-4b0f-9038-1c8f98a42f65",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b0325d2f-51c6-4147-b1fc-e336d26e4a78": {
      "main": [
        [
          {
            "node": "bde9e6db-95e5-4b36-8ee2-9b3489816c7e",
            "type": "main",
            "index": 0
          },
          {
            "node": "6aa32c53-f0e5-44a4-9a4c-0a785575f661",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d478e490-bbbe-4b12-a20a-305ebdafde70": {
      "main": [
        [
          {
            "node": "77790a4b-8144-47c2-9016-a421b9b7d4a1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d6f2026a-4e1e-4067-b150-8a8cd5b6726d": {
      "main": [
        [
          {
            "node": "85bccad1-b418-479b-95e3-b59d788a1093",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba92f30e-c74b-4902-9406-d1e47410b8a3": {
      "main": [
        [
          {
            "node": "77790a4b-8144-47c2-9016-a421b9b7d4a1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "486829d1-c66d-4b0f-9038-1c8f98a42f65": {
      "main": [
        [
          {
            "node": "7b40e9a2-c182-4b60-84a8-ff468e9a3b24",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "683d43dc-3511-4dbb-bdd8-649bd57cd122": {
      "main": [
        [
          {
            "node": "7b40e9a2-c182-4b60-84a8-ff468e9a3b24",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "77790a4b-8144-47c2-9016-a421b9b7d4a1": {
      "main": [
        [
          {
            "node": "b0325d2f-51c6-4147-b1fc-e336d26e4a78",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e93f44ca-c46c-4af8-b291-4beea32ce7ce",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c4362690-ceb3-4c7b-aefd-96a917be43c3": {
      "main": [
        [
          {
            "node": "a2380ef2-20ab-4d6d-adab-c2ca130e40ac",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a2380ef2-20ab-4d6d-adab-c2ca130e40ac": {
      "main": [
        [
          {
            "node": "87c2b084-0755-4f80-b768-619fc97d03f6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e93f44ca-c46c-4af8-b291-4beea32ce7ce": {
      "main": [
        [
          {
            "node": "24f1655a-bcab-4034-8a55-3bf436c1c32c",
            "type": "main",
            "index": 0
          },
          {
            "node": "c4362690-ceb3-4c7b-aefd-96a917be43c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5612fac5-9a76-4f04-a1ab-ca7b36d65742": {
      "main": [
        [
          {
            "node": "ba92f30e-c74b-4902-9406-d1e47410b8a3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b40e9a2-c182-4b60-84a8-ff468e9a3b24": {
      "main": [
        [
          {
            "node": "d478e490-bbbe-4b12-a20a-305ebdafde70",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "24f1655a-bcab-4034-8a55-3bf436c1c32c": {
      "main": [
        [
          {
            "node": "7b40e9a2-c182-4b60-84a8-ff468e9a3b24",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "d8638508-4230-4384-8202-7e7a15fd2852": {
      "main": [
        [
          {
            "node": "85bccad1-b418-479b-95e3-b59d788a1093",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

고급 - 콘텐츠 제작, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

워크플로우 정보
난이도
고급
노드 수20
카테고리2
노드 유형14
난이도 설명

고급 사용자를 위한 16+개 노드의 복잡한 워크플로우

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34