AutomationFlowsAI & RAG › Workflow 2823

Workflow 2823

Workflow 2823. Uses httpRequest, lmChatOpenAi, outputParserStructured, chainLlm. Event-driven trigger; 19 nodes.

Event trigger★★★★☆ complexityAI-powered19 nodesHTTP RequestOpenAI ChatOutput Parser StructuredChain LlmEmail SendGoogle Sheets TriggerGoogle Sheets
AI & RAG Trigger: Event Nodes: 19 Complexity: ★★★★☆ AI nodes: yes Added:

This workflow follows the Chainllm → Emailsend recipe pattern — see all workflows that pair these two integrations.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "a768bce6-ae26-464c-95fc-009edea4f94d",
      "name": "Set your company's variables",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "6a8063b6-1fd8-429a-9f13-b7512066c702",
              "name": "your_company_name",
              "type": "string",
              "value": "Pollup Data Services"
            },
            {
              "id": "3e6780d6-86d0-4353-aa17-8470a91f63a8",
              "name": "your_company_activity",
              "type": "string",
              "value": "Whether it\u2019s automating recurring tasks, analysing data faster, or personalising customer interactions, we build bespoke AI agents to help your workforce work smarter."
            },
            {
              "id": "1b42f1b3-20ed-4278-952d-f28fe0f03fa3",
              "name": "your_email",
              "type": "string",
              "value": "thomas@pollup.net"
            },
            {
              "id": "7c109ba2-d855-49d5-8700-624b01a05bc1",
              "name": "your_name",
              "type": "string",
              "value": "Justin"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ca729f8d-cab8-4221-addb-aa23813d80b4",
      "name": "Get linkedin Posts",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1300,
        0
      ],
      "parameters": {
        "url": "https://fresh-linkedin-profile-data.p.rapidapi.com/get-profile-posts",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "linkedin_url",
              "value": "={{ $('Google Sheets Trigger').item.json.linkedin_url }}"
            },
            {
              "name": "type",
              "value": "posts"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "fresh-linkedin-profile-data.p.rapidapi.com"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "b9559958-f8ac-4ab6-93c6-50eb04113808",
      "name": "Get twitter ID",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        680,
        0
      ],
      "parameters": {
        "url": "https://twitter-api47.p.rapidapi.com/v2/user/by-username",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "username",
              "value": "={{ $('Google Sheets Trigger').item.json.twitter_handler }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "twitter-api47.p.rapidapi.com"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3e85565f-ebfa-4568-9391-869961c5b3ed",
      "name": "Get tweets",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        880,
        0
      ],
      "parameters": {
        "url": "https://twitter-api47.p.rapidapi.com/v2/user/tweets",
        "options": {},
        "sendQuery": true,
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "queryParameters": {
          "parameters": [
            {
              "name": "userId",
              "value": "={{ $json.rest_id }}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "x-rapidapi-host",
              "value": "twitter-api47.p.rapidapi.com"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "6e060b21-9eaf-49e6-9665-c051b3f2397e",
      "name": "Extract and limit Linkedin",
      "type": "n8n-nodes-base.code",
      "position": [
        1520,
        0
      ],
      "parameters": {
        "jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\noutput = []\nmax_posts = 10\nlet counter = 0\nfor (const item of $input.all()[0].json.data) {\n  let post = {\n    title: item.article_title,\n    text: item.text\n  }\n  output.push(post)\n  if(counter++ >= max_posts) break;\n}\n\nreturn {\"linkedIn posts\": output};"
      },
      "typeVersion": 2
    },
    {
      "id": "e65bc472-e7c6-43c5-8e84-fe8c4512e92f",
      "name": "Exract and limit X",
      "type": "n8n-nodes-base.code",
      "position": [
        1100,
        0
      ],
      "parameters": {
        "jsCode": "// Loop over input items and add a new field called 'myNewField' to the JSON of each one\noutput = []\nmax_posts = 10\nlet counter = 0\nfor (const item of $input.all()[0].json.tweets) {\n  if(!item.content.hasOwnProperty('itemContent')) continue\n  let post = {\n    text: item.content.itemContent?.tweet_results?.result.legacy?.full_text\n  }\n  console.log(post)\n  output.push(post)\n  if(counter++ >= max_posts) break;\n}\n\nreturn {\"Twitter tweets\": output};"
      },
      "typeVersion": 2
    },
    {
      "id": "10f088a0-0479-428e-96cf-fe0df9b37877",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        1740,
        200
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "9adfd648-8348-4a0a-8b9b-d54dc3b715bb",
      "name": "Structured Output Parser",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1920,
        220
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"subject\": \"\",\n  \"cover_letter\": \"\"\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "af96003c-539d-4728-832c-4819d85bbbcc",
      "name": "Generate Subject and cover letter based on match",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        1720,
        0
      ],
      "parameters": {
        "text": "=## Me\n- My company name is:  {{ $('Set your company\\'s variables').item.json.your_company_name }}\n- My company's activity is: {{ $('Set your company\\'s variables').item.json.your_company_activity }}\n- My name is: {{ $('Set your company\\'s variables').item.json.your_name }}\n- My email is: {{ $('Set your company\\'s variables').item.json.your_email }}\n\n## My lead:\nHis name: {{ $('Google Sheets Trigger').item.json.name }}\n\n## What I want you to do\n- According to the info about me, and the linkedin posts an twitter post of a user given below, I want you to find a common activity that I could propose to this person and generate a cover letter about it\n- Return ONLY the cover letter and the subject as a json like this:\n{\n  \"subject\": \"\",\n  \"cover_letter\": \"\"\n}\n\nTHe cover letter should be in HTML format\n\n## The Linkedin Posts:\n{{ JSON.stringify($json[\"linkedIn posts\"])}}\n\n## THe Twitter posts:\n{{ JSON.stringify($('Exract and limit X').item.json['Twitter tweets']) }}\n",
        "messages": {
          "messageValues": [
            {
              "message": "You are a helpful Marketing assistant"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.5
    },
    {
      "id": "6954285f-7ea5-4e3d-8be2-03051d716d03",
      "name": "Send Cover letter and CC me",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        2080,
        0
      ],
      "parameters": {
        "html": "={{ $json.output.cover_letter }}",
        "options": {},
        "subject": "={{ $json.output.subject }}",
        "toEmail": "={{ $('Google Sheets Trigger').item.json.email }}, {{ $('Set your company\\'s variables').item.json.your_email }}",
        "fromEmail": "thomas@pollup.net"
      },
      "credentials": {
        "smtp": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "357477a8-98c3-48a5-8c88-965f90a4beb2",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        360,
        -280
      ],
      "parameters": {
        "color": 4,
        "height": 480,
        "content": "## \uc5ec\uae30\uc5d0 \ub9de\ucda4\ud654\ud558\uc138\uc694\n\n### \uc124\uc815: \n- \ub2f9\uc2e0\uc758 \uc774\ub984\n- \ub2f9\uc2e0\uc758 \ud68c\uc0ac \uc774\ub984\n- \ub2f9\uc2e0\uc758 \ud68c\uc0ac \ud65c\ub3d9, \ub9ac\ub4dc\uc640 \uc77c\uce58\uc2dc\ud0a4\ub294 \ub370 \uc0ac\uc6a9\n- \ub2f9\uc2e0\uc758 \uc774\uba54\uc77c, \ubc1c\uc2e0\uc790\ub85c \uc0ac\uc6a9\n\n### \ucd9c\ub825"
      },
      "typeVersion": 1
    },
    {
      "id": "0c26383c-c8f1-44b1-995e-2c88118061bb",
      "name": "Google Sheets Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        -40,
        20
      ],
      "parameters": {
        "options": {
          "dataLocationOnSheet": {
            "values": {
              "rangeDefinition": "specifyRange"
            }
          }
        },
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IcvbbG_WScVNyutXhzqyE9NxdxNbY90Dd63R8Y1UrAw/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1IcvbbG_WScVNyutXhzqyE9NxdxNbY90Dd63R8Y1UrAw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IcvbbG_WScVNyutXhzqyE9NxdxNbY90Dd63R8Y1UrAw/edit?usp=drivesdk",
          "cachedResultName": "Analyze social media of a lead"
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "923cca3d-69a9-4d26-80a3-e9062d42d8a8",
      "name": "Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        2280,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "done": "X",
            "linkedin_url": "={{ $('Google Sheets Trigger').item.json.linkedin_url }}"
          },
          "schema": [
            {
              "id": "linkedin_url",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "linkedin_url",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "twitter_handler",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "twitter_handler",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "done",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "done",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "row_number",
              "type": "string",
              "display": true,
              "removed": true,
              "readOnly": true,
              "required": false,
              "displayName": "row_number",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "linkedin_url"
          ]
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IcvbbG_WScVNyutXhzqyE9NxdxNbY90Dd63R8Y1UrAw/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1IcvbbG_WScVNyutXhzqyE9NxdxNbY90Dd63R8Y1UrAw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IcvbbG_WScVNyutXhzqyE9NxdxNbY90Dd63R8Y1UrAw/edit?usp=drivesdk",
          "cachedResultName": "Analyze social media of a lead"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "6df02119-09db-4d87-b435-7753693b27aa",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        180,
        20
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "3839b337-6c33-4907-ba75-8ef04cefc14c",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json.done }}",
              "rightValue": ""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "executeOnce": false,
      "typeVersion": 2.2,
      "alwaysOutputData": true
    },
    {
      "id": "2edaa85e-ef69-490c-9835-cf8779cada6d",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -120,
        -320
      ],
      "parameters": {
        "color": 4,
        "width": 260,
        "height": 500,
        "content": "## \ub2e4\uc74c \uc5f4\uc744 \uac00\uc9c4 Gooogle \uc2dc\ud2b8\ub97c \uc0dd\uc131\ud558\uc138\uc694:\n- linkedin_url\n- name\n- twitter_handler\n- email\n- done\n\n\uadf8\ub9ac\uace0 \"done\" \uc5f4\uc744 \uc81c\uc678\ud558\uace0 \uadf8 \uc2dc\ud2b8\uc5d0 \uc77c\ubd80 \ub370\uc774\ud130\ub97c \ub123\uc73c\uc138\uc694."
      },
      "typeVersion": 1
    },
    {
      "id": "19210bba-1db1-4568-b34e-4e9de002b0eb",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1680,
        -160
      ],
      "parameters": {
        "color": 5,
        "width": 340,
        "height": 300,
        "content": "## \uc5ec\uae30\uc5d0 \ud504\ub86c\ud504\ud2b8\ub97c \uc218\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4\n\n- \uc608\uc2dc\ub97c \ucd94\uac00\ud558\uc5ec \ub354 \uc88b\uac8c \ub9cc\ub4dc\uc138\uc694\n- \uc54c\ub824\uc9c4 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \ub530\ub974\uc138\uc694\n\ub4f1."
      },
      "typeVersion": 1
    },
    {
      "id": "bebab4e5-35fa-49b7-bb85-a85231c44389",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        -280
      ],
      "parameters": {
        "color": 4,
        "width": 340,
        "height": 480,
        "content": "## RapidAPI Twitter API \ud504\ub85c\ud544 \ub370\uc774\ud130 \ud638\ucd9c  \nRapidAPI\uc5d0\uc11c \uacc4\uc815\uc744 \uc0dd\uc131\ud574\uc57c \ud558\uba70, [RapidAPI](https://rapidapi.com/restocked-gAGxip8a_/api/twitter-api47)\uc5d0 Twitter API\ub97c \uad6c\ub3c5\ud558\uc138\uc694. \ubb34\ub8cc \uacc4\uc815\uc73c\ub85c \ud55c \ub2ec\uc5d0 500\uac1c\uc758 \ud2b8\uc717\uc744 \uc2a4\ud06c\ub7a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.  \n\uad6c\ub3c5 \ud6c4\uc5d0\ub294 Generic Auth Type\uc73c\ub85c Header Auth\ub97c \uc120\ud0dd\ud55c \ub2e4\uc74c, \ud5e4\ub354 \uc774\ub984\uc73c\ub85c \"x-rapidapi-key\"\ub97c \ub123\uace0, RapidAPI \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc11c \uc81c\uacf5\ub41c \uac12\uc744 \uc785\ub825\ud558\uc138\uc694."
      },
      "typeVersion": 1
    },
    {
      "id": "42df4665-2d46-4020-938c-f082db6f09d0",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        -300
      ],
      "parameters": {
        "color": 4,
        "width": 280,
        "height": 480,
        "content": "## RapidAPI \uc2e0\uc120\ud55c LinkedIn \ud504\ub85c\ud544 \ub370\uc774\ud130 \ud638\ucd9c\nRapidAPI([https://rapidapi.com](https://rapidapi.com))\uc5d0\uc11c \uacc4\uc815\uc744 \ub9cc\ub4e4\uc5b4\uc57c \ud558\uba70, Fresh LinkedIn Profile Data\uc5d0 \uad6c\ub3c5\ud574\uc57c \ud569\ub2c8\ub2e4. \ubb34\ub8cc \uacc4\uc815\uc73c\ub85c \uc6d4 100\uac1c\uc758 \ud504\ub85c\ud544\uc744 \uc2a4\ud06c\ub7a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\n\uad6c\ub3c5 \ud6c4 Generic Auth Type\uc73c\ub85c Header Auth\ub97c \uc120\ud0dd\ud574\uc57c \ud558\uba70, \ud5e4\ub354 \uc774\ub984\uc73c\ub85c \"x-rapidapi-key\"\ub97c \ub123\uace0 RapidAPI \uc778\ud130\ud398\uc774\uc2a4\uc5d0\uc11c \uc81c\uacf5\ub41c \uac12\uc744 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4."
      },
      "typeVersion": 1
    },
    {
      "id": "4a14febd-bd82-428c-8c97-15f1ba724b02",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -840,
        -620
      ],
      "parameters": {
        "width": 700,
        "height": 1180,
        "content": "## \uc18c\uc15c \ubbf8\ub514\uc5b4 \ubd84\uc11d \ubc0f \uc790\ub3d9\ud654\ub41c \uc774\uba54\uc77c \uc0dd\uc131\n\n> by Thomas Vie [Thomas@pollup.net](mailto:thomas@pollup.net)\n\n### **\ub204\uad6c\ub97c \uc704\ud55c \uac83\uc778\uac00?**\n\uc774 \ud15c\ud50c\ub9bf\uc740 \uc7a0\uc7ac \uace0\uac1d\uc758 \uc18c\uc15c \ubbf8\ub514\uc5b4 \ud504\ub85c\ud544\uc744 \ubd84\uc11d\ud558\uace0 \uac1c\uc778\ud654\ub41c \uc774\uba54\uc77c \uc544\uc6c3\ub9ac\uce58\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uc790\ub3d9\ud654\ud558\ub824\ub294 \ub9c8\ucf00\ud130, \ub9ac\ub4dc \uc0dd\uc131 \uc804\ubb38\uac00, \ube44\uc988\ub2c8\uc2a4 \uc804\ubb38\uac00\uc5d0\uac8c \uc774\uc0c1\uc801\uc785\ub2c8\ub2e4.\n\n### **\uc774 \uc6cc\ud06c\ud50c\ub85c\uac00 \ud574\uacb0\ud558\ub294 \ubb38\uc81c\ub294 \ubb34\uc5c7\uc778\uac00?**\n\uc18c\uc15c \ubbf8\ub514\uc5b4 \ud504\ub85c\ud544\uc744 \uc218\ub3d9\uc73c\ub85c \ubd84\uc11d\ud558\uace0 \uac1c\uc778\ud654\ub41c \uc774\uba54\uc77c\uc744 \uc791\uc131\ud558\ub294 \uac83\uc740 \uc2dc\uac04 \uc18c\ubaa8\uc801\uc774\uba70 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uae30 \uc27d\uc2b5\ub2c8\ub2e4. \uc774 \uc6cc\ud06c\ud50c\ub85c\ub294 \uc18c\uc15c \ubbf8\ub514\uc5b4 API\ub97c AI\uc640 \ud1b5\ud569\ud558\uc5ec \ub9de\ucda4\ud615 \ucee4\ubba4\ub2c8\ucf00\uc774\uc158\uc744 \uc0dd\uc131\ud558\uc5ec \uc2dc\uac04\uc744 \uc808\uc57d\ud558\uace0 \uc544\uc6c3\ub9ac\uce58 \ud6a8\uacfc\ub97c \ub192\uc785\ub2c8\ub2e4.\n\n### **\uc774 \uc6cc\ud06c\ud50c\ub85c\uac00 \ud558\ub294 \uc77c:**\n1. **Google Sheets \ud1b5\ud569:** LinkedIn URL, Twitter \ud578\ub4e4, \uc774\ub984, \uc774\uba54\uc77c \ub4f1\uc758 \ub9ac\ub4dc \uc815\ubcf4\ub97c \ud3ec\ud568\ud55c Google Sheet\uc73c\ub85c \uc2dc\uc791\ud569\ub2c8\ub2e4.\n2. **\uc18c\uc15c \ubbf8\ub514\uc5b4 \ub370\uc774\ud130 \ucd94\ucd9c:** RapidAPI \ud1b5\ud569\uc744 \uc0ac\uc6a9\ud558\uc5ec Twitter\uc640 LinkedIn\uc5d0\uc11c \ud504\ub85c\ud544 \ubc0f \ud65c\ub3d9 \ub370\uc774\ud130\ub97c \uc790\ub3d9\uc73c\ub85c \uac00\uc838\uc635\ub2c8\ub2e4.\n3. **AI \uae30\ubc18 \ucf58\ud150\uce20 \uc0dd\uc131:** \ucd94\ucd9c\ub41c \ub370\uc774\ud130\ub97c \ubd84\uc11d\ud558\uc5ec OpenAI\uc758 Chat Model\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac1c\uc778\ud654\ub41c \uc774\uba54\uc77c \uc81c\ubaa9\uacfc \ucee4\ubc84 \ub808\ud130\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n4. **\uc790\ub3d9 \uc774\uba54\uc77c \ubc1c\uc1a1:** \uc0dd\uc131\ub41c \uc774\uba54\uc77c\uc744 \ub9ac\ub4dc\uc5d0\uac8c \uc9c1\uc811 \ubcf4\ub0b4\uace0, \ucd94\uc801\uc744 \uc704\ud574 \uc790\uc2e0\uc5d0\uac8c \ubcf5\uc0ac\ubcf8\uc744 \ubcf4\ub0c5\ub2c8\ub2e4.\n5. **\uc9c4\ud589 \ucd94\uc801:** \uc644\ub8cc\ub41c \uc791\uc5c5\uc744 \ub098\ud0c0\ub0b4\uae30 \uc704\ud574 Google Sheet\ub97c \uc5c5\ub370\uc774\ud2b8\ud569\ub2c8\ub2e4.\n\n#### **\uc124\uc815:**\n1. **Google Sheets:**\n   - LinkedIn URL, \uc774\ub984, Twitter \ud578\ub4e4, \uc774\uba54\uc77c, \uadf8\ub9ac\uace0 \ucd94\uc801\uc744 \uc704\ud55c \"done\" \uc5f4\uc774 \uc788\ub294 \uc2dc\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4.\n   - \uc2dc\ud2b8\uc5d0 \ub9ac\ub4dc\ub97c \uc785\ub825\ud569\ub2c8\ub2e4.\n\n2. **RapidAPI \uacc4\uc815:**\n   - RapidAPI\uc5d0 \uac00\uc785\ud558\uace0 Twitter \ubc0f LinkedIn API \ud50c\ub79c\uc744 \uad6c\ub3c5\ud569\ub2c8\ub2e4.\n   - \uc6cc\ud06c\ud50c\ub85c\uc5d0\uc11c API \uc778\uc99d \ud0a4\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.\n\n3. **AI \uad6c\uc131:**\n   - \ud14d\uc2a4\ud2b8 \uc0dd\uc131\uc744 \uc704\ud574 OpenAI Chat Model\uc744 API \ud0a4\uc640 \uc5f0\uacb0\ud569\ub2c8\ub2e4.\n\n4. **\uc774\uba54\uc77c \ud1b5\ud569:**\n   - \uc790\ub3d9 \uc774\uba54\uc77c \ubc1c\uc1a1\uc744 \uc704\ud574 \uc774\uba54\uc77c \uc790\uaca9\uc99d\uba85 \ub610\ub294 \uc11c\ube44\uc2a4(SMTP \ub610\ub294 Gmail\uacfc \uac19\uc740 \ud0c0\uc0ac \uc11c\ube44\uc2a4)\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.\n\n#### **\uc774 \uc6cc\ud06c\ud50c\ub85c\ub97c \uc790\uc2e0\uc758 \ud544\uc694\uc5d0 \ub9de\uac8c \ucee4\uc2a4\ud130\ub9c8\uc774\uc9d5\ud558\ub294 \ubc29\ubc95:**\n- **AI \ud504\ub86c\ud504\ud2b8 \uc218\uc815:** AI \ub178\ub4dc\uc758 \ud504\ub86c\ud504\ud2b8\ub97c \uc790\uc2e0\uc758 \ud1a4, \uc2a4\ud0c0\uc77c \ub610\ub294 \ud2b9\uc815 \uba54\uc2dc\uc9d5 \ud504\ub808\uc784\uc6cc\ud06c\uc5d0 \ub9de\uac8c \uc870\uc815\ud569\ub2c8\ub2e4.\n- **\ub370\uc774\ud130 \ud544\ub4dc \ud655\uc7a5:** \ucd94\uac00 \uac1c\uc778\ud654\ub97c \uc704\ud574 Google Sheets\uc5d0 \ub370\uc774\ud130 \ud544\ub4dc\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.\n- **API \uc81c\ud55c:** \uc0ac\uc6a9 \uc81c\ud55c\uc5d0 \ub9de\uac8c API \uad6c\uc131\uc744 \uc870\uc815\ud558\uac70\ub098, \ub354 \ub9ce\uc740 \ub370\uc774\ud130 \uc2a4\ud06c\ub798\ud551 \uae30\ub2a5\uc744 \uc704\ud574 \uc0c1\uc704 \ud2f0\uc5b4\ub85c \uc5c5\uadf8\ub808\uc774\ub4dc\ud569\ub2c8\ub2e4.\n- **\uc774\uba54\uc77c \ud15c\ud50c\ub9bf \uac1c\uc778\ud654:** \ub2e4\uc591\ud55c \ub300\uc0c1\uc774\ub098 \uc6a9\ub3c4\uc5d0 \ub9de\uac8c \uc774\uba54\uc77c \ud615\uc2dd\uc744 \uc218\uc815\ud569\ub2c8\ub2e4.\n- **\uae30\ub2a5 \ud655\uc7a5:** \ud544\uc694\uc5d0 \ub530\ub77c \ucd94\uac00 \uc18c\uc15c \ubbf8\ub514\uc5b4 \ud50c\ub7ab\ud3fc\uc774\ub098 CRM \ub3c4\uad6c\ub97c \ud1b5\ud569\ud569\ub2c8\ub2e4.\n\n\uc774 \uc6cc\ud06c\ud50c\ub85c\ub97c \uad6c\ud604\ud558\uba74 \ubc18\ubcf5\uc801\uc778 \uc791\uc5c5\uc5d0 \uc18c\uc694\ub418\ub294 \uc2dc\uac04\uc744 \uc808\uc57d\ud558\uace0 \ub354 \ud6a8\uacfc\uc801\uc778 \ub9ac\ub4dc \uc0dd\uc131 \uc804\ub7b5\uc744 \ub9cc\ub4e4 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "If": {
      "main": [
        [
          {
            "node": "Set your company's variables",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get tweets": {
      "main": [
        [
          {
            "node": "Exract and limit X",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets": {
      "main": [
        []
      ]
    },
    "Get twitter ID": {
      "main": [
        [
          {
            "node": "Get tweets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Generate Subject and cover letter based on match",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Exract and limit X": {
      "main": [
        [
          {
            "node": "Get linkedin Posts",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get linkedin Posts": {
      "main": [
        [
          {
            "node": "Extract and limit Linkedin",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Generate Subject and cover letter based on match",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Extract and limit Linkedin": {
      "main": [
        [
          {
            "node": "Generate Subject and cover letter based on match",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Send Cover letter and CC me": {
      "main": [
        [
          {
            "node": "Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set your company's variables": {
      "main": [
        [
          {
            "node": "Get twitter ID",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Subject and cover letter based on match": {
      "main": [
        [
          {
            "node": "Send Cover letter and CC me",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Workflow 2823. Uses httpRequest, lmChatOpenAi, outputParserStructured, chainLlm. Event-driven trigger; 19 nodes.

Source: https://github.com/n8nKOR/n8n-shared-workflow/blob/62a671327e906c22a40d290b339ff6d2373f8d75/workflows/n8n-workflows-by-Zie619/devops/2823_workflow_2823.json — original creator credit. Request a take-down →

More AI & RAG workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

AI & RAG

This end-to-end AI-powered recruitment automation workflow helps HR and talent acquisition teams automate the complete hiring pipeline—from resume intake and parsing to GPT-4-based evaluation, TA appr

Form Trigger, Output Parser Structured, Google Drive +10
AI & RAG

This n8n template automates targeted lead discovery, AI-driven data structuring, and personalized cold-email sending at controlled intervals. It’s ideal for sales teams, founders, and agencies that wa

Google Sheets, Form Trigger, Chain Llm +6
AI & RAG

&gt; by Thomas Vie Thomas@pollup.net

HTTP Request, OpenAI Chat, Output Parser Structured +4
AI & RAG

2823. Uses httpRequest, lmChatOpenAi, outputParserStructured, chainLlm. Event-driven trigger; 19 nodes.

HTTP Request, OpenAI Chat, Output Parser Structured +4
AI & RAG

The best content automation template in the market is now even better—with “deep research” on time-sensitive topics\! Unlike most n8n content automation templates that are mainly for “demo purposes,”

OpenAI, HTTP Request, XML +11