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 →
{
"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.
googleSheetsOAuth2ApigoogleSheetsTriggerOAuth2ApihttpHeaderAuthopenAiApismtp
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 →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
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
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
> by Thomas Vie Thomas@pollup.net
2823. Uses httpRequest, lmChatOpenAi, outputParserStructured, chainLlm. Event-driven trigger; 19 nodes.
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,”