This workflow corresponds to n8n.io template #4487 — we link there as the canonical source.
This workflow follows the Agent → Google Sheets 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 →
{
"id": "osBCgU5nbpfrepN6",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Linkedin Automation - Archit Jain",
"tags": [],
"nodes": [
{
"id": "1a809241-0790-4976-9bea-7a3ce723d0ee",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
-880
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "16bb5932-b1f3-405a-becf-27ced4c678fe",
"name": "5AM Everyday",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-140,
-525
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "26a6cdf5-ad47-40a3-bf11-1a4318fe8d07",
"name": "Get AI Tweets",
"type": "n8n-nodes-base.httpRequest",
"position": [
80,
-525
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "8918df8b-2d1f-4064-bb77-d5673e27f13c",
"name": "Clean Tweets",
"type": "n8n-nodes-base.code",
"position": [
300,
-525
],
"parameters": {},
"typeVersion": 2
},
{
"id": "d7bd6803-e1f9-42e2-ab00-d1bbc30274f3",
"name": "Loop Tweets",
"type": "n8n-nodes-base.splitInBatches",
"position": [
520,
-525
],
"parameters": {},
"typeVersion": 3
},
{
"id": "04b6064d-0ddf-4e11-967d-f2801bce2a22",
"name": "Find Existing Tweet",
"type": "n8n-nodes-base.googleSheets",
"position": [
740,
-600
],
"parameters": {},
"typeVersion": 4.6,
"alwaysOutputData": true
},
{
"id": "27451587-a415-453e-947e-1bc2809231c5",
"name": "Already Exists, Ignore",
"type": "n8n-nodes-base.noOp",
"position": [
1180,
-500
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5708f4d5-e78d-42ed-9234-a16edb5ce8b4",
"name": "Save New Tweet",
"type": "n8n-nodes-base.googleSheets",
"position": [
1400,
-525
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "86097c09-2d25-415b-80d6-72d130880ae4",
"name": "All Done, End",
"type": "n8n-nodes-base.noOp",
"position": [
740,
-800
],
"parameters": {},
"typeVersion": 1
},
{
"id": "105091ee-bea5-445c-980b-96566af73d8c",
"name": "6AM Daily",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-140,
120
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "39b73976-c63f-4c22-be52-41b5a2ceee4b",
"name": "Google Sheets",
"type": "n8n-nodes-base.googleSheets",
"position": [
80,
120
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "f83a89ed-fd31-40de-be23-0755bc792d84",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
960,
-600
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "ccd4fba6-c97b-4965-8330-ebdbe2a932fb",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
1180,
-700
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "ea19b297-b627-4586-af5b-608e92035fca",
"name": "AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
520,
120
],
"parameters": {},
"typeVersion": 1.9
},
{
"id": "a8659cc4-e4b6-4b11-8f42-bfaf4d15c7ae",
"name": "4.1",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
548,
340
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6a1d98b0-97a2-4469-94fe-019d9547b515",
"name": "Limit",
"type": "n8n-nodes-base.limit",
"position": [
300,
120
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0b5318b2-f18a-4d14-98a3-63e8ce5f2a08",
"name": "Structured Output Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
668,
340
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "52315263-e2da-4238-b819-4065eadf9b1d",
"name": "Loop Posts",
"type": "n8n-nodes-base.splitInBatches",
"position": [
896,
120
],
"parameters": {},
"typeVersion": 3
},
{
"id": "669b07e5-5d5f-4776-89fe-2e3a5e6e5893",
"name": "Wait1",
"type": "n8n-nodes-base.wait",
"position": [
1116,
120
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "0c54fe5b-8b8b-4808-ae93-04afdb848937",
"name": "Google Sheets1",
"type": "n8n-nodes-base.googleSheets",
"position": [
1336,
195
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "13d9386c-2ee2-4bb1-b465-4f09bdbc8111",
"name": "Telegram",
"type": "n8n-nodes-base.telegram",
"position": [
1336,
-80
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "586e326a-431d-418f-8bce-3e625716ab60",
"name": "Aggregate",
"type": "n8n-nodes-base.aggregate",
"position": [
1116,
-80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "be441d03-228e-467c-9984-77babf5f7dcf",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
-120
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "1695c93e-086e-46b0-a9c2-29ff4aa0621c",
"name": "Updated News",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-120,
760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8e40dd04-eb9c-41dd-bbe7-4e1bc8b794bf",
"name": "Filter Approved",
"type": "n8n-nodes-base.filter",
"position": [
100,
760
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "9f1fb6ca-c6e9-4328-8039-5aafeb9c8b95",
"name": "Max 20",
"type": "n8n-nodes-base.limit",
"position": [
320,
760
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8bbe2d6b-def0-4afa-91f9-b4c2e5dab0e5",
"name": "Get Post Timings",
"type": "n8n-nodes-base.code",
"position": [
540,
760
],
"parameters": {},
"typeVersion": 2
},
{
"id": "bde62053-2b0b-461f-b916-5f4a3f99b95f",
"name": "Loop Approved Posts",
"type": "n8n-nodes-base.splitInBatches",
"position": [
760,
760
],
"parameters": {},
"typeVersion": 3
},
{
"id": "9fb8cbec-5177-4955-8528-d2a3a7c30a25",
"name": "Wait for Posting",
"type": "n8n-nodes-base.wait",
"position": [
980,
780
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "95892a34-8a23-481d-92eb-5b740499e01c",
"name": "Download Image",
"type": "n8n-nodes-base.httpRequest",
"position": [
780,
1020
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "dd58e9b3-b459-4d9c-8fda-7ea267ac4445",
"name": "Post LinkedIn",
"type": "n8n-nodes-base.linkedIn",
"position": [
980,
1020
],
"parameters": {},
"typeVersion": 1
},
{
"id": "63b8bfb0-4033-42a2-af94-ebfe229d9095",
"name": "Set Posting",
"type": "n8n-nodes-base.googleSheets",
"position": [
1180,
780
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "e3914bad-12f2-4818-9c42-c0efc73c4aa8",
"name": "Set Posted",
"type": "n8n-nodes-base.googleSheets",
"position": [
1180,
1020
],
"parameters": {},
"typeVersion": 4.6
},
{
"id": "a8214800-8601-4ed4-adca-e633c23e55c3",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-220,
600
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "2027cc2a-7654-4c25-a92c-e232e65e51e2",
"name": "Update User",
"type": "n8n-nodes-base.telegram",
"position": [
1100,
620
],
"parameters": {},
"typeVersion": 1.2
}
],
"active": true,
"settings": {
"executionOrder": "v1"
},
"versionId": "ad0a0ee6-05a6-4a42-ac8b-e2bb533ec2e2",
"connections": {
"4.1": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Wait": {
"main": [
[
{
"node": "Save New Tweet",
"type": "main",
"index": 0
}
]
]
},
"Limit": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Wait1": {
"main": [
[
{
"node": "Google Sheets1",
"type": "main",
"index": 0
}
]
]
},
"Max 20": {
"main": [
[
{
"node": "Get Post Timings",
"type": "main",
"index": 0
}
]
]
},
"Switch": {
"main": [
[
{
"node": "Wait",
"type": "main",
"index": 0
}
],
[
{
"node": "Already Exists, Ignore",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "Loop Posts",
"type": "main",
"index": 0
}
]
]
},
"6AM Daily": {
"main": [
[
{
"node": "Google Sheets",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Telegram",
"type": "main",
"index": 0
}
]
]
},
"Loop Posts": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait1",
"type": "main",
"index": 0
}
]
]
},
"Set Posted": {
"main": [
[
{
"node": "Loop Approved Posts",
"type": "main",
"index": 0
}
]
]
},
"Loop Tweets": {
"main": [
[
{
"node": "All Done, End",
"type": "main",
"index": 0
}
],
[
{
"node": "Find Existing Tweet",
"type": "main",
"index": 0
}
]
]
},
"Set Posting": {
"main": [
[
{
"node": "Download Image",
"type": "main",
"index": 0
}
]
]
},
"5AM Everyday": {
"main": [
[
{
"node": "Get AI Tweets",
"type": "main",
"index": 0
}
]
]
},
"Clean Tweets": {
"main": [
[
{
"node": "Loop Tweets",
"type": "main",
"index": 0
}
]
]
},
"Updated News": {
"main": [
[
{
"node": "Filter Approved",
"type": "main",
"index": 0
}
]
]
},
"Get AI Tweets": {
"main": [
[
{
"node": "Clean Tweets",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets": {
"main": [
[
{
"node": "Limit",
"type": "main",
"index": 0
}
]
]
},
"Post LinkedIn": {
"main": [
[
{
"node": "Set Posted",
"type": "main",
"index": 0
}
]
]
},
"Download Image": {
"main": [
[
{
"node": "Post LinkedIn",
"type": "main",
"index": 0
}
]
]
},
"Google Sheets1": {
"main": [
[
{
"node": "Loop Posts",
"type": "main",
"index": 0
}
]
]
},
"Save New Tweet": {
"main": [
[
{
"node": "Loop Tweets",
"type": "main",
"index": 0
}
]
]
},
"Filter Approved": {
"main": [
[
{
"node": "Max 20",
"type": "main",
"index": 0
}
]
]
},
"Get Post Timings": {
"main": [
[
{
"node": "Loop Approved Posts",
"type": "main",
"index": 0
}
]
]
},
"Wait for Posting": {
"main": [
[
{
"node": "Set Posting",
"type": "main",
"index": 0
}
]
]
},
"Find Existing Tweet": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Loop Approved Posts": {
"main": [
[
{
"node": "Update User",
"type": "main",
"index": 0
}
],
[
{
"node": "Wait for Posting",
"type": "main",
"index": 0
}
]
]
},
"Already Exists, Ignore": {
"main": [
[
{
"node": "Loop Tweets",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "AI Agent",
"type": "ai_outputParser",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
How it works Automates daily LinkedIn post creation from trending AI tweets. Fetches latest tweets, processes content, checks for duplicates, converts to LinkedIn-ready format, schedules, and posts automatically.
Source: https://n8n.io/workflows/4487/ — 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 workflow transforms scattered Reddit discussions into a systematic lead generation machine by discovering actual marketing problems businesses face and automatically converting them into authorit
AI Posts Content Machine. Uses agent, stickyNote, outputParserStructured, lmChatAnthropic. Scheduled trigger; 28 nodes.
How it works
Instead of manually writing, designing, and posting content, this workflow turns a single Google Sheet row into multi-platform posts plus a custom AI image that matches your message.
This workflow is built for creators, solopreneurs, SaaS founders, and agencies looking to automate their social media content process from idea to publication. It combines the power of OpenAI, Google