Interaction avec les publications LinkedIn via Phantombuster

Intermédiaire

Ceci est unAI, Marketingworkflow d'automatisation du domainecontenant 14 nœuds.Utilise principalement des nœuds comme HttpRequest, GoogleSheets, Agent, ScheduleTrigger, LmChatOpenAi, combinant la technologie d'intelligence artificielle pour une automatisation intelligente. Utiliser Phantombuster, OpenAI GPT et Google Sheets pour suivre les interactions LinkedIn automatisées

Prérequis
  • Peut nécessiter les informations d'identification d'authentification de l'API cible
  • Informations d'identification Google Sheets API
  • Clé API OpenAI
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "kMppQ9OLVQ08LU6M",
  "meta": {
    "instanceId": "84ad02d6104594179f43f1ce9cfe3a81637b2faedb57dafcb9e649b7542988db",
    "templateCredsSetupCompleted": true
  },
  "name": "LinkedIn Post Engagement using Phantombuster",
  "tags": [],
  "nodes": [
    {
      "id": "9374a17f-fb35-4862-ba86-d52d0c616ee6",
      "name": "Déclencheur quotidien - 9h",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        0,
        0
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 9
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c71ab77a-b12d-4966-a33f-d7204f5d31fd",
      "name": "Récupérateur de publications LinkedIn",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        220,
        0
      ],
      "parameters": {
        "url": "https://api.phantombuster.com/api/v2/agent/launch",
        "method": "POST",
        "options": {},
        "jsonBody": "{\n  \"id\": \"YOUR_AGENT_ID\",\n  \"arguments\": {\n    \"profileUrls\": [\n      \"https://www.linkedin.com/in/USERNAME/\"\n    ],\n    \"numberOfPosts\": 1\n  },\n  \"save\": false\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "9b7dc781-3726-4ce0-a551-57f3b304aebd",
      "name": "Récupérer les résultats du récupérateur",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        440,
        0
      ],
      "parameters": {
        "url": "https://api.phantombuster.com/api/v2/agent/fetch-output",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "id",
              "value": "YOUR_AGENT_ID"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "f7f1e974-9522-4692-9af8-1674bac0341a",
      "name": "Agent de commentaires",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        940,
        0
      ],
      "parameters": {
        "text": "=You are a professional LinkedIn marketer. Your job is to write engaging, thoughtful, and relevant comments for posts to increase visibility and connection with the author.\n\nHere is the latest LinkedIn post:\n\nAuthor: {{ $json.authorName }}\nProfile: {{ $json.authorProfile }}\nPost URL: {{ $json.postUrl }}\nDate: {{ $json.date }}\nContent:\n\"\"\"\n{{ $json.text }}\n\"\"\"\n\nWrite a concise and personalized comment (1–2 sentences max) that:\n- Adds value to the conversation\n- Feels human and not generic\n- Avoids spammy language\n- Uses a positive and professional tone\n\nOnly return the comment text. Do not include quotation marks or any intro.",
        "options": {},
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "d58b36e6-b24b-450b-9577-2da590c51d96",
      "name": "Modèle de génération de commentaires",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        880,
        240
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "wYwTjEv45IzlAOAu",
          "name": "OpenAi account 2"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "cd761bd8-1d94-4e28-ade5-a4e69b463124",
      "name": "Aimer la publication LinkedIn",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1760,
        -140
      ],
      "parameters": {
        "url": "https://api.phantombuster.com/api/v2/agent/launch",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"id\": \"YOUR_LIKER_AGENT_ID\",\n  \"arguments\": {\n    \"postUrls\": [\n      {{ $('Fetch Scraper Results').item.json.postUrl }}\n    ]\n  },\n  \"save\": false\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "337498aa-ee44-4f92-bd46-7bbdc982960d",
      "name": "Publier un commentaire LinkedIn",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1760,
        140
      ],
      "parameters": {
        "url": "https://api.phantombuster.com/api/v2/agent/launch",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"id\": \"YOUR_COMMENTER_AGENT_ID\",\n  \"arguments\": {\n    \"postUrls\": [\n      {{ $('Fetch Scraper Results').item.json.postUrl }}\n    ],\n    \"comments\": [\n      {{ $json.output }}\n    ]\n  },\n  \"save\": false\n}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Phantombuster-Key-1",
              "value": "YOUR_API_KEY"
            }
          ]
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "27e6fab8-c8e9-4613-a8c1-1fb8306b9c46",
      "name": "Journaliser l'activité dans Sheet",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2360,
        -20
      ],
      "parameters": {
        "columns": {
          "value": {
            "Comment": "={{ $('Commenter Agent').item.json.output }}",
            "PostUrl": "={{ $('Fetch Scraper Results').item.json.postUrl }}",
            "Post text": "={{ $('Fetch Scraper Results').item.json.text }}",
            "Timestamp": "={{ $('Fetch Scraper Results').item.json.timestamp }}",
            "AuthorName": "={{ $('Fetch Scraper Results').item.json.authorName }}",
            "AuthorProfile": "={{ $('Fetch Scraper Results').item.json.authorProfile }}"
          },
          "schema": [
            {
              "id": "AuthorName",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "AuthorName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "AuthorProfile",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "AuthorProfile",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "PostUrl",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "PostUrl",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Post text",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Post text",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Comment",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Comment",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Timestamp",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Timestamp",
              "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/15h8fYaIVsC7HZf5-KsPA8tx-459ulURB5UEMC62Khzk/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "15h8fYaIVsC7HZf5-KsPA8tx-459ulURB5UEMC62Khzk",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15h8fYaIVsC7HZf5-KsPA8tx-459ulURB5UEMC62Khzk/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn auto liker and commenter"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "K5yYfUnKFTqaRn6A",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "6f8ccb5f-ddfd-4524-8098-51f027712203",
      "name": "Note adhésive",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -40,
        -760
      ],
      "parameters": {
        "color": 3,
        "width": 640,
        "height": 940,
        "content": "## 🔹 **Section 1: Trigger and Data Collection**\n\n### 📍Nodes Involved:\n\n* `Daily Trigger - 9 AM`\n* `Start LinkedIn Posts Scraper`\n* `Fetch Scraper Results`\n\n### ✅ **Purpose:**\n\nThis section is responsible for **automatically collecting LinkedIn post data** every day at a specific time.\n\n### 🔍 **Details:**\n\n1. **Daily Trigger - 9 AM**\n\n   * Starts the workflow automatically every day at 9 AM.\n   * Ensures the process runs consistently without manual intervention.\n\n2. **Start LinkedIn Posts Scraper**\n\n   * Sends a `POST` request to Phantombuster's API.\n   * Starts the \"LinkedIn Profile Posts Scraper\" Phantom to collect recent LinkedIn posts from specified profiles.\n\n3. **Fetch Scraper Results**\n\n   * Sends a `GET` request to retrieve the output from the scraping job.\n   * Extracts post data such as post ID, content, author, timestamp, etc.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "eca7d2c9-342f-4db0-a6b1-c5132f0af256",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        -680
      ],
      "parameters": {
        "color": 5,
        "width": 580,
        "height": 1080,
        "content": "## 🔹 **Section 2: AI-Based Content Analysis and Comment Generation**\n\n### 📍Nodes Involved:\n\n* `Generate LinkedIn Comment`\n* `Comment Generation Model`\n\n### ✅ **Purpose:**\n\nTo **analyze the content of each scraped LinkedIn post** and use AI to generate relevant and context-aware comments.\n\n### 🔍 **Details:**\n\n1. **Generate LinkedIn Comment**\n\n   * Acts as the AI Agent that facilitates the interaction between the post content and the AI model.\n   * Prepares the data (e.g., extracts post content) and sends it to the model.\n\n2. **Comment Generation Model**\n\n   * Powered by OpenAI's language model.\n   * Processes the post content and returns a thoughtful, engaging comment tailored to the post topic."
      },
      "typeVersion": 1
    },
    {
      "id": "c47a8e47-cab6-4e47-90d9-41c6e5b56189",
      "name": "Note adhésive2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1580,
        -820
      ],
      "parameters": {
        "color": 7,
        "width": 460,
        "height": 1140,
        "content": "## 🔹 **Section 3: Post Engagement Automation**\n\n### 📍Nodes Involved:\n\n* `Like LinkedIn Post`\n* `Post LinkedIn Comment`\n\n### ✅ **Purpose:**\n\nTo **interact with LinkedIn posts** by liking and commenting using the generated content.\n\n### 🔍 **Details:**\n\n1. **Like LinkedIn Post**\n\n   * Sends a `POST` request to Phantombuster to like the LinkedIn post.\n   * This increases engagement and visibility.\n\n2. **Post LinkedIn Comment**\n\n   * Sends a `POST` request with the AI-generated comment to the LinkedIn post.\n   * Engages the post author and audience in a meaningful way.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "36083131-b3de-4d8c-8d7c-941368fb6312",
      "name": "Note adhésive3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2180,
        -560
      ],
      "parameters": {
        "color": 2,
        "width": 480,
        "height": 720,
        "content": "## 🔹 **Section 4: Result Logging and Storage**\n\n### 📍Nodes Involved:\n\n* `Log Activity to Sheet`\n\n### ✅ **Purpose:**\n\nTo **store all the interactions and results in a structured format** for tracking and analysis.\n\n### 🔍 **Details:**\n\n1. **Log Activity to Sheet**\n\n   * Appends data (e.g., post URL, comment, status, timestamp) to a Google Sheets document.\n   * Helps maintain records, monitor performance, and debug issues if necessary.\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9f6c0756-449a-45c4-ab49-080576be9651",
      "name": "Note adhésive9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        -760
      ],
      "parameters": {
        "color": 4,
        "width": 1300,
        "height": 320,
        "content": "=======================================\n            WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n    Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n   - YouTube: https://www.youtube.com/@YaronBeen/videos\n   - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
      },
      "typeVersion": 1
    },
    {
      "id": "df8bc986-f7b8-4378-a0cd-737a15e0279e",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        -420
      ],
      "parameters": {
        "color": 4,
        "width": 1289,
        "height": 3378,
        "content": "# 🔄 **Automated LinkedIn Engagement Workflow**\n\nThis workflow is designed to **automate the process of collecting LinkedIn posts**, analyzing them with AI, **engaging with them** (liking and commenting), and **logging the actions** in Google Sheets. It runs **daily at 9 AM**, ensuring consistent and timely interaction.\n\n---\n\n## 🧭 **Workflow Overview**\n\nThe workflow is divided into **4 key sections**:\n\n1. **Trigger & Data Collection**\n2. **AI Analysis & Comment Generation**\n3. **LinkedIn Post Engagement**\n4. **Logging & Storage**\n\nEach section is detailed below.\n\n---\n\n## 🔹 Section 1: Trigger & Data Collection\n\n### 📅 **Node: `Daily Trigger - 9 AM`**\n\n* **Type**: Schedule Trigger\n* **Purpose**: Initiates the workflow every day at 9:00 AM automatically.\n* **Benefit**: Removes the need for manual execution, ensuring timely and consistent operation.\n\n---\n\n### 🌐 **Node: `Start LinkedIn Posts Scraper`**\n\n* **Type**: HTTP Request (POST)\n* **Endpoint**: `https://api.phantombuster.com/…`\n* **Purpose**: Starts Phantombuster’s “LinkedIn Profile Posts Scraper” Phantom.\n* **Function**: Sends a request to begin scraping recent posts from specified LinkedIn profiles.\n* **Input**: List of profile URLs, authentication details.\n\n---\n\n### 🌐 **Node: `Fetch Scraper Results`**\n\n* **Type**: HTTP Request (GET)\n* **Endpoint**: `https://api.phantombuster.com/…`\n* **Purpose**: Retrieves the results of the scraping operation.\n* **Output**: JSON data of LinkedIn posts (content, timestamp, author, URL, post ID).\n\n---\n\n## 🔹 Section 2: AI Analysis & Comment Generation\n\n### 🤖 **Node: `Generate LinkedIn Comment`**\n\n* **Type**: AI Agent (Tool Integrator)\n* **Purpose**: Acts as the mediator between the scraped post content and the AI model.\n* **Function**:\n\n  * Extracts post content from the fetched data.\n  * Sends it to the AI for contextual understanding and comment generation.\n\n---\n\n### 🧠 **Node: `Comment Generation Model`**\n\n* **Type**: OpenAI Chat Model (e.g., GPT)\n* **Purpose**: Generates a personalized, thoughtful comment based on the LinkedIn post.\n* **Input**: Post content and context.\n* **Output**: Human-like comment relevant to the post's theme.\n\n---\n\n## 🔹 Section 3: LinkedIn Post Engagement\n\n### 👍 **Node: `Like LinkedIn Post`**\n\n* **Type**: HTTP Request (POST)\n* **Endpoint**: `https://api.phantombuster.com/…`\n* **Purpose**: Likes the target LinkedIn post.\n* **Function**:\n\n  * Increases post visibility.\n  * Adds a lightweight engagement action before commenting.\n\n---\n\n### 💬 **Node: `Post LinkedIn Comment`**\n\n* **Type**: HTTP Request (POST)\n* **Endpoint**: `https://api.phantombuster.com/…`\n* **Purpose**: Posts the AI-generated comment to the post.\n* **Function**:\n\n  * Completes the engagement cycle.\n  * Ensures comments are context-aware and professional.\n\n---\n\n## 🔹 Section 4: Logging & Storage\n\n### 📄 **Node: `Log Activity to Sheet`**\n\n* **Type**: Google Sheets (Append)\n\n* **Purpose**: Logs all workflow results into a Google Sheet.\n\n* **Data Logged**:\n\n  * Post URL\n  * Post content (optional)\n  * AI-generated comment\n  * Status of like/comment actions\n  * Timestamps\n\n* **Benefit**: Provides a centralized log for auditing, review, or further analytics.\n\n---\n\n## ✅ **Key Benefits of This Workflow**\n\n* **Automation**: Runs daily with zero manual effort.\n* **Intelligent Engagement**: AI-powered comment generation ensures relevance and tone.\n* **Tracking & Transparency**: Google Sheets logging ensures every step is recorded.\n* **Scalability**: Easily extendable to more profiles or engagement types.\n\n---\n\n## 📈 **Future Enhancements (Suggestions)**\n\n* Add error handling and retry logic for failed API calls.\n* Include sentiment analysis to refine comment tone.\n* Enable Slack/Email alerts for daily summary.\n* Add filters to only comment on posts with certain keywords or engagement levels.\n\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6db64df0-bacb-483a-833c-e23893831a22",
  "connections": {
    "f7f1e974-9522-4692-9af8-1674bac0341a": {
      "main": [
        [
          {
            "node": "cd761bd8-1d94-4e28-ade5-a4e69b463124",
            "type": "main",
            "index": 0
          },
          {
            "node": "337498aa-ee44-4f92-bd46-7bbdc982960d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "cd761bd8-1d94-4e28-ade5-a4e69b463124": {
      "main": [
        [
          {
            "node": "27e6fab8-c8e9-4613-a8c1-1fb8306b9c46",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9374a17f-fb35-4862-ba86-d52d0c616ee6": {
      "main": [
        [
          {
            "node": "c71ab77a-b12d-4966-a33f-d7204f5d31fd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9b7dc781-3726-4ce0-a551-57f3b304aebd": {
      "main": [
        [
          {
            "node": "f7f1e974-9522-4692-9af8-1674bac0341a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "337498aa-ee44-4f92-bd46-7bbdc982960d": {
      "main": [
        [
          {
            "node": "27e6fab8-c8e9-4613-a8c1-1fb8306b9c46",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c71ab77a-b12d-4966-a33f-d7204f5d31fd": {
      "main": [
        [
          {
            "node": "9b7dc781-3726-4ce0-a551-57f3b304aebd",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "d58b36e6-b24b-450b-9577-2da590c51d96": {
      "ai_languageModel": [
        [
          {
            "node": "f7f1e974-9522-4692-9af8-1674bac0341a",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Intermédiaire - Intelligence Artificielle, Marketing

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds14
Catégorie2
Types de nœuds6
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Yaron Been

Yaron Been

@yaron-nofluff

Building AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34