フォームベースのX/Twitter投稿器
これはMarketing分野の自動化ワークフローで、8個のノードを含みます。主にIf, Code, Form, Twitter, FormTriggerなどのノードを使用。 フォームベースのX/Twitterパブリッシャー
- •Twitter API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
カテゴリー
{
"meta": {
"instanceId": "7d8066d2f56a07000fe7d753d3eeabf0ecdf68413466f30d10afe0906f058427",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "02b20189-94ce-4608-9c8d-a29a9d97db32",
"name": "フォーム送信時",
"type": "n8n-nodes-base.formTrigger",
"position": [
-340,
-140
],
"webhookId": "8d789827-135b-47a3-86ee-79492636d079",
"parameters": {
"options": {
"buttonLabel": "Submit",
"appendAttribution": false
},
"formTitle": "Post to X",
"formFields": {
"values": [
{
"fieldType": "textarea",
"fieldLabel": "Post Content",
"requiredField": true
},
{
"fieldType": "file",
"fieldLabel": "Media",
"multipleFiles": false,
"acceptFileTypes": ".jpg, .png, .mp4, .mov, .jpeg, .gif, .heif, .webp, .tiff "
}
]
}
},
"typeVersion": 2.2
},
{
"id": "750c5cb0-16fd-463f-ad6f-8558fbf51360",
"name": "メディア詳細抽出",
"type": "n8n-nodes-base.code",
"position": [
-120,
-140
],
"parameters": {
"jsCode": "const post_content = $input.first().json[\"Post Content\"];\nconst file = $input.first()?.json[\"Media\"]?.[0];\nconst binaryData = $input.first()?.binary?.[\"Media\"];\n\nlet mime_type = null;\nlet media_type = null;\n\nif (file && binaryData) {\n mime_type = file.mimetype || \"\";\n\n if (mime_type.startsWith(\"image/\")) {\n media_type = \"IMAGE\";\n } else if (mime_type.startsWith(\"video/\")) {\n media_type = \"VIDEO\";\n } else if (mime_type.startsWith(\"audio/\")) {\n media_type = \"AUDIO\";\n }\n}\n\nconst result = {\n content: post_content,\n mime_type,\n media_type,\n};\n\nconst output = {\n json: result,\n};\n\nif (binaryData) {\n // @ts-ignore\n output.binary = {\n media: binaryData,\n };\n}\n\nreturn [output];\n"
},
"typeVersion": 2
},
{
"id": "2be2cb40-2170-4388-b447-8e282f6ab85c",
"name": "メディアアップロード (X)",
"type": "n8n-nodes-base.httpRequest",
"position": [
320,
-240
],
"parameters": {
"url": "https://upload.twitter.com/1.1/media/upload.json?media_category=TWEET_IMAGE",
"method": "POST",
"options": {
"response": {
"response": {
"responseFormat": "json"
}
}
},
"sendBody": true,
"contentType": "multipart-form-data",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "media",
"parameterType": "formBinaryData",
"inputDataFieldName": "media"
}
]
},
"nodeCredentialType": "twitterOAuth1Api"
},
"credentials": {
"twitterOAuth1Api": {
"id": "II0YlgWMqJBDlQ8f",
"name": "X OAuth - Akhil"
}
},
"typeVersion": 4.2
},
{
"id": "4c947ff2-3753-41a0-8ea7-ffa38bc159f2",
"name": "X",
"type": "n8n-nodes-base.twitter",
"position": [
540,
-240
],
"parameters": {
"text": "={{ $('Extract Media Details').first().json.content }}",
"additionalFields": {
"attachments": "={{ $json.media_id_string }}"
}
},
"credentials": {
"twitterOAuth2Api": {
"id": "1llweRRwiqe7gFwJ",
"name": "X OAuth2 - Akhil"
}
},
"typeVersion": 2
},
{
"id": "d4706df1-dce1-4005-8e82-e4cca57265f7",
"name": "画像存在確認",
"type": "n8n-nodes-base.if",
"position": [
100,
-140
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "43da4ad0-1edb-407c-afc8-5a2ba5ea5388",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.mime_type }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "4f53c3ab-8ec5-437f-8a94-93584590be9a",
"name": "X1",
"type": "n8n-nodes-base.twitter",
"position": [
540,
-40
],
"parameters": {
"text": "={{ $json.content }}",
"additionalFields": {}
},
"credentials": {
"twitterOAuth2Api": {
"id": "1llweRRwiqe7gFwJ",
"name": "X OAuth2 - Akhil"
}
},
"typeVersion": 2
},
{
"id": "4ca9c2b4-840a-4aa6-9b01-0e8f34eb1165",
"name": "フォーム終了",
"type": "n8n-nodes-base.form",
"position": [
760,
-140
],
"webhookId": "21143d55-557b-43e2-94f7-6d617af3e5dc",
"parameters": {
"options": {},
"operation": "completion",
"completionTitle": "Thank you so much for sharing your experience on X! 🖤 ",
"completionMessage": "We truly appreciate your support and are so glad we could make a positive impact. Your words mean the world to us!"
},
"typeVersion": 1
},
{
"id": "4b443e27-94fe-4c37-a851-9080ef799721",
"name": "付箋ノート",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-280
],
"parameters": {
"width": 300,
"height": 120,
"content": "## Customize Confirmation Message \nDisplays thank-you message post-submission."
},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"4c947ff2-3753-41a0-8ea7-ffa38bc159f2": {
"main": [
[
{
"node": "4ca9c2b4-840a-4aa6-9b01-0e8f34eb1165",
"type": "main",
"index": 0
}
]
]
},
"4f53c3ab-8ec5-437f-8a94-93584590be9a": {
"main": [
[
{
"node": "4ca9c2b4-840a-4aa6-9b01-0e8f34eb1165",
"type": "main",
"index": 0
}
]
]
},
"d4706df1-dce1-4005-8e82-e4cca57265f7": {
"main": [
[
{
"node": "2be2cb40-2170-4388-b447-8e282f6ab85c",
"type": "main",
"index": 0
}
],
[
{
"node": "4f53c3ab-8ec5-437f-8a94-93584590be9a",
"type": "main",
"index": 0
}
]
]
},
"2be2cb40-2170-4388-b447-8e282f6ab85c": {
"main": [
[
{
"node": "4c947ff2-3753-41a0-8ea7-ffa38bc159f2",
"type": "main",
"index": 0
}
]
]
},
"02b20189-94ce-4608-9c8d-a29a9d97db32": {
"main": [
[
{
"node": "750c5cb0-16fd-463f-ad6f-8558fbf51360",
"type": "main",
"index": 0
}
]
]
},
"750c5cb0-16fd-463f-ad6f-8558fbf51360": {
"main": [
[
{
"node": "d4706df1-dce1-4005-8e82-e4cca57265f7",
"type": "main",
"index": 0
}
]
]
}
}
}このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - マーケティング
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Akhil Varma Gadiraju
@akhilv7I'm a full stack developer passionate about building intelligent, scalable solutions that automate workflows and enhance productivity. I love working at the intersection of AI, APIs, and automation—using tools like n8n to streamline processes, integrate data, and unlock smarter decision-making. Whether it's crafting custom backend services or designing intuitive frontends, I’m always exploring ways to build more with less manual effort.
このワークフローを共有