{ "id": "ift5iHQG9G2lzJzP", "meta": { "instanceId": "workflow-2cde4ad9", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:54.556880", "updatedAt": "2025-09-29T07:07:54.556897", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Linkedin to Airtable", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "623c5cf2-0c16-47fe-8ec0-fa66e7c32576", "name": "Schedule Trigger", "type": "n8n-nodes-base.scheduleTrigger", "position": [ -980, -520 ], "parameters": { "rule": { "interval": [ {} ] } }, "typeVersion": 1.2, "notes": "This scheduleTrigger node performs automated tasks as part of the workflow." }, { "id": "f09f752b-162b-4d9d-a397-69f3ead78e45", "name": "Fetch LinkedIn Likes", "type": "n8n-nodes-base.httpRequest", "position": [ -780, -520 ], "parameters": { "url": "{{ $env.API_BASE_URL }}", "options": {}, "sendQuery": true, "sendHeaders": true, "queryParameters": { "parameters": [ { "name": "username", "value": "< YOUR LINKEDIN USERNAME >" }, { "name": "start", "value": "0" } ] }, "headerParameters": { "parameters": [ { "name": "x-rapidapi-host", "value": "linkedin-api8.p.rapidapi.com" }, { "name": "x-rapidapi-key", "value": "< YOUR RAPID API KEY >" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "f3f64d75-550e-4a32-99ea-ccea7d14694f", "name": "Split Liked Posts", "type": "n8n-nodes-base.splitOut", "position": [ -560, -520 ], "parameters": { "options": {}, "fieldToSplitOut": "data.items" }, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow." }, { "id": "40cc1e38-c564-45ac-b150-58bf2d42353d", "name": "Filter Insightful & Recent", "type": "n8n-nodes-base.filter", "position": [ -340, -520 ], "parameters": { "options": {}, "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "a1ee03bc-55c0-4e62-af66-280df7e24824", "operator": { "type": "string", "operation": "contains" }, "leftValue": "={{ $json.action }}", "rightValue": "insightful" }, { "id": "9b7fcecb-09c0-45f2-bb30-9b6ab565695c", "operator": { "type": "number", "operation": "gt" }, "leftValue": "={{ new Date($json.postedDate).getTime() }}", "rightValue": "={{ new Date().getTime() - (7 * 24 * 60 * 60 * 1000) }}" } ] } }, "typeVersion": 2.2, "notes": "This filter node performs automated tasks as part of the workflow." }, { "id": "e56f96db-7179-4c48-bf2b-a8153c5ae623", "name": "Format Content Idea", "type": "n8n-nodes-base.set", "position": [ -120, -520 ], "parameters": { "options": {}, "assignments": { "assignments": [ { "id": "93ebd033-743a-4f8c-837c-ed619d14895d", "name": "Title", "type": "string", "value": "=I just liked a linkedin post of {{ $json.author.username }}" }, { "id": "fdbde792-1dba-46e2-9c3a-2daf629151e3", "name": "description", "type": "string", "value": "={{ $json.text }}" }, { "id": "ecf9aca8-45ae-4037-8f78-06a2a7b5d076", "name": "source", "type": "string", "value": "={{ $json.postUrl }}" } ] } }, "typeVersion": 3.4, "notes": "This set node performs automated tasks as part of the workflow." }, { "id": "364eba33-3b3a-44c7-af0f-bab130ea7193", "name": "Prepare for Airtable", "type": "n8n-nodes-base.splitOut", "position": [ 100, -520 ], "parameters": { "options": {}, "fieldToSplitOut": "Title, description, source" }, "typeVersion": 1, "notes": "This splitOut node performs automated tasks as part of the workflow." }, { "id": "0f029e8e-0a82-49be-ae77-40bbb02088ab", "name": "Save to Airtable", "type": "n8n-nodes-base.airtable", "position": [ 320, -520 ], "parameters": { "base": { "__rl": true, "mode": "list", "value": "appgNpFtbtaGHM4g0", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Content Hub" }, "table": { "__rl": true, "mode": "list", "value": "tblwBVudDpOMkUGKL", "cachedResultUrl": "{{ $env.WEBHOOK_URL }}", "cachedResultName": "Ideas" }, "columns": { "value": { "Type": "Linkedin", "Title": "={{ $json.Title }}", "Source": "={{ $json.source }}", "Status": false, "Description": "={{ $json.description }}" }, "schema": [ { "id": "Title", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Title", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Description", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Description", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Main Idea", "type": "string", "display": true, "removed": true, "readOnly": false, "required": false, "displayName": "Main Idea", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Takeaways", "type": "string", "display": true, "removed": true, "readOnly": false, "required": false, "displayName": "Takeaways", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Status", "type": "boolean", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Status", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Source", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Source", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Type", "type": "options", "display": true, "options": [ { "name": "Youtube Video", "value": "Youtube Video" }, { "name": "Web Article", "value": "Web Article" }, { "name": "Own Notes", "value": "Own Notes" }, { "name": "E-Book", "value": "E-Book" }, { "name": "Twitter", "value": "Twitter" }, { "name": "Linkedin", "value": "Linkedin" } ], "removed": false, "readOnly": false, "required": false, "displayName": "Type", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Draft", "type": "string", "display": true, "removed": true, "readOnly": false, "required": false, "displayName": "Draft", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Attachment - Video", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Attachment - Video", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Attachment - Image", "type": "string", "display": true, "removed": false, "readOnly": false, "required": false, "displayName": "Attachment - Image", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Created", "type": "string", "display": true, "removed": true, "readOnly": true, "required": false, "displayName": "Created", "defaultMatch": false, "canBeUsedToMatch": true }, { "id": "Last Modified", "type": "string", "display": true, "removed": true, "readOnly": true, "required": false, "displayName": "Last Modified", "defaultMatch": false, "canBeUsedToMatch": true } ], "mappingMode": "defineBelow", "matchingColumns": [], "attemptToConvertTypes": false, "convertFieldsToString": false }, "options": {}, "operation": "create" }, "credentials": { "airtableTokenApi": { "id": "g540vJVYsNT8ZS11", "name": "Airtable Personal Access Token account" } }, "typeVersion": 2.1, "notes": "This airtable node performs automated tasks as part of the workflow." }, { "id": "afed2086-8fc3-4a94-933f-203196413182", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -780, -1000 ], "parameters": { "width": 460, "height": 180, "content": "## 📝 Description\nAutomatically turn your insightful LinkedIn post reactions into structured content ideas saved in Airtable. This workflow fetches your recent *\"insightful\"* likes, filters for posts from the last 7 days, extracts relevant content, and logs it into Airtable for future content inspiration." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "ecea99a8-dee2-40a9-aa4d-3616eecb6d73", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -780, -800 ], "parameters": { "width": 460, "height": 180, "content": "## ⚙️ What It Does\n- **Fetches** recent liked posts from LinkedIn using RapidAPI.\n- **Filters** only *insightful* reactions from the past 7 days.\n- **Structures** each post into a title, description, and source URL.\n- **Stores** the content in a custom Airtable base." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "9279261b-acfc-4b35-ad24-8a058bf07987", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -280, -1000 ], "parameters": { "width": 500, "height": 380, "content": "## 🧰 Setup Instructions\n1. Clone this template into your n8n instance.\n2. Open the `Fetch LinkedIn Likes` node and enter:\n - Your LinkedIn username.\n - Your RapidAPI key in the headers.\n3. Open the `Save to Airtable` node and:\n - Connect your Airtable account.\n - Link the correct base (`Content Hub`) and table (`Ideas`).\n4. Set your desired schedule in the `Trigger` node.\n5. Activate the workflow and you're done!\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." } ], "active": false, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "623dce6f-9c95-44e7-994e-0da1f65ab1a6", "connections": { "f09f752b-162b-4d9d-a397-69f3ead78e45": { "main": [ [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-98b4056b", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-e261a90d", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-70069927", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-c3dee66a", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-09595ede", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-bdb8a57a", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-fcc9ecfb", "type": "main", "index": 0 } ], [ { "node": "error-handler-f09f752b-162b-4d9d-a397-69f3ead78e45-f9178b8e", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Linkedin to Airtable. This workflow integrates 8 different services: filter, httpRequest, stickyNote, airtable, scheduleTrigger. It contains 12 nodes and follows best practices for error handling and security.", "notes": "Excellent quality workflow: Linkedin to Airtable. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }