Twitter-Überwachungsarbeitsablauf

Fortgeschritten

Dies ist ein Market Research, AI Summarization-Bereich Automatisierungsworkflow mit 15 Nodes. Hauptsächlich werden If, Set, Slack, Switch, HttpRequest und andere Nodes verwendet. Automatisierung der Twitter-Stimmungsanalyse mit OpenAI, Google-Tabellen und Slack-Benachrichtigungen

Voraussetzungen
  • Slack Bot Token oder Webhook URL
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Sheets API-Anmeldedaten
  • OpenAI API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "GHDkm5yryfu6FoXN",
  "meta": {
    "instanceId": "fcb622cbd5234c565b9b78babeaf0ea2455df9d2aad0d1adff7c1ef99583e685",
    "templateCredsSetupCompleted": true
  },
  "name": "Twitter Monitoring Workflow",
  "tags": [],
  "nodes": [
    {
      "id": "8fa04bf9-68e5-43b7-81f2-ee5f2355abd9",
      "name": "Über Elemente schleifen",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -60,
        210
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "dec03e00-a5fa-44eb-b269-b486259ac1aa",
      "name": "OpenAI",
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "position": [
        1380,
        -220
      ],
      "parameters": {
        "modelId": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini",
          "cachedResultName": "GPT-4O-MINI"
        },
        "options": {},
        "messages": {
          "values": [
            {
              "content": "={{ $('Set Field for Loop').item.json.tweet_text }}"
            },
            {
              "role": "system",
              "content": "=You are a professional Twitter social media user replying to the original poster (admin).\n\nAnalyze the sentiment of the tweet below. If the sentiment is positive, write a short, thoughtful reply **from a user's perspective**, directed to the person who posted it.\n\nThe reply should:\n- Show appreciation, agreement, or excitement\n- Be friendly, intelligent, and relevant to tech or AI fields\n- Use no emojis\n- Be under 160 characters\n- Address the original poster directly as a real person would\n\nTweet:\n\"\"\"\nuse a user prompt\n\"\"\""
            }
          ]
        }
      },
      "credentials": {
        "openAiApi": {
          "id": "ga54eHkT3k6225Zq",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.8
    },
    {
      "id": "a6ebd6b7-29a4-4d02-ab90-5e74235485ea",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1020,
        180
      ],
      "parameters": {
        "jsonSchemaExample": "{\n\"category\": \"neutral\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "c725e544-b9c4-4b5f-9e48-3e4ca1e8aec1",
      "name": "Get Post Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        160,
        -40
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupValue": "={{ $json.id }}",
              "lookupColumn": "ID"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1040262065,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E/edit#gid=1040262065",
          "cachedResultName": "Twitter(hashtag)"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E/edit?usp=drivesdk",
          "cachedResultName": "Google Map Scraper"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "cOspDa8h1hkwDLvX",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6,
      "alwaysOutputData": true
    },
    {
      "id": "1def5fb1-e928-4c9e-bb7a-4f1ea5658d46",
      "name": "Sentiment Analyst",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        740,
        -80
      ],
      "parameters": {
        "text": "={{ $('Loop Over Items').item.json.tweet_text }}",
        "options": {
          "systemMessage": "You are a helpful AI assistant.Perfectly analyze the sentiment of this tweet_text and tell me in one word it is Positive, Neutral, or Negative."
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "bc3fdb44-6588-4607-8e22-27a9bdf9ce9c",
      "name": "Schalter According Analyst",
      "type": "n8n-nodes-base.switch",
      "position": [
        1180,
        -40
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "Positive",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "394765f1-3f6b-484c-88ac-6eb699acd292",
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.output.category }}",
                    "rightValue": "Positive"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Nagative",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "d102e916-73dc-4774-81eb-7ca7e6e1033e",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.output.category }}",
                    "rightValue": "Negative"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Neutral",
              "conditions": {
                "options": {
                  "version": 2,
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "id": "9e383471-7b1b-4311-9fab-92ce4db0301f",
                    "operator": {
                      "name": "filter.operator.equals",
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.output.category }}",
                    "rightValue": "Neutral"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.2
    },
    {
      "id": "ce1e35b7-df4a-4969-81ed-21d8967cc834",
      "name": "Add Post Data",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1700,
        240
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $('Set Field for Loop').item.json.id }}",
            "TweetUrl": "={{ $('Set Field for Loop').item.json.tweet_url }}",
            "TweetText": "={{ $('Set Field for Loop').item.json.tweet_text }}",
            "Post Reply": "={{ $json.message.content }}",
            "Sentiment ": "={{ $('Switch According Analyst').item.json.output.category }}"
          },
          "schema": [
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TweetUrl",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "TweetUrl",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "TweetText",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "TweetText",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Sentiment ",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Sentiment ",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post Reply",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "Post Reply",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1040262065,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E/edit#gid=1040262065",
          "cachedResultName": "Twitter(hashtag)"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E/edit?usp=drivesdk",
          "cachedResultName": "Google Map Scraper"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "cOspDa8h1hkwDLvX",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.6,
      "alwaysOutputData": false
    },
    {
      "id": "0ac588c7-2612-482e-91c2-e2622840ec5e",
      "name": "Zeitplan-Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -940,
        220
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 6
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b84b9a8a-e13e-41bf-96d0-aeb36c13c4be",
      "name": "Setzen Field for Loop",
      "type": "n8n-nodes-base.set",
      "position": [
        -280,
        210
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "56262d1d-f624-4e77-a03f-a0f2230070a6",
              "name": "id",
              "type": "string",
              "value": "={{ $json.postId }}"
            },
            {
              "id": "a32fc77b-7378-4ac4-a0af-193ae7092ae3",
              "name": "tweet_url",
              "type": "string",
              "value": "={{ $json.postUrl }}"
            },
            {
              "id": "f744541d-80db-46c6-91ad-3747ebac2c49",
              "name": "tweet_text",
              "type": "string",
              "value": "={{ $json.postText }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "3e8a8b36-69c8-42dd-86c2-fdda0259184c",
      "name": "Send negative post message on slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1440,
        -60
      ],
      "webhookId": "ea8f7d60-91af-4452-adfa-2e00cf80acc6",
      "parameters": {
        "text": "=Received a Negative retweet on {{ $('Check Duplicate').item.json.TweetUrl }}. Consider if a response or clarification is needed.",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "list",
          "value": "C090F70N52M",
          "cachedResultName": "website-uptime"
        },
        "otherOptions": {
          "includeLinkToWorkflow": false
        },
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "rURgzu95YUHybmaa",
          "name": "Slack account"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "31469921-4053-435f-9909-ab5a7eb85204",
      "name": "Request for Twitter Post via Apify",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        -720,
        220
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/scraper_one~x-posts-search/run-sync?token=api_key",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n    \"query\": \"LaraconIn\",\n    \"resultsCount\": 5,\n    \"searchType\": \"latest\",\n    \"lang\":\"en\"\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "typeVersion": 4.1
    },
    {
      "id": "10774b92-a390-43de-a7a5-62ce25587e3e",
      "name": "Get Requested Post from Apify",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -500,
        200
      ],
      "parameters": {
        "url": "https://api.apify.com/v2/acts/scraper_one~x-posts-search/runs/last/dataset/items?token=api_key",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "31525bf2-922d-413e-bad7-9ea8b9099880",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -900,
        -460
      ],
      "parameters": {
        "width": 800,
        "height": 560,
        "content": "## Sample Output Sheet\n- https://docs.google.com/spreadsheets/d/1sOxYQtX-O6p35FCNSRsovKEHL4w4GsfF-ylMVcwpb_E/edit?usp=sharing\n\n\n## Workflow Summary\nThis n8n workflow is designed to automate the collection, sentiment analysis, and response process for trending content. It uses the Apify API(https://apify.com/) to fetch trending data, performs sentiment analysis, and takes conditional actions based on the results. All outcomes are logged in a Google Sheet for record-keeping and future insights.\n\n## How to Use Apify API in n8n for Trending Data\n ### API Endpoint\n**Use this Apify Actor to fetch trending data via a POST request**\n*https://api.apify.com/v2/acts/scraper_one~x-posts-search/run-sync?token=YOUR_API_TOKEN*\nImportant: Replace YOUR_API_TOKEN with your actual Apify API token.\n\n### Request Body Format\n{\n  \"search\": \"YOUR TOPIC\", \n  \"mode\": \"latest\",\n  \"maxItems\": 10\n}"
      },
      "typeVersion": 1
    },
    {
      "id": "29960d67-1378-49b3-9174-ac26aef71ad9",
      "name": "OpenAI-Chat-Modell",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        760,
        140
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "ga54eHkT3k6225Zq",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "8bd4d3f7-9020-43c6-bf0e-788075c5ec6f",
      "name": "If Duplicate",
      "type": "n8n-nodes-base.if",
      "position": [
        380,
        -40
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "6f5c821d-8b4b-40ab-a025-1b7fcc42c78d",
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              },
              "leftValue": "={{ $json.ID }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "09a99040-3fec-411f-a270-2f73092e0c8d",
  "connections": {
    "dec03e00-a5fa-44eb-b269-b486259ac1aa": {
      "main": [
        [
          {
            "node": "ce1e35b7-df4a-4969-81ed-21d8967cc834",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8bd4d3f7-9020-43c6-bf0e-788075c5ec6f": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "1def5fb1-e928-4c9e-bb7a-4f1ea5658d46",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ce1e35b7-df4a-4969-81ed-21d8967cc834": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c725e544-b9c4-4b5f-9e48-3e4ca1e8aec1": {
      "main": [
        [
          {
            "node": "8bd4d3f7-9020-43c6-bf0e-788075c5ec6f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Items": {
      "main": [
        [],
        [
          {
            "node": "c725e544-b9c4-4b5f-9e48-3e4ca1e8aec1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "31469921-4053-435f-9909-ab5a7eb85204",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "1def5fb1-e928-4c9e-bb7a-4f1ea5658d46",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "1def5fb1-e928-4c9e-bb7a-4f1ea5658d46": {
      "main": [
        [
          {
            "node": "Switch According Analyst",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Field for Loop": {
      "main": [
        [
          {
            "node": "Loop Over Items",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a6ebd6b7-29a4-4d02-ab90-5e74235485ea": {
      "ai_outputParser": [
        [
          {
            "node": "1def5fb1-e928-4c9e-bb7a-4f1ea5658d46",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Switch According Analyst": {
      "main": [
        [
          {
            "node": "dec03e00-a5fa-44eb-b269-b486259ac1aa",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "3e8a8b36-69c8-42dd-86c2-fdda0259184c",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "ce1e35b7-df4a-4969-81ed-21d8967cc834",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "10774b92-a390-43de-a7a5-62ce25587e3e": {
      "main": [
        [
          {
            "node": "Set Field for Loop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "31469921-4053-435f-9909-ab5a7eb85204": {
      "main": [
        [
          {
            "node": "10774b92-a390-43de-a7a5-62ce25587e3e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3e8a8b36-69c8-42dd-86c2-fdda0259184c": {
      "main": [
        [
          {
            "node": "ce1e35b7-df4a-4969-81ed-21d8967cc834",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Fortgeschritten - Marktforschung, KI-Zusammenfassung

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Fortgeschritten
Anzahl der Nodes15
Kategorie2
Node-Typen13
Schwierigkeitsbeschreibung

Für erfahrene Benutzer, mittelkomplexe Workflows mit 6-15 Nodes

Autor
InfyOm Technologies

InfyOm Technologies

@infyom

We are an AI Automation Agency focusing on various AI Automation Services like, workflow automation, shopify automation, chatbot developerment, custom ai agent development and more.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34