8
n8n 한국어amn8n.com

자동화 X(Twitter) 콘텐츠 엔진

고급

이것은자동화 워크플로우로, 24개의 노드를 포함합니다.주로 If, Code, Gmail, GoogleDrive, GoogleSheets 등의 노드를 사용하며. AI 기반 X(Twitter) 콘텐츠 생성 및 스케줄링(LangChain 및 Blotato)

사전 요구사항
  • Google 계정 및 Gmail API 인증 정보
  • Google Drive API 인증 정보
  • Google Sheets API 인증 정보

카테고리

-
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "id": "s0Vs1i79uYwGj9fG",
  "meta": {
    "instanceId": "15d6057a37b8367f33882dd60593ee5f6cc0c59310ff1dc66b626d726083b48d"
  },
  "name": "Automated X (Twitter) Content Engine",
  "tags": [],
  "nodes": [
    {
      "id": "13440d5f-a35c-4968-b586-450cac904f49",
      "name": "LLM: OpenRouter",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        -280,
        384
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openRouterApi": {
          "id": "fMR5QJezr3tD108w",
          "name": "簡易デモ"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8ce3e713-f572-4d1f-b39f-6d4356f09d36",
      "name": "AI: X 게시물 콘텐츠 생성",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -288,
        160
      ],
      "parameters": {
        "text": "Please create a post using emojis.",
        "options": {
          "systemMessage": "={\n  \"role\": \"X_account_operator\",\n  \"persona\": [\n    \"Female, late 20s, a regular person with a side hustle\",\n    \"Interested in AI and automation in her busy daily life and actively incorporating them\",\n    \"Positions herself as a relatable 'side-hustle girl' rather than a genius character\"\n  ],\n  \"purpose\": [\n    \"Create posts to drive traffic to an n8n training course\",\n    \"Focus on sharing relatable experiences that spark interest, rather than providing specific solutions\",\n    \"Include the specific names of generative AI services in the post content\"\n  ],\n  \"categories\": {\n    \"Empathy-based\": {\n      \"description\": \"Share the reader's struggles and daily life, telling a story of how things changed and life became easier.\"\n    },\n    \"Evidence-based\": {\n      \"description\": \"Use pre-prepared image patterns as evidence to convey the tangible feeling of life getting easier in a persuasive way.\",\n      \"evidence_image_types\": [\n        \"Evidence-based_Graph\",\n        \"Evidence-based_TextScreenshot\",\n        \"Evidence-based_TaskList\",\n        \"Evidence-based_VideoThumbnail\",\n        \"Evidence-based_Dashboard\"\n      ]\n    }\n  },\n  \"rules\": [\n    \"Each output must be a single JSON object (for one post) only.\",\n    \"The post text (text) must be between 120 and 140 characters.\",\n    \"Randomly select a category: either 'Empathy-based' or one from the 'Evidence-based' list.\",\n    \"If an 'Evidence-based' category is chosen, the `category` value must be one of the items from the `evidence_image_types` list.\",\n    \"The output JSON must explicitly include the chosen category under the `category` key.\",\n    \"Based on `trigger_time`, naturally weave in a specific daily life scene (e.g., getting ready in the morning, after a lunch break, before bed at night) into the post text.\",\n    \"Naturally incorporate a specific problem that the `target` audience likely faces (e.g., 'office workers' might struggle with creating reports, 'freelancers' with deadline management) into the post text.\",\n    \"【Prohibitions】Do not write specific n8n procedures or solutions. Avoid exaggerated claims or definitive statements like 'you're guaranteed to earn money.' Do not use a preachy or overly-expert tone.\"\n  ],\n  \"output_format\": {\n    \"type\": \"JSON\",\n    \"structure\": {\n      \"target\": \"Randomly select and output one of: 'Fellow Side-Hustlers', 'Fellow Office Workers', 'Fellow Freelancers', 'Fellow Homemakers', 'Fellow Entrepreneurs'\",\n      \"theme\": \"A story of how a busy woman in her late 20s made her life easier with automation\",\n      \"post\": {\n        \"index\": 1,\n        \"category\": \"'Empathy-based' or one of the evidence types like 'Evidence-based_Graph', 'Evidence-based_TextScreenshot', selected according to the rules\",\n        \"trigger_time\": \"The timestamp when the trigger fired. e.g., '{{ $now }}'\",\n        \"text\": \"Post text between 120 and 140 characters. Naturally incorporate life scenes and struggles based on `trigger_time` and `target`.\"\n      }\n    }\n  },\n  \"goal\": \"Make the reader think 'I want to be like that too,' and ultimately get them interested in the training course.\"\n}"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "37f408af-806e-483d-b750-e12ba3c0ea27",
      "name": "Parser: AI 출력을 JSON으로 포맷",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        -152,
        384
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"target\": \"Fellow Freelancers\",\n  \"theme\": \"A story of how a busy woman in her late 20s made her life easier with automation\",\n  \"post\": {\n    \"index\": 1,\n    \"category\": \"Empathy-based\",\n    \"trigger_time\": \"2024-05-21T22:45:10+09:00\",\n    \"text\": \"To all my fellow freelancers, great work today! Just finished dinner and finally have a moment to breathe ☕️ I used to start my second shift right about now, manually compiling progress reports for multiple projects, and it was exhausting... But since adopting automation, AI drafts all my routine reports while I'm relaxing like this! The extra time lets me learn new things and gives me peace of mind. It's so important to let go of tasks you can delegate ✨ I can even watch that show I've been meaning to see and get a full night's sleep. It's the best!\"\n  }\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "51964d4e-1211-4194-be67-6bbf6c23d9ef",
      "name": "Google Sheets: 생성된 게시물을 '게시 안함'으로 저장",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        288,
        160
      ],
      "parameters": {
        "columns": {
          "value": {
            "Text": "={{ $json.output.post.text }}",
            "Theme": "={{ $json.output.theme }}",
            "Status": "Not Posted",
            "Target": "={{ $json.output.target }}",
            "Category": "={{ $json.output.post.category }}",
            "PostDate": "={{ $now }}"
          },
          "schema": [
            {
              "id": "PostDate",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "PostDate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Target",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Target",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Theme",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Theme",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Text",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2117404985,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0/edit#gid=2117404985",
          "cachedResultName": "X Post Management"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0/edit?usp=drivesdk",
          "cachedResultName": "Demo Spreadsheet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iX04x27D3E6ot6l5",
          "name": "pantheon\\demo"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "b4732535-56d6-4503-a743-3c23daf1b3ec",
      "name": "Blotato: 텍스트 트윗 게시",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1632,
        256
      ],
      "parameters": {
        "options": {},
        "platform": "twitter",
        "accountId": {
          "__rl": true,
          "mode": "id",
          "value": "6428"
        },
        "postContentText": "={{ $json['Text'] }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "Lb0HVwt7CxuVKCcW",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2c74a705-79be-4473-bfed-4f9dc6871947",
      "name": "Gmail: '게시 완료' 알림 보내기",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1856,
        160
      ],
      "webhookId": "b0c75f50-0560-47d3-a5ce-df8ba1c2fb6e",
      "parameters": {
        "sendTo": "yoneda@yubipass.tokyo, yamamoto@yubipass.tokyo",
        "message": "The scheduled post has been successfully published to X (Twitter).",
        "options": {
          "appendAttribution": false
        },
        "subject": "Today's Post Has Been Published"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "S97D1LtEAoJViOUO",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "7eb7e55e-aefb-4305-854a-e6f098daaeb7",
      "name": "Google Sheets: 게시물 상태를 '완료됨'으로 업데이트",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2080,
        160
      ],
      "parameters": {
        "columns": {
          "value": {
            "Status": "Completed",
            "PostDate": "={{ $('Google Sheets: Save Generated Post as \\'Not Posted\\'').item.json['PostDate'] }}"
          },
          "schema": [
            {
              "id": "PostDate",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "PostDate",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Target",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Target",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Theme",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Theme",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Category",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Category",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Text",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Text",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Status",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Status",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "PostDate"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2117404985,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0/edit#gid=2117404985",
          "cachedResultName": "X Post Management"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0/edit?usp=drivesdk",
          "cachedResultName": "Demo Spreadsheet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iX04x27D3E6ot6l5",
          "name": "pantheon\\demo"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "a00c8615-345d-47ef-a8a3-1c957a7397cb",
      "name": "Google Sheets: '게시 안함' 행 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        512,
        160
      ],
      "parameters": {
        "options": {
          "returnFirstMatch": true
        },
        "filtersUI": {
          "values": [
            {
              "lookupValue": "Not Posted",
              "lookupColumn": "Status"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 2117404985,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0/edit#gid=2117404985",
          "cachedResultName": "X Post Management"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dUVZiZkxecoYKRH3vjzgHsNbbba29o6mht0XPOX5Cq0/edit?usp=drivesdk",
          "cachedResultName": "Demo Spreadsheet"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iX04x27D3E6ot6l5",
          "name": "pantheon\\demo"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "49c0f318-a0a9-48db-8ebb-5400cc57175d",
      "name": "If: 이미지가 필요한 게시물인가?",
      "type": "n8n-nodes-base.if",
      "position": [
        736,
        160
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "4b3a3019-84da-48fc-bde0-05e41833772f",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json['Category'] }}",
              "rightValue": "Evidence-based"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "0cf92b8d-a758-44e9-b76f-54958314ff49",
      "name": "Google Drive: 카테고리 이름으로 이미지 찾기",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        960,
        64
      ],
      "parameters": {
        "limit": 1,
        "filter": {
          "folderId": {
            "__rl": true,
            "mode": "list",
            "value": "1OO04YMDUM5OPKppjGNIlfxE_jDXA-VWK",
            "cachedResultUrl": "https://drive.google.com/drive/folders/1OO04YMDUM5OPKppjGNIlfxE_jDXA-VWK",
            "cachedResultName": "For X Posts"
          }
        },
        "options": {},
        "resource": "fileFolder",
        "queryString": "={{ $json['Category'] }}"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "3hnrOakJ8wbpdAPc",
          "name": "Ultimate Media Agent"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "8d809919-fb1c-43c9-ae57-246cc7ca3b7e",
      "name": "Blotato: 이미지 트윗 게시",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1632,
        64
      ],
      "parameters": {
        "options": {},
        "platform": "twitter",
        "accountId": {
          "__rl": true,
          "mode": "id",
          "value": "6428"
        },
        "postContentText": "={{ $('Google Sheets: Get \\'Not Posted\\' Row for Posting').item.json['Text'] }}",
        "postContentMediaUrls": "={{ $json.url }}"
      },
      "credentials": {
        "blotatoApi": {
          "id": "Lb0HVwt7CxuVKCcW",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "9bb0cb38-fead-4ab6-bcbf-18984ce9f1c2",
      "name": "Google Drive: 이미지 파일 다운로드",
      "type": "n8n-nodes-base.googleDrive",
      "position": [
        1184,
        64
      ],
      "parameters": {
        "fileId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $json.id }}"
        },
        "options": {},
        "operation": "download"
      },
      "credentials": {
        "googleDriveOAuth2Api": {
          "id": "3hnrOakJ8wbpdAPc",
          "name": "Ultimate Media Agent"
        }
      },
      "typeVersion": 3
    },
    {
      "id": "d400529c-8221-42af-8937-42cbed08fcd8",
      "name": "Blotato: 이미지 미디어 업로드",
      "type": "@blotato/n8n-nodes-blotato.blotato",
      "position": [
        1408,
        64
      ],
      "parameters": {
        "resource": "media",
        "useBinaryData": true
      },
      "credentials": {
        "blotatoApi": {
          "id": "Lb0HVwt7CxuVKCcW",
          "name": "Blotato account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "f56b070b-7101-49ff-a9ec-68a56ecdec64",
      "name": "Code: 게시물 텍스트 정리",
      "type": "n8n-nodes-base.code",
      "position": [
        64,
        160
      ],
      "parameters": {
        "jsCode": "const items = $input.all();\n\nfor (const item of items) {\n  // Check for output from the AI Agent\n  if (item.json.output && item.json.output.post && item.json.output.post.text) {\n    \n    const rawText = item.json.output.post.text;\n\n    // List of punctuation characters that can end a sentence\n    const punctuation = ['.', '!', '?', '\"', '✨', '☕️'];\n    let lastPuncIndex = -1;\n\n    // Find the last position of each punctuation mark and determine the final one\n    for (const punc of punctuation) {\n      lastPuncIndex = Math.max(lastPuncIndex, rawText.lastIndexOf(punc));\n    }\n\n    // If a sentence-ending character is found\n    if (lastPuncIndex !== -1) {\n      // Trim the text up to and including that character, overwriting the original\n      item.json.output.post.text = rawText.substring(0, lastPuncIndex + 1);\n    }\n    // If not found, do nothing (leave the original text as is)\n  }\n}\n\n// Return the items with the formatted data to the next node\nreturn items;"
      },
      "typeVersion": 2
    },
    {
      "id": "07a90bb5-832e-4598-90b1-df9f3cab0b41",
      "name": "Trigger: 4시간마다",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -512,
        160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 4
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e22d952a-decf-4bd0-b4bd-8b832b31a89c",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -20
      ],
      "parameters": {
        "color": 6,
        "width": 240,
        "height": 160,
        "content": "**Trigger: Every 4 Hours**\n\n**Role:** The starting point for the entire workflow.\n**Settings:** Set to run \"every 4 hours\" to periodically generate new post content."
      },
      "typeVersion": 1
    },
    {
      "id": "e519e95e-1763-4796-9815-592f750b3e7f",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -376,
        -100
      ],
      "parameters": {
        "color": 6,
        "width": 260,
        "height": 200,
        "content": "**AI: Generate X Post Content**\n\n**Role:** The command center that instructs the AI to generate a post based on a defined persona and rules.\n**Settings:** Defines strict rules such as persona, purpose, character count, and the output format as JSON."
      },
      "typeVersion": 1
    },
    {
      "id": "4d166c4c-7c09-4177-bb89-7243c3937107",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        -20
      ],
      "parameters": {
        "color": 6,
        "width": 260,
        "height": 180,
        "content": "**Code: Clean Up Post Text**\n\n**Role:** Cleans up the AI-generated text to ensure it ends naturally and doesn't get cut off.\n**Settings:** Uses JS code to find punctuation or emojis and truncates the text there, formatting it into a natural-sounding post."
      },
      "typeVersion": 1
    },
    {
      "id": "e98e211e-b9b0-410a-b141-94578b9432d6",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        288,
        -44
      ],
      "parameters": {
        "color": 6,
        "width": 280,
        "height": 160,
        "content": "**G-Sheets: Save Generated Post...**\n\n**Role:** Saves the AI-generated post draft to a management Google Sheet.\n**Settings:** Writes \"Not Posted\" to the `Status` column, adding it to the queue of unpublished posts."
      },
      "typeVersion": 1
    },
    {
      "id": "a9042b3b-851d-4054-915f-6a7516848c5b",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        512,
        280
      ],
      "parameters": {
        "color": 5,
        "width": 280,
        "height": 160,
        "content": "**G-Sheets: Get 'Not Posted' Row...**\n\n**Role:** Retrieves the next post to be published from the queue in the Google Sheet.\n**Settings:** Fetches the first row where the `Status` column is \"Not Posted\"."
      },
      "typeVersion": 1
    },
    {
      "id": "921869e5-6b87-4348-844c-0cddca51c034",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        736,
        280
      ],
      "parameters": {
        "color": 5,
        "width": 260,
        "height": 160,
        "content": "**If: Does Post Need an Image?**\n\n**Role:** Determines if an image is needed based on the category and branches the workflow.\n- **True:** Proceeds to the 'Post with Image' route.\n- **False:** Proceeds to the 'Text-Only Post' route."
      },
      "typeVersion": 1
    },
    {
      "id": "d0413f28-2a07-425b-80a2-231a4a2f8b50",
      "name": "Sticky Note6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1136,
        -140
      ],
      "parameters": {
        "color": 4,
        "width": 340,
        "height": 160,
        "content": "**G-Drive: Find Image...** -> **Download Image...** -> **Blotato: Upload Image...** -> **Blotato: Post Tweet with Image**\n\n**Role:** Finds an image by category name, downloads it, uploads it, and then posts it with the text."
      },
      "typeVersion": 1
    },
    {
      "id": "6ebec956-628d-424a-b51f-50b3294c77c1",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1480,
        344
      ],
      "parameters": {
        "color": 2,
        "width": 220,
        "height": 100,
        "content": "**Blotato: Post Text-Only Tweet**\n\n**Role:** Executes the posting of a text-only tweet."
      },
      "typeVersion": 1
    },
    {
      "id": "3589b91e-bce4-4e20-911e-289b4f910404",
      "name": "Sticky Note8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1856,
        280
      ],
      "parameters": {
        "color": 3,
        "width": 300,
        "height": 140,
        "content": "**Gmail: Send...** -> **G-Sheets: Update...**\n\n**Role:** Sends an email notification upon completion and updates the sheet's status to \"Completed\" to prevent duplicate posts."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "76b2dc46-a52d-4ec6-aaf5-7e95ad716f3f",
  "connections": {
    "13440d5f-a35c-4968-b586-450cac904f49": {
      "ai_languageModel": [
        [
          {
            "node": "8ce3e713-f572-4d1f-b39f-6d4356f09d36",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "07a90bb5-832e-4598-90b1-df9f3cab0b41": {
      "main": [
        [
          {
            "node": "8ce3e713-f572-4d1f-b39f-6d4356f09d36",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f56b070b-7101-49ff-a9ec-68a56ecdec64": {
      "main": [
        [
          {
            "node": "51964d4e-1211-4194-be67-6bbf6c23d9ef",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8ce3e713-f572-4d1f-b39f-6d4356f09d36": {
      "main": [
        [
          {
            "node": "f56b070b-7101-49ff-a9ec-68a56ecdec64",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d400529c-8221-42af-8937-42cbed08fcd8": {
      "main": [
        [
          {
            "node": "8d809919-fb1c-43c9-ae57-246cc7ca3b7e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "49c0f318-a0a9-48db-8ebb-5400cc57175d": {
      "main": [
        [
          {
            "node": "0cf92b8d-a758-44e9-b76f-54958314ff49",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "b4732535-56d6-4503-a743-3c23daf1b3ec",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b4732535-56d6-4503-a743-3c23daf1b3ec": {
      "main": [
        [
          {
            "node": "2c74a705-79be-4473-bfed-4f9dc6871947",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8d809919-fb1c-43c9-ae57-246cc7ca3b7e": {
      "main": [
        [
          {
            "node": "2c74a705-79be-4473-bfed-4f9dc6871947",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "37f408af-806e-483d-b750-e12ba3c0ea27": {
      "ai_outputParser": [
        [
          {
            "node": "8ce3e713-f572-4d1f-b39f-6d4356f09d36",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "9bb0cb38-fead-4ab6-bcbf-18984ce9f1c2": {
      "main": [
        [
          {
            "node": "d400529c-8221-42af-8937-42cbed08fcd8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2c74a705-79be-4473-bfed-4f9dc6871947": {
      "main": [
        [
          {
            "node": "7eb7e55e-aefb-4305-854a-e6f098daaeb7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0cf92b8d-a758-44e9-b76f-54958314ff49": {
      "main": [
        [
          {
            "node": "9bb0cb38-fead-4ab6-bcbf-18984ce9f1c2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a00c8615-345d-47ef-a8a3-1c957a7397cb": {
      "main": [
        [
          {
            "node": "49c0f318-a0a9-48db-8ebb-5400cc57175d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "51964d4e-1211-4194-be67-6bbf6c23d9ef": {
      "main": [
        [
          {
            "node": "a00c8615-345d-47ef-a8a3-1c957a7397cb",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

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

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

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

고급

유료인가요?

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

워크플로우 정보
난이도
고급
노드 수24
카테고리-
노드 유형11
난이도 설명

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

저자
YUSUKE YAMAMOTO

YUSUKE YAMAMOTO

@yusuke-yamamoto

Business creator from Tokyo. Designing AI-driven automations that enhance marketing, reporting, and daily operations. I turn complex workflows into simple, elegant automations with n8n.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34