Instagramの悪質コメント審査と自動防衛ワークフロー
これはSocial Media, AI Summarization分野の自動化ワークフローで、15個のノードを含みます。主にIf, Set, Cron, Slack, Webhookなどのノードを使用。 Perspective APIとSlackリマインダーを使ってInstagramのコメントを自動審査
- •Slack Bot Token または Webhook URL
- •HTTP Webhookエンドポイント(n8nが自動生成)
- •ターゲットAPIの認証情報が必要な場合あり
- •Google Sheets API認証情報
{
"id": "m2mL2bEzyCxMyMUm",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "Instagram Toxic Comment Moderation & Auto-Defense Workflow",
"tags": [],
"nodes": [
{
"id": "042e2d57-9f5b-4990-9f8c-96c571f4afb9",
"name": "スケジュールトリガー",
"type": "n8n-nodes-base.cron",
"position": [
-544,
240
],
"parameters": {},
"typeVersion": 1
},
{
"id": "fbcd13d4-752b-47bf-9486-83c6d4d0ba36",
"name": "コメント取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
-96,
336
],
"parameters": {
"url": "=https://graph.facebook.com/v12.0/{{$node[\"Get Instagram Posts\"].json[\"data\"][0][\"id\"]}}/comments?access_token=YOUR_INSTAGRAM_ACCESS_TOKEN",
"options": {},
"authentication": "headerAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "ASXerwNuOMbStjih",
"name": "Header - test"
}
},
"typeVersion": 1
},
{
"id": "4f906e36-0ce8-4fdf-a1e3-f6eafdec200a",
"name": "有害性検出",
"type": "n8n-nodes-base.httpRequest",
"position": [
352,
336
],
"parameters": {
"url": "https://api.moderatehate.com/v1/toxicity",
"options": {},
"requestMethod": "POST",
"jsonParameters": true,
"bodyParametersJson": "={\"comment\": {\"text\": \"{{$json[\"text\"]}}\"}, \"requestedAttributes\": {\"TOXICITY\": {}}, \"clientToken\": \"YOUR_PERSPECTIVE_API_KEY\"}"
},
"typeVersion": 1
},
{
"id": "7ee26cdf-d244-4e29-b501-fd938ad9ccc7",
"name": "IF 有害",
"type": "n8n-nodes-base.if",
"position": [
576,
336
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{$json[\"attributeScores\"][\"TOXICITY\"][\"summaryScore\"][\"value\"]}}",
"value2": 0.7,
"operation": "larger"
}
]
}
},
"typeVersion": 1
},
{
"id": "2dec3548-e9b4-4706-98c3-2b6a09c08812",
"name": "コメント非表示",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
48
],
"parameters": {
"url": "=https://graph.facebook.com/v12.0/{{$json[\"id\"]}}?access_token=YOUR_INSTAGRAM_ACCESS_TOKEN",
"options": {},
"requestMethod": "POST",
"jsonParameters": true,
"bodyParametersJson": "={\"hide\": true}"
},
"typeVersion": 1
},
{
"id": "bfc8fd2d-d547-4bd4-acea-c5e5df672ab4",
"name": "チーム通知 (Slack)",
"type": "n8n-nodes-base.slack",
"position": [
800,
240
],
"parameters": {
"text": "=Toxic Comment Detected!\nText: {{$json[\"text\"]}}\nUser: {{$json[\"username\"]}}\nToxicity Score: {{$node[\"Detect Toxicity\"].json[\"attributeScores\"][\"TOXICITY\"][\"summaryScore\"][\"value\"]}}\nPost ID: {{$node[\"Get Instagram Posts\"].json[\"data\"][0][\"id\"]}}",
"channel": "your-slack-channel",
"attachments": [],
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "MQ0fgwuS8AzfwFvy",
"name": "Slack account - test "
}
},
"typeVersion": 1
},
{
"id": "90946996-b976-40a5-a80d-f869b79b30c3",
"name": "証拠保存 (Google シート)",
"type": "n8n-nodes-base.googleSheets",
"position": [
800,
432
],
"parameters": {
"range": "A:Z",
"options": {},
"sheetId": {
"__rl": true,
"mode": "list",
"value": "your-google-sheet-id",
"cachedResultName": "Your Evidence Sheet"
},
"operation": "append"
},
"credentials": {
"googleApi": {
"id": "ScSS2KxGQULuPtdy",
"name": "Google Sheets- test"
}
},
"typeVersion": 1
},
{
"id": "b31bf33e-5be7-41da-be9b-89cac55e33dd",
"name": "終了 (非有害パス)",
"type": "n8n-nodes-base.set",
"position": [
800,
624
],
"parameters": {
"options": {},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"id": "2452c3a8-68ef-4e46-b2c3-04b10e76c2e9",
"name": "Instagram 投稿取得",
"type": "n8n-nodes-base.httpRequest",
"position": [
-320,
336
],
"parameters": {
"url": "https://graph.facebook.com/v12.0/YOUR_INSTAGRAM_BUSINESS_ACCOUNT_ID/media?access_token=YOUR_INSTAGRAM_ACCESS_TOKEN",
"options": {}
},
"typeVersion": 1
},
{
"id": "c07fa30c-3c9b-46b6-9cd7-bd186ad641bd",
"name": "コメントループ処理",
"type": "n8n-nodes-base.splitInBatches",
"position": [
128,
336
],
"parameters": {
"options": {},
"batchSize": 1
},
"typeVersion": 1
},
{
"id": "d0b8d990-b005-4827-8033-54c5649db2ec",
"name": "Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-544,
432
],
"webhookId": "8a81934f-bd1e-400e-9eb4-bb540db73b2b",
"parameters": {
"path": "8a81934f-bd1e-400e-9eb4-bb540db73b2b",
"options": {}
},
"typeVersion": 2.1
},
{
"id": "c9200031-8fa3-4c6e-9684-1ea457cd3cfa",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-608,
32
],
"parameters": {
"width": 432,
"height": 528,
"content": "A Schedule node runs every 15 minutes to poll for new comments (Instagram doesn't natively push notifications easily, so polling is used). You could replace this with a Webhook if you set up Instagram webhooks via Graph API."
},
"typeVersion": 1
},
{
"id": "8f5a8cfd-09ac-4d23-a1c1-7f1246f1becb",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-144,
32
],
"parameters": {
"color": 5,
"width": 416,
"height": 528,
"content": "Uses Instagram Graph API (via HTTP Request) to fetch recent posts and their comments. Assumes you have an Instagram Business Account and a valid access token (from Facebook Developer Portal)."
},
"typeVersion": 1
},
{
"id": "57d6f1fe-6179-4425-b661-aec2c1dc735d",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
32
],
"parameters": {
"width": 416,
"height": 528,
"content": "For each comment, it sends the text to Google's Perspective API (a free toxicity detection API; sign up at https://perspectiveapi.com/ for an API key). Threshold for \"toxic\" is set to >0.7 toxicity score (configurable)."
},
"typeVersion": 1
},
{
"id": "e2b718f0-28ea-4bf1-a5d5-26e84be318c9",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
752,
-224
],
"parameters": {
"color": 5,
"height": 992,
"content": "**Auto-Hide Offensive Ones**: If toxic, uses Instagram API to hide the comment.\n\n**Alert Team**: Sends a Slack notification (or email; configurable) with details.\n\n**Store Evidence**: Appends the toxic comment details (text, user, score, timestamp) to a Google Sheet for auditing."
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "a867b0b0-5297-42da-aa5c-f2dca4f413f9",
"connections": {
"d0b8d990-b005-4827-8033-54c5649db2ec": {
"main": [
[
{
"node": "2452c3a8-68ef-4e46-b2c3-04b10e76c2e9",
"type": "main",
"index": 0
}
]
]
},
"7ee26cdf-d244-4e29-b501-fd938ad9ccc7": {
"main": [
[
{
"node": "2dec3548-e9b4-4706-98c3-2b6a09c08812",
"type": "main",
"index": 0
},
{
"node": "bfc8fd2d-d547-4bd4-acea-c5e5df672ab4",
"type": "main",
"index": 0
},
{
"node": "90946996-b976-40a5-a80d-f869b79b30c3",
"type": "main",
"index": 0
}
],
[
{
"node": "b31bf33e-5be7-41da-be9b-89cac55e33dd",
"type": "main",
"index": 0
}
]
]
},
"fbcd13d4-752b-47bf-9486-83c6d4d0ba36": {
"main": [
[
{
"node": "c07fa30c-3c9b-46b6-9cd7-bd186ad641bd",
"type": "main",
"index": 0
}
]
]
},
"4f906e36-0ce8-4fdf-a1e3-f6eafdec200a": {
"main": [
[
{
"node": "7ee26cdf-d244-4e29-b501-fd938ad9ccc7",
"type": "main",
"index": 0
}
]
]
},
"042e2d57-9f5b-4990-9f8c-96c571f4afb9": {
"main": [
[
{
"node": "2452c3a8-68ef-4e46-b2c3-04b10e76c2e9",
"type": "main",
"index": 0
}
]
]
},
"c07fa30c-3c9b-46b6-9cd7-bd186ad641bd": {
"main": [
[
{
"node": "4f906e36-0ce8-4fdf-a1e3-f6eafdec200a",
"type": "main",
"index": 0
}
]
]
},
"2452c3a8-68ef-4e46-b2c3-04b10e76c2e9": {
"main": [
[
{
"node": "fbcd13d4-752b-47bf-9486-83c6d4d0ba36",
"type": "main",
"index": 0
}
]
]
}
}
}このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - ソーシャルメディア, AI要約
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Oneclick AI Squad
@oneclick-aiThe AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.
このワークフローを共有