8
n8n 한국어amn8n.com

마케팅 콘텐츠 생성

고급

이것은Content Creation, Multimodal AI분야의자동화 워크플로우로, 40개의 노드를 포함합니다.주로 If, Set, Switch, Telegram, HttpRequest 등의 노드를 사용하며. 사용하여 Telegram과 Gemini로 이미지에서 Facebook 마케팅 콘텐츠 생성

사전 요구사항
  • Telegram Bot Token
  • 대상 API의 인증 정보가 필요할 수 있음
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "ZIWg65Fq4Vr1rkBF",
  "meta": {
    "instanceId": "7f1a0694161455be3a7e71f1e0dea04908b0376a1a81e3a0c1e5ac879d48f83a",
    "templateCredsSetupCompleted": true
  },
  "name": "Marketing Content Creating",
  "tags": [],
  "nodes": [
    {
      "id": "e790ce12-84f5-4a14-84b7-2cca94a2c2ce",
      "name": "Telegram 트리거",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -4272,
        -368
      ],
      "webhookId": "fc2cd6f7-52fb-47e1-a95e-60b8a7f023bf",
      "parameters": {
        "updates": [
          "*"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "54Wv2uMARWE0XAUl",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "3fdb47aa-c20d-4d64-ba2d-9e7004c6fdf4",
      "name": "Telegram 메타데이터 추출",
      "type": "n8n-nodes-base.set",
      "position": [
        -4016,
        -368
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "516ee90b-f268-45a4-b445-3245fb0da83e",
              "name": "photo_file_id",
              "type": "string",
              "value": "={{ $json.message.photo[3].file_id }}"
            },
            {
              "id": "2008723e-9991-4e7a-b1d2-cbb4876adac8",
              "name": "photo_caption",
              "type": "string",
              "value": "={{$json[\"message\"][\"caption\"] || \"No caption provided\"}}"
            },
            {
              "id": "38ea22ee-878a-4d16-bad4-d178edde481e",
              "name": "chat_id",
              "type": "string",
              "value": "={{$json[\"message\"][\"chat\"][\"id\"]}}"
            },
            {
              "id": "9eb27912-af87-462f-a324-16ec084df841",
              "name": "message_id",
              "type": "string",
              "value": "={{$json[\"message\"][\"message_id\"]}}"
            },
            {
              "id": "f3f7a986-e9e1-45f0-ac79-44cda0dc32ec",
              "name": "timestamp",
              "type": "string",
              "value": "={{new Date().toISOString()}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "c634c46a-a9a9-4cd6-b161-fee6a2819f8e",
      "name": "Telegram 파일 정보 가져오기",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -3824,
        -368
      ],
      "parameters": {
        "url": "=https://api.telegram.org/{{TELEGRAM_BOT_TOKEN}}/getFile?file_id={{$json[\"photo_file_id\"]}}",
        "options": {}
      },
      "typeVersion": 4.2,
      "alwaysOutputData": false
    },
    {
      "id": "a7417e16-1a71-42ce-97c8-9ae7d1dc7535",
      "name": "Telegram 이미지 URL 빌드",
      "type": "n8n-nodes-base.set",
      "position": [
        -3648,
        -368
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e84d0249-e55f-4099-9144-4c22598682db",
              "name": "file_path",
              "type": "string",
              "value": "={{ $json.result.file_path }}"
            },
            {
              "id": "9d23e1a9-80fe-45bb-a96f-7f7652237cf8",
              "name": "download_url",
              "type": "string",
              "value": "=https://api.telegram.org/file/bot[YOUR_BOT_TOKEN]/{{$json[\"result\"][\"file_path\"]}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "d3d8a354-a650-4941-87e2-4755060b48a8",
      "name": "Telegram 이미지 다운로드",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -3440,
        -368
      ],
      "parameters": {
        "url": "={{ $json.download_url }}",
        "options": {
          "response": {
            "response": {
              "responseFormat": "file",
              "outputPropertyName": "=photo_data"
            }
          }
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
      "name": "마케팅 콘텐츠 생성",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -3248,
        -368
      ],
      "parameters": {
        "text": "=You are the content creator for XQ Pharma—a skincare brand dedicated to real, visible results for young, modern consumers in the Arab world.\n\nYour job is to write:\n\nA strong hook: A short, catchy sentence that starts with a real problem or clear benefit, instantly grabbing attention.\n\nConcise, convincing content: 3–5 sentences that explain the product or routine, what makes it different, and how it truly helps the customer (no complicated medical jargon, no exaggeration).\n\nA call-to-action (CTA): A direct, friendly invitation to try, buy, or start the routine.\n\nRequired Style & Tone:\n\nYouthful, conversational, and down-to-earth—not formal or generic\n\nSpeak directly to the customer's needs and struggles\n\nFocus on how the product makes life easier, skin clearer, and confidence higher\n\nAvoid clichés or over-the-top claims—keep it real, keep it simple\n\nUse language and phrases that feel local, relatable, and fresh\n\nStructure:\n\nHook: One catchy line that starts with the customer’s struggle or promises a real change\n\nBody: 3–5 sentences explaining the true benefit and role of the product or routine—why XQ makes a difference\n\nCTA: End with a clear, friendly, motivating invitation to try, buy, or experience XQ\n\nBrand Example Tone:\n\n“Wake up to new breakouts every day? Leave them behind and start your XQ routine—for calmer, clearer skin!”\n\n“One wash… and real clarity that lasts.”\n\n“Every product has a role. Every step gives you real comfort and confidence.”\n\n“Try XQ and see the difference for yourself!”\n\nAlways write in clear, natural Arabic, true to XQ’s brand voice.\nDon’t recycle generic ad copy—each post must feel new, real, and close to your audience.\nMatch the brand’s look, feel, and promise in every line.\n\nOutput must be in this JSON format:\n{\n  \"headline\": \"...\",\n  \"content\": \"...\",\n  \"hashtags\": [\"...\", \"...\"],\n  \"cta\": \"...\"\n}\n\n\n",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2.1
    },
    {
      "id": "95fc665a-c98a-4ce6-9d77-63a6deba8c81",
      "name": "언어 모델 (OpenRouter)",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -3248,
        -144
      ],
      "parameters": {
        "model": "google/gemini-2.5-flash-lite",
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "dlnlO0HAUYbEGXZE",
          "name": "OpenRouter account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "18dd5c2e-f93b-48a8-8fc0-f2653f18411a",
      "name": "AI 출력 파싱",
      "type": "n8n-nodes-base.set",
      "position": [
        -2864,
        -368
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "91323867-f4bf-4bcc-a696-6524795e082f",
              "name": "headline",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).headline }}\n"
            },
            {
              "id": "33d44685-8463-4730-8bb4-c1f006f6a466",
              "name": "content",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).content }}\n"
            },
            {
              "id": "915dec92-ad74-423a-a81e-30b027100eb1",
              "name": "hashtags",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).hashtags.join(\" \") }}\n"
            },
            {
              "id": "5c7cbab9-8090-436e-962f-6626f6855393",
              "name": "cta",
              "type": "string",
              "value": "={{ JSON.parse($json[\"output\"].replace(/```json|```/g, \"\").trim()).cta }}\n"
            },
            {
              "id": "73d4fbf5-9f22-4ec7-b4e3-64a89b2c726a",
              "name": "approval_id",
              "type": "string",
              "value": "=_{{Math.random().toString(36).substr(2, 9)}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b3a68c66-f304-434e-8050-b34be7ea93d8",
      "name": "승인 결정",
      "type": "n8n-nodes-base.if",
      "position": [
        -1904,
        -368
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "b86d09ef-20f0-40fa-be59-3a9900f20aa5",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": "="
            },
            {
              "id": "03978ad9-213f-4aeb-809e-c9b6fa0e0324",
              "operator": {
                "type": "boolean",
                "operation": "false",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2,
      "alwaysOutputData": false
    },
    {
      "id": "b48b0d1c-b5af-474b-a334-f00a56e08a50",
      "name": "메시지에 사진 포함 여부 확인",
      "type": "n8n-nodes-base.if",
      "position": [
        -3760,
        48
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a93c60b8-3ddf-4ab0-bfe7-34b922b08533",
              "operator": {
                "type": "boolean",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.message.photo }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "b560bb97-68b0-4eb8-8709-c65b7f8753de",
      "name": "사용자 입력 프롬프트 (수동)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -2048,
        544
      ],
      "webhookId": "91d8157e-a213-4e90-ab4a-0cfbe193beca",
      "parameters": {
        "text": "What changes would you like ?",
        "chatId": "={{ $('Extract Telegram Metadata').item.json.chat_id }} ",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "54Wv2uMARWE0XAUl",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "96cbf7cb-89a4-42bd-9107-0d6e88eee868",
      "name": "사용자 텍스트로 워크플로우 재시작",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        -1840,
        544
      ],
      "parameters": {
        "options": {},
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "{{REPLACE_WITH_SUB_WORKFLOW_ID}}",
          "cachedResultName": "{{Sub Workflow Name}}"
        },
        "workflowInputs": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "246d08f7-d645-45cf-807a-b7d69d0689f9",
      "name": "워크플로우 다시 재시작",
      "type": "n8n-nodes-base.executeWorkflow",
      "position": [
        -1456,
        80
      ],
      "parameters": {
        "options": {},
        "workflowId": {
          "__rl": true,
          "mode": "list",
          "value": "{{REPLACE_WITH_SUB_WORKFLOW_ID}}",
          "cachedResultName": "{{Sub Workflow Name}}"
        },
        "workflowInputs": {
          "value": {},
          "schema": [],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": true
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8cbbd214-3b3a-4aba-93cc-1e769847e789",
      "name": "Facebook에 게시물 발행",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1664,
        -384
      ],
      "parameters": {
        "url": "https://graph.facebook.com/v12.0/{{PAGE_ID}}/photos",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "multipart-form-data",
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "source",
              "value": "={{ $('Edit Fields1').item.json.file_path }}"
            },
            {
              "name": "message",
              "value": "={{ $('Switch1').item.json.headline }}\\n\\n{{ $('Switch1').item.json.content }}\\n\\n{{ $('Switch1').item.json.hashtags }}"
            },
            {
              "name": "published",
              "value": "true"
            }
          ]
        },
        "genericAuthType": "oAuth2Api"
      },
      "typeVersion": 4.2
    },
    {
      "id": "45c9e2cf-bbdd-4e09-9c62-240382f85921",
      "name": "Facebook 성공 알림",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1456,
        -384
      ],
      "webhookId": "7260ee50-b037-44d2-9036-7627e22c4b02",
      "parameters": {
        "text": "📅 Your post has been successfully scheduled for publishing on Facebook!",
        "chatId": "={{ $('Check if Message has Photo').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "54Wv2uMARWE0XAUl",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "a05ff9fe-ddce-4c9a-bc28-407612de0c6b",
      "name": "스티커 노트",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4368,
        -480
      ],
      "parameters": {
        "color": 3,
        "height": 256,
        "content": "Starts the workflow when the Telegram bot receives a new message from a user, including photos and text."
      },
      "typeVersion": 1
    },
    {
      "id": "5850a31e-524e-4449-9a2d-cf8b9fc0f82b",
      "name": "스티커 노트1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3824,
        -96
      ],
      "parameters": {
        "color": 4,
        "height": 320,
        "content": "Determines whether the incoming Telegram message contains a photo. Routes to either the image processing path or the fallback for text-only messages."
      },
      "typeVersion": 1
    },
    {
      "id": "aeee1d5f-2744-4d23-a669-c46bca013a9a",
      "name": "스티커 노트2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -4080,
        -480
      ],
      "parameters": {
        "color": 5,
        "width": 208,
        "height": 256,
        "content": "Extracts key fields like chat_id, file_id, caption, and timestamp from the incoming message for further processing."
      },
      "typeVersion": 1
    },
    {
      "id": "6d30b34a-8052-4772-9c03-2f13dcde46fd",
      "name": "스티커 노트3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3856,
        -480
      ],
      "parameters": {
        "color": 4,
        "width": 160,
        "height": 256,
        "content": "Calls Telegram's API to retrieve file path information using the provided photo file ID."
      },
      "typeVersion": 1
    },
    {
      "id": "7057a573-4bb7-4b5a-b350-dd64c74f7e4c",
      "name": "스티커 노트4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3680,
        -480
      ],
      "parameters": {
        "color": 5,
        "width": 176,
        "height": 256,
        "content": "Builds a downloadable file URL using the file path from Telegram's response."
      },
      "typeVersion": 1
    },
    {
      "id": "92d7a0df-4d7a-4d19-b777-5ec25dac16a9",
      "name": "스티커 노트5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3488,
        -480
      ],
      "parameters": {
        "color": 4,
        "width": 192,
        "height": 256,
        "content": "Downloads the photo file from Telegram and stores it as photo_data for use by the AI."
      },
      "typeVersion": 1
    },
    {
      "id": "6802e29d-1ee8-488f-92c3-1ee294f321c6",
      "name": "스티커 노트6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3232,
        -480
      ],
      "parameters": {
        "color": 6,
        "height": 256,
        "content": "Uses an AI agent (powered by a language model) to generate marketing content based on the image, caption, and brand style prompt."
      },
      "typeVersion": 1
    },
    {
      "id": "5c1608cb-b51e-4e9f-b454-cc12aad1ae89",
      "name": "스티커 노트7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3328,
        -160
      ],
      "parameters": {
        "color": 6,
        "height": 256,
        "content": "\n\n\n\n\n\n\n\n\n\n\n\nProvides the underlying LLM (like Gemini or GPT) that powers the AI Agent node to generate the post content."
      },
      "typeVersion": 1
    },
    {
      "id": "50ae9451-f18c-42ee-8ab4-b4c18611a1ed",
      "name": "스티커 노트8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2944,
        -608
      ],
      "parameters": {
        "color": 4,
        "height": 384,
        "content": "Parses the structured JSON response from the AI to extract:\n\nHeadline\n\nContent\n\nHashtags\n\nCTA\nAlso generates a random approval ID."
      },
      "typeVersion": 1
    },
    {
      "id": "305fd517-304a-4f92-9581-a010c1ccc23f",
      "name": "입력 신규/기존 여부 결정",
      "type": "n8n-nodes-base.switch",
      "position": [
        -2656,
        -368
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "39e6e597-0d27-43c5-bae6-42926f284937",
                    "operator": {
                      "type": "boolean",
                      "operation": "false",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
                    "rightValue": ""
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "203ef3ef-d966-45bd-8b30-40c62e3e1fb0",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
                    "rightValue": ""
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "ae793205-2c10-4640-a9cd-ea6111894cfd",
      "name": "스티커 노트9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2688,
        -528
      ],
      "parameters": {
        "color": 5,
        "width": 176,
        "height": 304,
        "content": "Checks if the message sender is a new message or user requested edit and routes the generated content to the right approval flow."
      },
      "typeVersion": 1
    },
    {
      "id": "da169286-1d7a-4781-a3c0-9f6c3bdf7e01",
      "name": "승인 요청 전송 (신규)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -2320,
        -496
      ],
      "webhookId": "872bb540-ea9e-4277-b3ea-e5f8a8a98f6e",
      "parameters": {
        "chatId": "={{ $('Check if Message has Photo').item.json.message.chat.id }}",
        "message": "=📝 **Generated Marketing Content**\n\n**Headline:** {{ $('Parse AI Output').item.json.headline }}\n\n**Content:** {{ $('Parse AI Output').item.json.content }}\n\n**Hashtags:** {{ $('Parse AI Output').item.json.hashtags }}\n\n**CTA:** {{ $('Parse AI Output').item.json.cta }}\n\n✅ Reply \"APPROVE\" to post \n❌ Reply \"REJECT\" to cancel",
        "options": {},
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "54Wv2uMARWE0XAUl",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "657f641e-539d-4b23-bccc-b83c19f223f7",
      "name": "승인 요청 전송 (기존)",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -2320,
        -144
      ],
      "webhookId": "1fb88870-f8aa-4308-a109-ca10769b0040",
      "parameters": {
        "chatId": "={{ $('Extract Telegram Metadata').item.json.chat_id }} ",
        "message": "=📝 **Generated Marketing Content**\n\n**Headline:** {{ $('Parse AI Output').item.json.headline }}\n\n**Content:** {{ $('Parse AI Output').item.json.content }}\n\n**Hashtags:** {{ $('Parse AI Output').item.json.hashtags }}\n\n**CTA:** {{ $('Parse AI Output').item.json.cta }}\n\n✅ Reply \"APPROVE\" to post \n❌ Reply \"REJECT\" to cancel",
        "options": {},
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "54Wv2uMARWE0XAUl",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6344d872-4c6a-455d-bf07-238dc8344d03",
      "name": "스티커 노트10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2368,
        -608
      ],
      "parameters": {
        "color": 4,
        "width": 208,
        "height": 288,
        "content": "Sends the AI-generated content to the user for review and waits for their reply (APPROVE or REJECT)."
      },
      "typeVersion": 1
    },
    {
      "id": "ac30bbca-7e8f-4d4a-9923-d381e34c1ccb",
      "name": "스티커 노트11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2368,
        -256
      ],
      "parameters": {
        "color": 4,
        "width": 208,
        "height": 288,
        "content": "Sends the AI-generated content to the user for review and waits for their reply (APPROVE or REJECT)."
      },
      "typeVersion": 1
    },
    {
      "id": "9059b7fd-018b-46f3-9ab1-d5e9648c07ec",
      "name": "스티커 노트12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1952,
        -480
      ],
      "parameters": {
        "color": 5,
        "width": 176,
        "height": 256,
        "content": "Checks whether the user approved or rejected the content and routes accordingly."
      },
      "typeVersion": 1
    },
    {
      "id": "c32046c3-99e2-44b1-a77d-d1b849872cdf",
      "name": "스티커 노트13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1712,
        -496
      ],
      "parameters": {
        "color": 4,
        "width": 192,
        "height": 272,
        "content": "Posts the approved photo and content to a Facebook page using a multipart HTTP request."
      },
      "typeVersion": 1
    },
    {
      "id": "c2f306c7-b762-47e3-b930-cebc61e16b74",
      "name": "스티커 노트14",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1504,
        -496
      ],
      "parameters": {
        "color": 5,
        "width": 192,
        "height": 272,
        "content": "Notifies the user via Telegram that the Facebook post was successfully scheduled or published."
      },
      "typeVersion": 1
    },
    {
      "id": "056940d3-d701-4904-a02b-9c9f122e20fd",
      "name": "텍스트/사진 여부 확인",
      "type": "n8n-nodes-base.switch",
      "position": [
        -2000,
        96
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "2a8def23-8ef5-470c-96c8-ba873aa48a30",
                    "operator": {
                      "type": "boolean",
                      "operation": "false",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
                    "rightValue": ""
                  }
                ]
              }
            },
            {
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "2011dd2e-5ed8-45c4-887f-01944f6e94a1",
                    "operator": {
                      "type": "boolean",
                      "operation": "true",
                      "singleValue": true
                    },
                    "leftValue": "={{ $('Check if Message has Photo').item.json.message.from.is_bot }}",
                    "rightValue": ""
                  }
                ]
              }
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "d98de212-9b3c-4917-9120-dfb6d5198244",
      "name": "스티커 노트15",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2048,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 208,
        "height": 272,
        "content": "Checks if the message came from the text route or the photo route"
      },
      "typeVersion": 1
    },
    {
      "id": "4669ff74-44b8-4d8e-bb6e-74466a4bc88a",
      "name": "사용자에게 수정 요청",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -1696,
        80
      ],
      "webhookId": "73490335-a569-4664-b19d-ce2b1abbb89a",
      "parameters": {
        "text": "What changes would you like ?",
        "chatId": "={{ $('Check if Message has Photo').item.json.message.chat.id }}",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "54Wv2uMARWE0XAUl",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "6e713890-dc12-4960-b748-37991976f036",
      "name": "스티커 노트16",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1760,
        -16
      ],
      "parameters": {
        "color": 5,
        "width": 224,
        "height": 256,
        "content": "Sends a Telegram message asking the user to type what they want (used when no photo is sent)."
      },
      "typeVersion": 1
    },
    {
      "id": "dccf21dd-f0ff-41fd-a76c-3d34ad6a718d",
      "name": "스티커 노트17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1520,
        -112
      ],
      "parameters": {
        "color": 4,
        "height": 352,
        "content": "Re-triggers the workflow by executing it again using the user's text instead of a photo. Enables feedback loop via Telegram instead of bothering users to write their edits in a new tap"
      },
      "typeVersion": 1
    },
    {
      "id": "07331e32-ca71-4ff3-8722-095778bfe351",
      "name": "스티커 노트18",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1888,
        384
      ],
      "parameters": {
        "color": 4,
        "height": 352,
        "content": "Re-triggers the workflow by executing it again using the user's text instead of a photo. Enables feedback loop via Telegram instead of bothering users to write their edits in a new tap"
      },
      "typeVersion": 1
    },
    {
      "id": "b58342e6-1131-42be-9a10-ceefa65780a4",
      "name": "스티커 노트19",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2128,
        448
      ],
      "parameters": {
        "color": 5,
        "width": 224,
        "height": 288,
        "content": "Sends a Telegram message asking the user to type what they want (used when a photo is sent)."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "3c4af25b-1c97-4e1f-8e22-cbf8a0ab92e5",
  "connections": {
    "18dd5c2e-f93b-48a8-8fc0-f2653f18411a": {
      "main": [
        [
          {
            "node": "305fd517-304a-4f92-9581-a010c1ccc23f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b3a68c66-f304-434e-8050-b34be7ea93d8": {
      "main": [
        [
          {
            "node": "8cbbd214-3b3a-4aba-93cc-1e769847e789",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "056940d3-d701-4904-a02b-9c9f122e20fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e790ce12-84f5-4a14-84b7-2cca94a2c2ce": {
      "main": [
        [
          {
            "node": "b48b0d1c-b5af-474b-a334-f00a56e08a50",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "056940d3-d701-4904-a02b-9c9f122e20fd": {
      "main": [
        [
          {
            "node": "4669ff74-44b8-4d8e-bb6e-74466a4bc88a",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b560bb97-68b0-4eb8-8709-c65b7f8753de",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c634c46a-a9a9-4cd6-b161-fee6a2819f8e": {
      "main": [
        [
          {
            "node": "a7417e16-1a71-42ce-97c8-9ae7d1dc7535",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4669ff74-44b8-4d8e-bb6e-74466a4bc88a": {
      "main": [
        [
          {
            "node": "246d08f7-d645-45cf-807a-b7d69d0689f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d3d8a354-a650-4941-87e2-4755060b48a8": {
      "main": [
        [
          {
            "node": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a7417e16-1a71-42ce-97c8-9ae7d1dc7535": {
      "main": [
        [
          {
            "node": "d3d8a354-a650-4941-87e2-4755060b48a8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8cbbd214-3b3a-4aba-93cc-1e769847e789": {
      "main": [
        [
          {
            "node": "45c9e2cf-bbdd-4e09-9c62-240382f85921",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3fdb47aa-c20d-4d64-ba2d-9e7004c6fdf4": {
      "main": [
        [
          {
            "node": "c634c46a-a9a9-4cd6-b161-fee6a2819f8e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b48b0d1c-b5af-474b-a334-f00a56e08a50": {
      "main": [
        [
          {
            "node": "3fdb47aa-c20d-4d64-ba2d-9e7004c6fdf4",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "305fd517-304a-4f92-9581-a010c1ccc23f": {
      "main": [
        [
          {
            "node": "da169286-1d7a-4781-a3c0-9f6c3bdf7e01",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "657f641e-539d-4b23-bccc-b83c19f223f7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7": {
      "main": [
        [
          {
            "node": "18dd5c2e-f93b-48a8-8fc0-f2653f18411a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "95fc665a-c98a-4ce6-9d77-63a6deba8c81": {
      "ai_languageModel": [
        [
          {
            "node": "e1d82b9b-f1bf-40c6-8b3c-1d44c0bb12a7",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "b560bb97-68b0-4eb8-8709-c65b7f8753de": {
      "main": [
        [
          {
            "node": "96cbf7cb-89a4-42bd-9107-0d6e88eee868",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da169286-1d7a-4781-a3c0-9f6c3bdf7e01": {
      "main": [
        [
          {
            "node": "b3a68c66-f304-434e-8050-b34be7ea93d8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "657f641e-539d-4b23-bccc-b83c19f223f7": {
      "main": [
        [
          {
            "node": "b3a68c66-f304-434e-8050-b34be7ea93d8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

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

유료인가요?

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

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

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

저자
Abdullah Alshiekh

Abdullah Alshiekh

@abdullah01

🚀 Automation pro building AI-powered workflows with n8n. 💼 Special focus on real use cases 🔧 Love clean, flexible, and business-ready automations.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34