Automatische Twitter-Likes (Profilbeitrags-Extractor) - Creator Center

Experte

Dies ist ein Social Media-Bereich Automatisierungsworkflow mit 37 Nodes. Hauptsächlich werden If, Set, Code, Wait, HttpRequest und andere Nodes verwendet. Automatisches Liken von Tweets ausgewählter Profile mit Phantombuster und SharePoint KI-Rotation

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • 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": "7vlFEfwMDxHgN4T5",
  "meta": {
    "instanceId": "2cf742429c2e3ee4e5a20069d3d8a75208519303b864f026a79464efa726bd95",
    "templateCredsSetupCompleted": true
  },
  "name": "Twitter Auto Liking (Profile Post Extractor) - Creators Hub",
  "tags": [
    {
      "id": "Tl9QVfvwkdFQyffg",
      "name": "n8n Creators Hub",
      "createdAt": "2025-08-01T09:19:22.310Z",
      "updatedAt": "2025-08-01T09:19:22.310Z"
    }
  ],
  "nodes": [
    {
      "id": "c6e770b5-380e-4732-a13c-b1edd7cfd7f1",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "position": [
        -112,
        -832
      ],
      "webhookId": "f571ac4c-9223-4569-b50e-8aea01e88b2b",
      "parameters": {
        "amount": 15
      },
      "typeVersion": 1.1
    },
    {
      "id": "6d9a71e8-f02e-4efa-ad2d-1405794b4591",
      "name": "Zufälligen Beitrag holen",
      "type": "n8n-nodes-base.code",
      "position": [
        -2544,
        -832
      ],
      "parameters": {
        "jsCode": "const data = $input.all().map(item => item.json);\n\nif (!data || data.length === 0) {\n  throw new Error('No Instagram posts data found');\n}\n\n// Get a random post\nconst randomPost = data[Math.floor(Math.random() * data.length)];\n\n// Return only postUrl and description\nreturn {\n  json: {\n    postUrl: randomPost.tweetUrl\n  }\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "35c31150-4817-46ca-a455-ee96931ecbb1",
      "name": "CSV Binary erstellen",
      "type": "n8n-nodes-base.code",
      "position": [
        -1040,
        -832
      ],
      "parameters": {
        "jsCode": "// Extract correct values\nconst tweetUrl = $('Get Random Post').first().json.postUrl;\n\n// Clean utility\nconst clean = str => String(str || \"\").replace(/[\\u200B-\\u200D\\uFEFF]/g, \"\").trim();\n\n// Escape and quote single data row\nconst row = [\n  `\"${clean(tweetUrl).replace(/\"/g, '\"\"')}\"`\n];\n\n// Convert to buffer without header or BOM\nconst csvBuffer = Buffer.from(row.join(\",\") + \"\\n\", \"utf8\");\n\n// Return binary file\nreturn [\n  {\n    binary: {\n      data: {\n        data: csvBuffer,\n        mimeType: \"text/csv\",\n        fileName: \"phantombuster_clean.csv\"\n      }\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "2658a86d-7a7a-473a-8042-ce8ddd903073",
      "name": "CSV hochladen",
      "type": "n8n-nodes-base.microsoftSharePoint",
      "position": [
        -848,
        -832
      ],
      "parameters": {
        "site": {
          "__rl": true,
          "mode": "list",
          "value": "plemeo.sharepoint.com,f304c34c-1252-4b99-a852-059c2036c718,c3bf26ab-bf44-4334-8e5b-e8b680bb9e1d",
          "cachedResultName": "plemeo"
        },
        "folder": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWAY4RSXX7PGSC5CL27V2Y7XYSNQZ",
          "cachedResultName": "Phantombuster"
        },
        "fileName": "twitter_posts_to_like.csv",
        "operation": "upload",
        "fileContents": "data",
        "requestOptions": {}
      },
      "credentials": {
        "microsoftSharePointOAuth2Api": {
          "id": "jZkLTQXyVEzxtmp3",
          "name": "Microsoft SharePoint account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "a0c010f7-412c-4965-a553-b93a42ed1470",
      "name": "Antwort abrufen",
      "type": "n8n-nodes-base.phantombuster",
      "position": [
        128,
        -832
      ],
      "parameters": {
        "agentId": "7281446865767808",
        "operation": "getOutput",
        "additionalFields": {}
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "7a3f97aa-8a1d-4cca-ab24-a1cacbc9ee92",
      "name": "Notiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2096,
        -1360
      ],
      "parameters": {
        "color": 5,
        "width": 1400,
        "height": 400,
        "content": "## Get Twitter Posts By Scraping defined Profiles\n"
      },
      "typeVersion": 1
    },
    {
      "id": "b2c79320-dc4f-42c4-90c0-22b9f496b990",
      "name": "Notiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        -944
      ],
      "parameters": {
        "width": 980,
        "height": 300,
        "content": "## Launch Autoliking Agent to Like Tweet\n"
      },
      "typeVersion": 1
    },
    {
      "id": "647d5d1d-6f10-4b40-831c-c9cb1dda30b9",
      "name": "Autolike-Agent abrufen",
      "type": "n8n-nodes-base.phantombuster",
      "position": [
        -560,
        -832
      ],
      "parameters": {
        "agentId": "275516550112020",
        "operation": "get"
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "cab368e6-7e0d-4e2b-8f12-3652003898c3",
      "name": "AL-Agent starten",
      "type": "n8n-nodes-base.phantombuster",
      "position": [
        -336,
        -832
      ],
      "parameters": {
        "agentId": "275516550112020",
        "jsonParameters": true,
        "additionalFields": {
          "argumentsJson": "={\n  \"spreadsheetUrl\": \"{{$('Upload CSV').item.json['@content.downloadUrl']}}\",\n  \"sessionCookie\": \"{{ $('Set ENV Variables').first().json.ENV_SESSION_COOKIE }}\"\n}"
        }
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "627f9fcc-6a94-46c2-8c7c-2c64f5bc9c4f",
      "name": "ENV-Variablen setzen",
      "type": "n8n-nodes-base.set",
      "position": [
        -912,
        -1680
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "e24e8c1a-c6c9-4ae2-a0ef-e0e7369dc262",
              "name": "ENV_SEARCH_HASHTAGS",
              "type": "string",
              "value": "={{ $json.output.parseJson().hashtag }}"
            },
            {
              "id": "cf050595-8ad9-4f78-bca4-f463e8b9982e",
              "name": "ENV_SESSION_COOKIE",
              "type": "string",
              "value": "={{ $('Select Cookie').first().json.output.parseJson().session_cookie }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "96caed29-d191-4da5-9d34-045c2c7a676f",
      "name": "Trigger planen",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -2032,
        -1680
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "triggerAtMinute": 5
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cca8b3ac-2470-48f0-b53f-68b9ba7f61b4",
      "name": "Datei aktualisieren",
      "type": "n8n-nodes-base.microsoftSharePoint",
      "position": [
        -1216,
        -832
      ],
      "parameters": {
        "file": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWA3IDDODOJRNIRH3WEA77A27CBYU",
          "cachedResultName": "twitter_posts_already_liked.csv"
        },
        "site": {
          "__rl": true,
          "mode": "list",
          "value": "plemeo.sharepoint.com,f304c34c-1252-4b99-a852-059c2036c718,c3bf26ab-bf44-4334-8e5b-e8b680bb9e1d",
          "cachedResultName": "plemeo"
        },
        "folder": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWAY4RSXX7PGSC5CL27V2Y7XYSNQZ",
          "cachedResultName": "Phantombuster"
        },
        "fileName": "twitter_posts_already_liked.csv",
        "operation": "update",
        "fileContents": "data",
        "requestOptions": {},
        "changeFileContent": true
      },
      "credentials": {
        "microsoftSharePointOAuth2Api": {
          "id": "jZkLTQXyVEzxtmp3",
          "name": "Microsoft SharePoint account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "36fee782-f44a-4a74-b0e6-d32deba563a0",
      "name": "Datei herunterladen",
      "type": "n8n-nodes-base.microsoftSharePoint",
      "position": [
        -2368,
        -832
      ],
      "parameters": {
        "file": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWA3IDDODOJRNIRH3WEA77A27CBYU",
          "cachedResultName": "twitter_posts_already_liked.csv"
        },
        "site": {
          "__rl": true,
          "mode": "list",
          "value": "plemeo.sharepoint.com,f304c34c-1252-4b99-a852-059c2036c718,c3bf26ab-bf44-4334-8e5b-e8b680bb9e1d",
          "cachedResultName": "plemeo"
        },
        "folder": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWAY4RSXX7PGSC5CL27V2Y7XYSNQZ",
          "cachedResultName": "Phantombuster"
        },
        "requestOptions": {}
      },
      "credentials": {
        "microsoftSharePointOAuth2Api": {
          "id": "jZkLTQXyVEzxtmp3",
          "name": "Microsoft SharePoint account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d0031b62-cf49-4ba1-81cf-ea06d245b24c",
      "name": "Prüfen ob in Liste",
      "type": "n8n-nodes-base.code",
      "position": [
        -2000,
        -832
      ],
      "parameters": {
        "jsCode": "const randomPost = normalizeUrl($('Get Random Post').first().json.postUrl);\nconst allItems = $('Extract from File').all();\n\nif (!allItems || allItems.length === 0) {\n  return [{ json: { isDuplicate: false } }];\n}\n\nfunction normalizeUrl(url) {\n  if (typeof url !== 'string') {\n    console.log(\"🚨 NOT A STRING:\", url);\n    return '';\n  }\n  return url.trim().toLowerCase().replace(/\\/$/, '');\n}\n\n// Helper function to get postUrl value regardless of BOM\nfunction getPostUrl(item) {\n  const json = item.json;\n  // Try normal field name first\n  if (json.postUrl) return json.postUrl;\n  \n  // Look for any field containing \"postUrl\"\n  const postUrlKey = Object.keys(json).find(key => key.includes('postUrl'));\n  return postUrlKey ? json[postUrlKey] : null;\n}\n\nconsole.log(\"✅ randomPost:\", randomPost);\nconsole.log(\"✅ allItems:\", allItems);\n\nlet isDuplicate = false;\n\nfor (const item of allItems) {\n  const candidateRaw = getPostUrl(item);\n  const candidate = normalizeUrl(candidateRaw);\n\n  console.log(`🟠 Comparing:\\n→ raw: ${candidateRaw}\\n→ normalized: ${candidate}\\n→ target: ${randomPost}`);\n\n  if (candidate === randomPost) {\n    isDuplicate = true;\n    break;\n  }\n}\n\nreturn [{ json: { isDuplicate } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "f36f1ef6-8869-4517-ad3c-850b1796df3e",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -1824,
        -832
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "bcef43b3-e773-45ba-b245-19ab3fc1e508",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $('Check if in List').first().json.isDuplicate }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "c7fc61b1-a07c-4b05-a16b-f0aef290e15f",
      "name": "Wait2",
      "type": "n8n-nodes-base.wait",
      "position": [
        -2704,
        -832
      ],
      "webhookId": "3c20174c-186a-4a61-8e8c-b78c7e0bacba",
      "parameters": {},
      "typeVersion": 1.1
    },
    {
      "id": "e61e59bb-ea2a-43c3-8392-41a6d37d9166",
      "name": "Aktualisierte Daten vorbereiten",
      "type": "n8n-nodes-base.code",
      "position": [
        -1600,
        -832
      ],
      "parameters": {
        "jsCode": "const existingUrls = $('Extract from File').all().map(item => {\n  // Get the first key (which has the BOM) and use its value\n  const firstKey = Object.keys(item.json)[0];\n  return { postUrl: item.json[firstKey] };\n});\n\nconsole.log(\"existingUrls: \", existingUrls);\n\nconst randomPost = $('Get Random Post').first().json.postUrl;\nconsole.log(\"randomPost: \", randomPost);\n\nreturn [\n  ...existingUrls,\n  { postUrl: randomPost }\n].map(entry => ({ json: entry }));"
      },
      "typeVersion": 2
    },
    {
      "id": "787a8e4d-0db7-4d64-a944-563c25aabe6f",
      "name": "Aus Datei extrahieren",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -2176,
        -832
      ],
      "parameters": {
        "options": {
          "headerRow": true
        }
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "8b8f121a-4559-47df-ba4a-e8be3c244eab",
      "name": "In Datei konvertieren",
      "type": "n8n-nodes-base.convertToFile",
      "position": [
        -1392,
        -832
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "3577e201-49d7-4532-a89d-25003d7e1de9",
      "name": "Verfügbare Session-Cookies abrufen",
      "type": "n8n-nodes-base.microsoftSharePoint",
      "position": [
        -1776,
        -1680
      ],
      "parameters": {
        "file": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWA34GI5X5O5IFVHKQPOE25PSALOH",
          "cachedResultName": "twitter_session_cookies.txt"
        },
        "site": {
          "__rl": true,
          "mode": "list",
          "value": "plemeo.sharepoint.com,f304c34c-1252-4b99-a852-059c2036c718,c3bf26ab-bf44-4334-8e5b-e8b680bb9e1d",
          "cachedResultName": "plemeo"
        },
        "folder": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWAY4RSXX7PGSC5CL27V2Y7XYSNQZ",
          "cachedResultName": "Phantombuster"
        },
        "requestOptions": {}
      },
      "credentials": {
        "microsoftSharePointOAuth2Api": {
          "id": "jZkLTQXyVEzxtmp3",
          "name": "Microsoft SharePoint account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "f6dd4baa-cdd1-4b55-b6b4-22f368feb428",
      "name": "Cookies extrahieren",
      "type": "n8n-nodes-base.extractFromFile",
      "position": [
        -1552,
        -1680
      ],
      "parameters": {
        "options": {},
        "operation": "text"
      },
      "typeVersion": 1
    },
    {
      "id": "d1265483-a58c-4822-87e1-a2de388469e5",
      "name": "Cookie auswählen",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        -1264,
        -1680
      ],
      "parameters": {
        "text": "=##################  PROMPT  ##################\n\n**ROLE:**  You are a session-cookie selector.\n\n**CURRENT BERLIN TIME**  \nDate & time : {{ $now.setZone('Europe/Berlin').format('DD HH:mm:ss') }}  \nHour (00-23): {{ $now.setZone('Europe/Berlin').format('HH') }}\n\n**SESSION COOKIES (keep order):**  \n{{ $json.data }}\n\n**SELECTION LOGIC**\n\n1. Let  \n   • N = number of cookies in the list (2 ≤ N ≤ 4).  \n   • H = current hour as an integer (0–23).  \n   • W = 24 ÷ N  (the width of each time slice in hours, always an integer).\n\n2. Determine the slice index:  \n   sliceIndex = floor(H ÷ W)  // 0-based\n\n3. Choose the cookie at position *(sliceIndex + 1)* in the list.  \n   • Example when N = 4 (W = 6):  \n     00-05 → 1st, 06-11 → 2nd, 12-17 → 3rd, 18-23 → 4th  \n   • Example when N = 3 (W = 8):  \n     00-07 → 1st, 08-15 → 2nd, 16-23 → 3rd  \n   • Example when N = 2 (W = 12):  \n     00-11 → 1st, 12-23 → 2nd\n\n**OUTPUT FORMAT**  \nReturn only the selected session cookie value in a valid JSON-Field called \"session_cookie\", nothing else.\n\n##############################################",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 2
    },
    {
      "id": "addb3be4-24ae-4dff-84ae-0a472ff200fb",
      "name": "OpenAI Chat Model2",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -1232,
        -1520
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "chatgpt-4o-latest",
          "cachedResultName": "chatgpt-4o-latest"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "E4PFATctY0kV00hl",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0d837b39-b583-47f1-89a2-ecb9d08ff033",
      "name": "Profil-Extraktor-Agent abrufen",
      "type": "n8n-nodes-base.phantombuster",
      "position": [
        -2016,
        -1216
      ],
      "parameters": {
        "agentId": "8659007661393374",
        "operation": "get"
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3d1caf00-2462-43ed-80b2-4cfd03dd2fb8",
      "name": "Kontenliste abrufen",
      "type": "n8n-nodes-base.microsoftSharePoint",
      "position": [
        -1840,
        -1216
      ],
      "parameters": {
        "file": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWAYTFGE7UCNBL5FL6WE45C6RHJML",
          "cachedResultName": "twitter_profiles_to_scrape.csv"
        },
        "site": {
          "__rl": true,
          "mode": "list",
          "value": "plemeo.sharepoint.com,f304c34c-1252-4b99-a852-059c2036c718,c3bf26ab-bf44-4334-8e5b-e8b680bb9e1d",
          "cachedResultName": "plemeo"
        },
        "folder": {
          "__rl": true,
          "mode": "list",
          "value": "01M45PWAY4RSXX7PGSC5CL27V2Y7XYSNQZ",
          "cachedResultName": "Phantombuster"
        },
        "fileName": "twitter_profiles_to_scrape.csv",
        "operation": "update",
        "requestOptions": {}
      },
      "credentials": {
        "microsoftSharePointOAuth2Api": {
          "id": "jZkLTQXyVEzxtmp3",
          "name": "Microsoft SharePoint account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "81fbec14-f944-45cb-8100-d85ec61bb0f9",
      "name": "If Empty",
      "type": "n8n-nodes-base.if",
      "position": [
        -848,
        -1216
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "77805c7a-32a4-492e-9084-6a459e8d6b65",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.isEmpty() }}",
              "rightValue": "true"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6023c9b1-c98f-4507-8b04-865c675da934",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1344,
        -1216
      ],
      "parameters": {
        "url": "https://api.phantombuster.com/api/v2/agents/fetch?id=8659007661393374",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "phantombusterApi"
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "ba1d5f3e-5304-49dc-9aad-ea0bb8237ffd",
      "name": "HTTP Request1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -1184,
        -1216
      ],
      "parameters": {
        "url": "=https://phantombuster.s3.amazonaws.com/{{ $json.data?.orgS3Folder || $json.orgS3Folder }}/{{ $json.data?.s3Folder || $json.s3Folder }}/filtered_result.csv\n",
        "options": {},
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "phantombusterApi"
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "0a3c2d98-049f-46b5-8177-85264eb75688",
      "name": "Beiträge vorbereiten",
      "type": "n8n-nodes-base.code",
      "position": [
        -1008,
        -1216
      ],
      "parameters": {
        "jsCode": "// Split the \"data\" field into lines\nconst raw = $json[\"data\"] || \"\";\nconst lines = raw.split(\"\\n\").map(l => l.trim()).filter(Boolean);\n\n// First line is the header (\"tweetUrl\")\nconst header = lines.shift();\n\n// Build an array of { tweetUrl } objects\nreturn lines.map(url => {\n  return {\n    json: {\n      tweetUrl: url\n    }\n  };\n});\n"
      },
      "typeVersion": 2
    },
    {
      "id": "1777b14e-bb81-45df-9abd-231d3983f755",
      "name": "Wait3",
      "type": "n8n-nodes-base.wait",
      "position": [
        -1504,
        -1216
      ],
      "webhookId": "c81a742f-4551-4bcc-932b-c9de71ab1f4d",
      "parameters": {
        "amount": 30
      },
      "typeVersion": 1.1
    },
    {
      "id": "c0d92811-5b1f-4209-8b3a-3a0b2ed14654",
      "name": "Agent1 starten",
      "type": "n8n-nodes-base.phantombuster",
      "position": [
        -1680,
        -1216
      ],
      "parameters": {
        "agentId": "={{ $('Get Profile Extractor Agent').item.json.id }}",
        "jsonParameters": true,
        "additionalFields": {
          "argumentsJson": "={\n  \"numberOfTweetsPerProfile\": 20,\n  \"feedType\": \"tweet\",\n  \"filters\": \"tweetLink\",\n  \"spreadsheetUrl\": \"{{$('Get List of Accounts').item.json['@content.downloadUrl']}}\",\n  \"sessionCookie\": \"{{$('Set ENV Variables').item.json.ENV_SESSION_COOKIE}}\"\n}"
        }
      },
      "credentials": {
        "phantombusterApi": {
          "id": "Zf0AAqqdjBFfyW4W",
          "name": "Phantombuster account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8bbe1e90-0cfc-4b9f-9486-870f9c5f059a",
      "name": "Notiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2096,
        -1792
      ],
      "parameters": {
        "color": 6,
        "width": 1400,
        "height": 400,
        "content": "## Start Workflow and Retrieve Session Cookie\n"
      },
      "typeVersion": 1
    },
    {
      "id": "809c4f0e-0166-424e-9568-0409af09bcab",
      "name": "Notiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2480,
        -1792
      ],
      "parameters": {
        "width": 352,
        "height": 256,
        "content": "### 1) Hashtag & Cookie Selection  \n**What it does**  \n• Downloads cookie list → **Select Cookie** (GPT-4o) picks one based on time slice.  \n\n**Credentials**  \nOpenAI + SharePoint OAuth2.\n\n**Tweaks**    \n• Add/remove cookies in SharePoint file."
      },
      "typeVersion": 1
    },
    {
      "id": "9f503394-0d7a-46ea-98dc-caa1036d559d",
      "name": "Notiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2736,
        -944
      ],
      "parameters": {
        "color": 3,
        "width": 2040,
        "height": 300,
        "content": "## Get Random Post, Check if Already Liked and Upload to SharePoint\n"
      },
      "typeVersion": 1
    },
    {
      "id": "7452d2d1-3d1a-42d6-bf73-de404305fffa",
      "name": "Notiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2560,
        -1360
      ],
      "parameters": {
        "width": 432,
        "height": 304,
        "content": "### 2) Tweet Scraping & Deduplication  \n**What it does**  \n• Runs Phantombuster Profile Extractor Agent → gets ~20 tweets.  \n• Chooses one at random, compares with `twitter_posts_already_liked.csv`.\n\n**Credentials**  \nPhantombuster API + SharePoint OAuth2.\n\n**Tweaks**  \n• Change duplicate logic inside **Check if in List**."
      },
      "typeVersion": 1
    },
    {
      "id": "3d61e6bb-5311-4051-ac7e-94706f41e20d",
      "name": "Notiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2736,
        -624
      ],
      "parameters": {
        "width": 464,
        "height": 272,
        "content": "### 3) CSV Upload & Auto-like Launch  \n**What it does**  \n• Creates a 1-row CSV with the chosen tweet URL.  \n• Uploads it to SharePoint and passes the public link to the Autolike Agent.\n\n**Credentials**  \nSharePoint OAuth2 + Phantombuster API.\n\n**Tweaks**  \n• Change file/folder names in **Upload CSV**.  \n• Replace SharePoint with another storage provider."
      },
      "typeVersion": 1
    },
    {
      "id": "5f001e85-76c2-457a-b9bc-693bff694259",
      "name": "Notiz8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -672,
        -624
      ],
      "parameters": {
        "width": 400,
        "height": 288,
        "content": "### 4) Rate Limiting & Scheduling  \n**What it does**  \n• Hourly **Schedule Trigger** plus **Wait** nodes throttle launches to ≈1 000 likes/day.\n\n**Credentials**  \nNone\n\n**Tweaks**  \n• Edit the cron rule or `Wait` durations to meet your own limits.  \n• Remove **Wait** nodes if Phantombuster limits are higher on your plan."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "c4cb49d1-f823-4898-bd71-8d22d57bf2a7",
  "connections": {
    "f36f1ef6-8869-4517-ad3c-850b1796df3e": {
      "main": [
        [
          {
            "node": "c7fc61b1-a07c-4b05-a16b-f0aef290e15f",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "e61e59bb-ea2a-43c3-8392-41a6d37d9166",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c6e770b5-380e-4732-a13c-b1edd7cfd7f1": {
      "main": [
        [
          {
            "node": "a0c010f7-412c-4965-a553-b93a42ed1470",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c7fc61b1-a07c-4b05-a16b-f0aef290e15f": {
      "main": [
        [
          {
            "node": "6d9a71e8-f02e-4efa-ad2d-1405794b4591",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1777b14e-bb81-45df-9abd-231d3983f755": {
      "main": [
        [
          {
            "node": "6023c9b1-c98f-4507-8b04-865c675da934",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "81fbec14-f944-45cb-8100-d85ec61bb0f9": {
      "main": [
        [],
        [
          {
            "node": "c7fc61b1-a07c-4b05-a16b-f0aef290e15f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2658a86d-7a7a-473a-8042-ce8ddd903073": {
      "main": [
        [
          {
            "node": "647d5d1d-6f10-4b40-831c-c9cb1dda30b9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cca8b3ac-2470-48f0-b53f-68b9ba7f61b4": {
      "main": [
        [
          {
            "node": "35c31150-4817-46ca-a455-ee96931ecbb1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6023c9b1-c98f-4507-8b04-865c675da934": {
      "main": [
        [
          {
            "node": "ba1d5f3e-5304-49dc-9aad-ea0bb8237ffd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "36fee782-f44a-4a74-b0e6-d32deba563a0": {
      "main": [
        [
          {
            "node": "787a8e4d-0db7-4d64-a944-563c25aabe6f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba1d5f3e-5304-49dc-9aad-ea0bb8237ffd": {
      "main": [
        [
          {
            "node": "0a3c2d98-049f-46b5-8177-85264eb75688",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c0d92811-5b1f-4209-8b3a-3a0b2ed14654": {
      "main": [
        [
          {
            "node": "1777b14e-bb81-45df-9abd-231d3983f755",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0a3c2d98-049f-46b5-8177-85264eb75688": {
      "main": [
        [
          {
            "node": "81fbec14-f944-45cb-8100-d85ec61bb0f9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d1265483-a58c-4822-87e1-a2de388469e5": {
      "main": [
        [
          {
            "node": "627f9fcc-6a94-46c2-8c7c-2c64f5bc9c4f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8b8f121a-4559-47df-ba4a-e8be3c244eab": {
      "main": [
        [
          {
            "node": "cca8b3ac-2470-48f0-b53f-68b9ba7f61b4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f6dd4baa-cdd1-4b55-b6b4-22f368feb428": {
      "main": [
        [
          {
            "node": "d1265483-a58c-4822-87e1-a2de388469e5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6d9a71e8-f02e-4efa-ad2d-1405794b4591": {
      "main": [
        [
          {
            "node": "36fee782-f44a-4a74-b0e6-d32deba563a0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cab368e6-7e0d-4e2b-8f12-3652003898c3": {
      "main": [
        [
          {
            "node": "c6e770b5-380e-4732-a13c-b1edd7cfd7f1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d0031b62-cf49-4ba1-81cf-ea06d245b24c": {
      "main": [
        [
          {
            "node": "f36f1ef6-8869-4517-ad3c-850b1796df3e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "96caed29-d191-4da5-9d34-045c2c7a676f": {
      "main": [
        [
          {
            "node": "3577e201-49d7-4532-a89d-25003d7e1de9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "35c31150-4817-46ca-a455-ee96931ecbb1": {
      "main": [
        [
          {
            "node": "2658a86d-7a7a-473a-8042-ce8ddd903073",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "787a8e4d-0db7-4d64-a944-563c25aabe6f": {
      "main": [
        [
          {
            "node": "d0031b62-cf49-4ba1-81cf-ea06d245b24c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "627f9fcc-6a94-46c2-8c7c-2c64f5bc9c4f": {
      "main": [
        [
          {
            "node": "0d837b39-b583-47f1-89a2-ecb9d08ff033",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "addb3be4-24ae-4dff-84ae-0a472ff200fb": {
      "ai_languageModel": [
        [
          {
            "node": "d1265483-a58c-4822-87e1-a2de388469e5",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "647d5d1d-6f10-4b40-831c-c9cb1dda30b9": {
      "main": [
        [
          {
            "node": "cab368e6-7e0d-4e2b-8f12-3652003898c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3d1caf00-2462-43ed-80b2-4cfd03dd2fb8": {
      "main": [
        [
          {
            "node": "c0d92811-5b1f-4209-8b3a-3a0b2ed14654",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e61e59bb-ea2a-43c3-8392-41a6d37d9166": {
      "main": [
        [
          {
            "node": "8b8f121a-4559-47df-ba4a-e8be3c244eab",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0d837b39-b583-47f1-89a2-ecb9d08ff033": {
      "main": [
        [
          {
            "node": "3d1caf00-2462-43ed-80b2-4cfd03dd2fb8",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3577e201-49d7-4532-a89d-25003d7e1de9": {
      "main": [
        [
          {
            "node": "f6dd4baa-cdd1-4b55-b6b4-22f368feb428",
            "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?

Experte - Soziale Medien

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
Experte
Anzahl der Nodes37
Kategorie1
Node-Typen13
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
plemeo

plemeo

@plemeo

Hi, I'm Gerhard from Plemeo. At plemeo.ai, we focus on AI-driven automation and workflow optimization. Our deep expertise with n8n enables us to streamline processes and boost efficiency in software development. This allows us to deliver real, measurable improvements. Curious how plemeo.ai and n8n can benefit your business? Reach out at info@plemeo.de or visit plemeo.ai.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34