キーワードを使って X や他のソーシャルメディアプラットフォームに最新のニュースを投稿する

上級

これはDesign, AI, Marketing分野の自動化ワークフローで、16個のノードを含みます。主にIf, Code, Wait, Gmail, Twitterなどのノードを使用、AI技術を活用したスマート自動化を実現。 キーワードと Bright Data を使って AI によるコンテンツ生成と共に最新のニュースを X に自動投稿する

前提条件
  • Googleアカウント + Gmail API認証情報
  • Twitter API認証情報
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "UcRJot2fG84lnzNa",
  "meta": {
    "instanceId": "bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2",
    "templateCredsSetupCompleted": true
  },
  "name": "Publish Latest  News on X and Other Social Media Platforms Using Keyword",
  "tags": [],
  "nodes": [
    {
      "id": "9208debf-56cf-4181-adce-b6fd25713142",
      "name": "最終ステータス確認1",
      "type": "n8n-nodes-base.if",
      "position": [
        -500,
        40
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "or",
          "conditions": [
            {
              "id": "35ed620d-b5d5-4e97-bcc5-52b283d85616",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "ready"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "906db788-b7c8-4f80-90ed-1d9a556e33d9",
      "name": "フォーム送信時",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -1500,
        40
      ],
      "webhookId": "8d320705-688c-4150-a393-cf899d2bbb52",
      "parameters": {
        "options": {},
        "formTitle": "News Publisher",
        "formFields": {
          "values": [
            {
              "fieldLabel": "News Name",
              "placeholder": "news",
              "requiredField": true
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Country",
              "fieldOptions": {
                "values": [
                  {
                    "option": "US"
                  },
                  {
                    "option": "IN"
                  },
                  {
                    "option": "GB"
                  },
                  {
                    "option": "AU"
                  }
                ]
              },
              "requiredField": true
            }
          ]
        },
        "formDescription": "publish latest news to direct social medial"
      },
      "typeVersion": 2.2
    },
    {
      "id": "e1462542-ddd9-417a-a467-6671e4d68fda",
      "name": "1分間待機",
      "type": "n8n-nodes-base.wait",
      "position": [
        -720,
        40
      ],
      "webhookId": "10b45556-5e91-4387-abd0-f9078b220286",
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "53f4a578-b098-459e-bdad-ccf1e9508994",
      "name": "AIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        0,
        20
      ],
      "parameters": {
        "text": "=You are a professional social media strategist. You'll receive three inputs: a news headline, a URL to the full article, and a country code. \nFirst, understand the headline like a news summary. Then analyze the URL content to extract or simulate key facts, context, quotes, or figures. Use the country code to adjust the tone and hashtags to suit the local audience. \nYour task is to write a post for X (formerly Twitter), within 260 characters, that is clear, engaging, and informative. \n- Do not include any intro, outro, publisher names, or brand mentions. \n- Only output the final tweet text with relevant, topic-based and country-specific hashtags.\n- always output in english langauge.\nhere is the title: \"{{ $json.title }}\" \nhere is the URL: \"{{ $json.url }}\"\ncountry code: \"{{ $json.country }}\"",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "cfebdd34-a1f8-47b7-9e2f-8edea038a6b3",
      "name": "OpenAI チャットモデル",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        0,
        260
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "bCyfZPZUcaKY4vYa",
          "name": "OpenAi account 7"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c9514ac6-f29c-490f-8d33-2409eea93973",
      "name": "Google ニュースからニュースURLを取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -220,
        20
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "format",
              "value": "json"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer 5662edde-6735-4c5d-a6c6-693043a5a9a5"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "30b391cb-f56f-4d27-b39c-a3db422c249f",
      "name": "最新ニュースを取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1240,
        40
      ],
      "parameters": {
        "url": "https://api.brightdata.com/datasets/v3/trigger",
        "method": "POST",
        "options": {},
        "jsonBody": "=[\n  {\n    \"url\": \"https://news.google.com/\",\n    \"keyword\": \"{{ $json['News Name'] }}\",\n    \"country\": \"{{ $json.Country }}\",\n    \"language\": \"\"\n  }\n] ",
        "sendBody": true,
        "sendQuery": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "queryParameters": {
          "parameters": [
            {
              "name": "dataset_id",
              "value": "gd_lnsxoxzi1omrwnka5r"
            },
            {
              "name": "include_errors",
              "value": "true"
            },
            {
              "name": "limit_multiple_results",
              "value": "1"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer 5662edde-6735-4c5d-a6c6-693043a5a9a5"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "5982536a-2887-408d-ad8b-ec74fc3b7d52",
      "name": "X",
      "type": "n8n-nodes-base.twitter",
      "position": [
        440,
        20
      ],
      "parameters": {
        "text": "={{ $json.output }}",
        "additionalFields": {}
      },
      "credentials": {
        "twitterOAuth2Api": {
          "id": "8SOPM1k0z5QUTdga",
          "name": "X account - Aksh"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "eddbcbbe-2ef7-4e44-8799-572a9f368213",
      "name": "URLをツイート",
      "type": "n8n-nodes-base.code",
      "position": [
        680,
        20
      ],
      "parameters": {
        "jsCode": "function generateTweetUrl(tweetId) {\n  if (!tweetId || isNaN(tweetId)) {\n    return null;\n  }\n  return `https://twitter.com/i/web/status/${tweetId}`;\n}\n\n// Loop through all input items and process them\nreturn $input.all().map(item => {\n  const tweetId = item.json.tweetId || item.json.id || item.json.tweet_id;\n  const tweetUrl = generateTweetUrl(tweetId);\n  return {\n    json: {\n      ...item.json,\n      tweetUrl,\n    }\n  };\n});"
      },
      "typeVersion": 2
    },
    {
      "id": "e94dd4c9-2c9f-49a8-bf3b-13491e2f9617",
      "name": "Google シーツ",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        940,
        20
      ],
      "parameters": {
        "columns": {
          "value": {
            "Tweet URL": "={{ $json.tweetUrl }}",
            "Tweet Message": "={{ $json.text }}"
          },
          "schema": [
            {
              "id": "Tweet URL",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Tweet URL",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Tweet Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Tweet Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo/edit#gid=0",
          "cachedResultName": "Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1koxNrwdeuaSBdREuKc7JQh3d9blEk0sQDJ8VgVLjPOo/edit?usp=drivesdk",
          "cachedResultName": "Publish Latest  News on Social Media Platforms Using Keyword"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "AiLIcKCiQq8tW7Lu",
          "name": "Raushan Google Sheet"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "57fc5e5f-6ecd-4933-be5d-02223eae1d9a",
      "name": "スナップショットIDステータス確認",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -960,
        40
      ],
      "parameters": {
        "url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
        "options": {},
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer 5662edde-6735-4c5d-a6c6-693043a5a9a5"
            }
          ]
        }
      },
      "typeVersion": 4.2,
      "alwaysOutputData": true
    },
    {
      "id": "1dda70c1-9eca-484e-b109-ca297fcdfe72",
      "name": "Gmail",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1160,
        20
      ],
      "webhookId": "0210609d-191a-4eb7-ae2b-13f9e2248c11",
      "parameters": {
        "sendTo": "=raushan@iwantonlinemarketing.com ",
        "message": "=<p>Hello,</p>  <p>Your news tweet has been published successfully on X (formerly Twitter).</p>  <p>You can view it here: <a href=\"{{ $json['Tweet URL'] }}\" target=\"_blank\">Click to view your tweet</a></p>  <p>Best regards,<br> Team</p>",
        "options": {},
        "subject": "Your News Has Been Published on X (Twitter)"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "gVmVsyjENjEeeaq9",
          "name": "Gmail - crm@incrementors.com"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "8412946a-0b83-4c94-a5e7-bcf11dc77780",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        -100
      ],
      "parameters": {
        "width": 700,
        "height": 420,
        "content": "## Checking Snapshot ID status in While Loops\n"
      },
      "typeVersion": 1
    },
    {
      "id": "54d35176-cc63-43e2-aabc-bca61fb249af",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -240,
        -120
      ],
      "parameters": {
        "width": 560,
        "height": 520,
        "content": "## Scrap Latest News and Generate Content\ncrapping lastest news from google news and generaint content"
      },
      "typeVersion": 1
    },
    {
      "id": "2992d27f-fb9b-45b2-a4d2-8baffa5faa53",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        920,
        -80
      ],
      "parameters": {
        "width": 560,
        "height": 320,
        "content": "## Update URL in Sheet and Sent Success Mail"
      },
      "typeVersion": 1
    },
    {
      "id": "f1868b0b-c58d-4252-82a7-5399cf22bb0f",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        -80
      ],
      "parameters": {
        "width": 460,
        "height": 320,
        "content": "## Publishing on X"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "056a411e-ed25-4f5f-ad70-f032b6e21eca",
  "connections": {
    "5982536a-2887-408d-ad8b-ec74fc3b7d52": {
      "main": [
        [
          {
            "node": "eddbcbbe-2ef7-4e44-8799-572a9f368213",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "53f4a578-b098-459e-bdad-ccf1e9508994": {
      "main": [
        [
          {
            "node": "5982536a-2887-408d-ad8b-ec74fc3b7d52",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eddbcbbe-2ef7-4e44-8799-572a9f368213": {
      "main": [
        [
          {
            "node": "e94dd4c9-2c9f-49a8-bf3b-13491e2f9617",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e94dd4c9-2c9f-49a8-bf3b-13491e2f9617": {
      "main": [
        [
          {
            "node": "1dda70c1-9eca-484e-b109-ca297fcdfe72",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e1462542-ddd9-417a-a467-6671e4d68fda": {
      "main": [
        [
          {
            "node": "9208debf-56cf-4181-adce-b6fd25713142",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "30b391cb-f56f-4d27-b39c-a3db422c249f": {
      "main": [
        [
          {
            "node": "57fc5e5f-6ecd-4933-be5d-02223eae1d9a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cfebdd34-a1f8-47b7-9e2f-8edea038a6b3": {
      "ai_languageModel": [
        [
          {
            "node": "53f4a578-b098-459e-bdad-ccf1e9508994",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "906db788-b7c8-4f80-90ed-1d9a556e33d9": {
      "main": [
        [
          {
            "node": "30b391cb-f56f-4d27-b39c-a3db422c249f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9208debf-56cf-4181-adce-b6fd25713142": {
      "main": [
        [
          {
            "node": "c9514ac6-f29c-490f-8d33-2409eea93973",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "57fc5e5f-6ecd-4933-be5d-02223eae1d9a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "57fc5e5f-6ecd-4933-be5d-02223eae1d9a": {
      "main": [
        [
          {
            "node": "e1462542-ddd9-417a-a467-6671e4d68fda",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c9514ac6-f29c-490f-8d33-2409eea93973": {
      "main": [
        [
          {
            "node": "53f4a578-b098-459e-bdad-ccf1e9508994",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - デザイン, 人工知能, マーケティング

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数16
カテゴリー3
ノードタイプ11
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34