LinkedIn to Airtable, qualified leads and DMs ready
Your LinkedIn posts get comments and likes, and then… the trail goes cold. Names are scattered across notifications, screenshots, saved tabs, and “I’ll message them later” reminders that never happen.
This LinkedIn Airtable leads automation hits growth marketers first, honestly. But agency owners and founders feel the same pain when a good post becomes a messy follow-up sprint. The outcome is simple: leads captured automatically, qualified consistently, and DM drafts ready when you are.
You’ll see how the workflow turns one LinkedIn post URL into an Airtable pipeline, with AI qualification and outreach steps that keep you moving without living in your inbox.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: LinkedIn to Airtable, qualified leads and DMs ready
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n33@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n34@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Not Connected", pos: "b", h: 48 }
n35@{ icon: "mdi:swap-horizontal", form: "rounded", label: "IfPending", pos: "b", h: 48 }
n36["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Not Con.."]
n37["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Pending"]
n38["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Connected"]
n39@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Not Qualified", pos: "b", h: 48 }
n40@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Only Allow Not Checked", pos: "b", h: 48 }
n41["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Check Connection Status"]
n42@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Not Checked Lead", pos: "b", h: 48 }
n43@{ icon: "mdi:cog", form: "rounded", label: "Update Status About Connecti..", pos: "b", h: 48 }
n44@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Allow Only Not Connected Sta..", pos: "b", h: 48 }
n45@{ icon: "mdi:cog", form: "rounded", label: "Limit Lead Flow - Profile Re..", pos: "b", h: 48 }
n46@{ icon: "mdi:cog", form: "rounded", label: "Limit Lead Flow - Connection..", pos: "b", h: 48 }
n47["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send Connection Request"]
n48@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Invitation Sent", pos: "b", h: 48 }
n49["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Connect.."]
n50@{ icon: "mdi:cog", form: "rounded", label: "Connection Request Failed", pos: "b", h: 48 }
n51@{ icon: "mdi:cog", form: "rounded", label: "Update Status Connection Bat..", pos: "b", h: 48 }
n52@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Allow Only Connected Lead", pos: "b", h: 48 }
n53@{ icon: "mdi:cog", form: "rounded", label: "Limit DM To Send", pos: "b", h: 48 }
n54@{ icon: "mdi:swap-vertical", form: "rounded", label: "Lead Data - DM Personalization", pos: "b", h: 48 }
n55["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Send DM Message"]
n56@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If ChatStarted", pos: "b", h: 48 }
n57["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - DM Sent"]
n58@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Lead To DM", pos: "b", h: 48 }
n59@{ icon: "mdi:cog", form: "rounded", label: "Update Status of DM Message ..", pos: "b", h: 48 }
n60@{ icon: "mdi:cog", form: "rounded", label: "Send Message Failed", pos: "b", h: 48 }
n61@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n62["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Search Active Campaign Status"]
n63@{ icon: "mdi:swap-vertical", form: "rounded", label: "Campaign Operation Data", pos: "b", h: 48 }
n64["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Time Slot Matching Code"]
n65@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Matching is True", pos: "b", h: 48 }
n66["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Merge - But Only One can Be .."]
n67["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record - LinkedIn D.."]
n68@{ icon: "mdi:swap-vertical", form: "rounded", label: "Increment Count Active Campa..", pos: "b", h: 48 }
n69["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Create or update Active Camp.."]
n70["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Search LinkedIn Campaign Cou.."]
n71@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Active LinkedIn Campaign..", pos: "b", h: 48 }
n72@{ icon: "mdi:cog", form: "rounded", label: "Aggregate All Active Record ..", pos: "b", h: 48 }
n73["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Create or update LinkedIn Ca.."]
n74@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out Active Campaign", pos: "b", h: 48 }
n75@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Active Campaign Data", pos: "b", h: 48 }
n81@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Lead Data - Active Campa..", pos: "b", h: 48 }
n82@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out Lead - Active Camp..", pos: "b", h: 48 }
n83["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record - Campaign O.."]
n84@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Lead - Send Connec..", pos: "b", h: 48 }
n85["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Reset Number Active Campaign"]
n86@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Active Campaign Record ID", pos: "b", h: 48 }
n87@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Current Timer Slot Match ..", pos: "b", h: 48 }
n88@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Corresponding Timer Slot ..", pos: "b", h: 48 }
n89["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Change Next Current Timer to.."]
n90@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Corresponding Timer Slot ..", pos: "b", h: 48 }
n91@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Corresponding Timer Slot ..", pos: "b", h: 48 }
n92["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Change Next Current Timer to.."]
n93["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Change Next Current Timer to.."]
n94@{ icon: "mdi:cog", form: "rounded", label: "Limit one Item to Update Cur..", pos: "b", h: 48 }
n95@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Only Pending Status", pos: "b", h: 48 }
n96@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Pending Lead", pos: "b", h: 48 }
n97["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Check Connection Status - Pe.."]
n98@{ icon: "mdi:swap-vertical", form: "rounded", label: "Pending Lead Data", pos: "b", h: 48 }
n99@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Connected - Pending", pos: "b", h: 48 }
n100["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Pending Lead Record -.."]
n101@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Not Qualified - Pending", pos: "b", h: 48 }
n102@{ icon: "mdi:cog", form: "rounded", label: "Update Status About Pending", pos: "b", h: 48 }
n103@{ icon: "mdi:cog", form: "rounded", label: "Limit Lead Flow - Profile Re..", pos: "b", h: 48 }
n104@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Awaiting?", pos: "b", h: 48 }
n105@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Active Campaigns -..", pos: "b", h: 48 }
n106@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Active Campaigns1", pos: "b", h: 48 }
n107["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Active Campaign Record I.."]
n108@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over One Active Campaign", pos: "b", h: 48 }
n109@{ icon: "mdi:cog", form: "rounded", label: "Loop Over Active Campaign Co..", pos: "b", h: 48 }
n110["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record - Campaign O.."]
n111["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record - Campaign O.."]
n112["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record - Campaign O.."]
n123@{ icon: "mdi:cog", form: "rounded", label: "Random Wait Time", pos: "b", h: 48 }
n35 --> n37
n35 --> n96
n33 --> n34
n104 --> n53
n104 --> n108
n56 --> n57
n56 --> n60
n55 --> n56
n34 --> n38
n34 --> n36
n53 --> n58
n123 --> n84
n61 --> n62
n98 --> n99
n48 --> n49
n48 --> n50
n65 --> n87
n65 --> n106
n60 --> n58
n39 --> n40
n58 --> n59
n58 --> n54
n99 --> n100
n99 --> n35
n96 --> n102
n96 --> n97
n40 --> n45
n63 --> n64
n41 --> n33
n47 --> n48
n47 --> n123
n64 --> n65
n75 --> n108
n52 --> n104
n50 --> n84
n74 --> n106
n95 --> n103
n42 --> n43
n42 --> n41
n106 --> n109
n106 --> n107
n102 --> n66
n85 --> n86
n57 --> n58
n37 --> n96
n86 --> n105
n108 --> n94
n108 --> n67
n62 --> n85
n101 --> n95
n54 --> n55
n38 --> n42
n44 --> n46
n81 --> n82
n68 --> n69
n66 --> n108
n82 --> n83
n82 --> n111
n82 --> n112
n82 --> n110
n59 --> n66
n97 --> n98
n45 --> n42
n36 --> n42
n51 --> n66
n72 --> n73
n83 --> n44
n110 --> n52
n111 --> n101
n112 --> n39
n105 --> n71
n105 --> n70
n70 --> n68
n71 --> n72
n67 --> n81
n100 --> n96
n49 --> n84
n84 --> n51
n84 --> n47
n93 --> n106
n89 --> n106
n92 --> n106
n46 --> n84
n88 --> n89
n88 --> n90
n90 --> n92
n90 --> n91
n91 --> n93
n91 --> n106
n94 --> n88
n43 --> n66
n73 --> n74
n103 --> n96
n69 --> n105
n87 --> n75
n87 --> n106
n107 --> n63
end
subgraph sg1["Business Summary Wri Flow"]
direction LR
n0@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Switch", pos: "b", h: 48 }
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Webhook"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Agency Record Data"]
n3["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Scrape my Website"]
n4@{ icon: "mdi:robot", form: "rounded", label: "Business Summary Writer", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Agency Business Data", pos: "b", h: 48 }
n6["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Agency Business Record"]
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead List Record - Apify.."]
n8["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Scrape LinkedIn Post"]
n9@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Post Information", pos: "b", h: 48 }
n10["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Loop for More Comments"]
n11["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Scrape LinkedIn Comments"]
n12@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Filter Author Comments Out", pos: "b", h: 48 }
n13@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Lead LinkedIn Profile URL", pos: "b", h: 48 }
n14["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Scraping LinkedIn Profile"]
n15@{ icon: "mdi:cog", form: "rounded", label: "Limit Profile Scraping", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Lead Scraped Data", pos: "b", h: 48 }
n17["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Create Lead Record - Scraper"]
n18@{ icon: "mdi:cog", form: "rounded", label: "Limit Items for Lead List ta..", pos: "b", h: 48 }
n19["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead List table Recor.."]
n20["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead List Record Data - .."]
n21@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Leads Data - Qualification", pos: "b", h: 48 }
n22@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out Leads for Qualific..", pos: "b", h: 48 }
n23["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record Data - Quali.."]
n24@{ icon: "mdi:swap-vertical", form: "rounded", label: "Lead Data - Qualification", pos: "b", h: 48 }
n25@{ icon: "mdi:robot", form: "rounded", label: "Lead Qualifier", pos: "b", h: 48 }
n26@{ icon: "mdi:swap-vertical", form: "rounded", label: "Qualification Result", pos: "b", h: 48 }
n27@{ icon: "mdi:swap-horizontal", form: "rounded", label: "If Qualified?", pos: "b", h: 48 }
n28["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Qualifi.."]
n29["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Qualifi.."]
n30["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/merge.svg' width='40' height='40' /></div><br/>Merge"]
n31@{ icon: "mdi:cog", form: "rounded", label: "Limit one Item for Lead List..", pos: "b", h: 48 }
n32["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead List Record - Qu.."]
n76@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Comments Page", pos: "b", h: 48 }
n77@{ icon: "mdi:cog", form: "rounded", label: "Page Limit for Demo", pos: "b", h: 48 }
n78@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over LinkedIn Profile", pos: "b", h: 48 }
n79@{ icon: "mdi:cog", form: "rounded", label: "Wait 1s", pos: "b", h: 48 }
n80@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Post URL Data", pos: "b", h: 48 }
n113["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead List Record Data - .."]
n114@{ icon: "mdi:swap-vertical", form: "rounded", label: "Get Leads Data - Personaliza..", pos: "b", h: 48 }
n115@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out Leads for Personal..", pos: "b", h: 48 }
n116["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Get Lead Record Data - Perso.."]
n117@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Only Qualified", pos: "b", h: 48 }
n118@{ icon: "mdi:robot", form: "rounded", label: "Personalized DM Message Writ..", pos: "b", h: 48 }
n119@{ icon: "mdi:swap-vertical", form: "rounded", label: "Lead Data - Message Personal..", pos: "b", h: 48 }
n120["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead Record - Persona.."]
n121@{ icon: "mdi:cog", form: "rounded", label: "Limit-Personalized", pos: "b", h: 48 }
n122["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/airtable.svg' width='40' height='40' /></div><br/>Update Lead List Record - Pe.."]
n30 --> n31
n0 --> n2
n0 --> n7
n0 --> n20
n0 --> n113
n79 --> n16
n1 --> n0
n27 --> n28
n27 --> n29
n25 --> n26
n117 --> n119
n80 --> n8
n3 --> n4
n121 --> n122
n77 --> n76
n5 --> n6
n9 --> n10
n26 --> n27
n8 --> n9
n16 --> n17
n2 --> n3
n15 --> n78
n10 --> n77
n4 --> n5
n76 --> n18
n76 --> n11
n11 --> n12
n24 --> n25
n14 --> n79
n12 --> n13
n78 --> n76
n78 --> n14
n17 --> n78
n13 --> n15
n21 --> n22
n118 --> n120
n114 --> n115
n119 --> n118
n31 --> n32
n7 --> n80
n23 --> n24
n116 --> n117
n18 --> n19
n20 --> n21
n22 --> n23
n120 --> n121
n113 --> n114
n115 --> n116
n28 --> n30
n29 --> n30
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n61 trigger
class n4,n25,n118 ai
class n34,n35,n39,n40,n44,n48,n52,n56,n65,n87,n88,n90,n91,n95,n99,n101,n104,n0,n12,n27,n117 decision
class n36,n37,n38,n49,n57,n62,n67,n69,n70,n73,n83,n85,n89,n92,n93,n100,n107,n110,n111,n112,n2,n6,n7,n17,n19,n20,n23,n28,n29,n32,n113,n116,n120,n122 database
class n41,n47,n55,n97,n1,n3,n8,n11,n14 api
class n64,n10 code
classDef customIcon fill:none,stroke:none
class n36,n37,n38,n41,n47,n49,n55,n57,n62,n64,n66,n67,n69,n70,n73,n83,n85,n89,n92,n93,n97,n100,n107,n110,n111,n112,n1,n2,n3,n6,n7,n8,n10,n11,n14,n17,n19,n20,n23,n28,n29,n30,n32,n113,n116,n120,n122 customIcon
Why This Matters: Turning Engagement Into Actual Leads
LinkedIn engagement feels like momentum, until you try to operationalize it. A post does well, you get a wave of commenters and likers, and now you have to decide who’s relevant, find their profile, check what they do, and craft a message that doesn’t sound copy-pasted. Do it manually and you’ll burn an hour on the “admin” before you even send one DM. Wait too long and the conversation cools off, which means you end up chasing people who were warm yesterday.
The friction compounds. Here’s where it breaks down.
- You lose high-intent leads because you can’t reliably capture everyone who engaged with a post.
- Manual qualification turns into gut-feel decisions, and your follow-ups become inconsistent across the team.
- Connection limits and timing rules get ignored, so outreach becomes risky or just stops altogether.
- You keep rewriting the same “first message,” which is exhausting and still doesn’t feel personal enough.
What You’ll Build: LinkedIn Engagement → Airtable Lead Engine
This workflow gives you a repeatable way to turn a LinkedIn post into a live lead list you can actually work. You start by submitting a LinkedIn post URL (through an n8n webhook). From there, the automation pulls engagement data via API calls (commenters, likers, and basic profile details), then creates or updates lead records in Airtable so nothing gets lost. Next, an AI step reviews each lead and assigns a qualification status you can filter on inside Airtable, which keeps your outreach focused on the people most likely to convert. Finally, it supports the outreach sequence: checking connection status, sending connection requests within safe daily limits, and drafting (or sending) personalized DMs when someone accepts.
The workflow begins with one actionable input: a post URL. It then scrapes and enriches lead profiles, routes them through an AI qualification pass, and updates Airtable statuses so your pipeline always reflects reality. When a lead is connected, the workflow prepares a personalized DM draft and can send it through the same API layer.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say a post gets 80 comments and you want to follow up with everyone relevant. Manually, even a quick workflow is about 2 minutes to open a profile, 2 minutes to capture details, and another 2 minutes to draft a first DM. That’s roughly 6 minutes per lead, or about 8 hours for 80 people. With this automation: you paste the post URL (about 1 minute), wait for scraping and AI qualification to run (often under an hour in the background), and then you spend your time only on “Qualified” leads with DM drafts already waiting in Airtable.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Airtable for lead list, statuses, and campaigns.
- Unipile to access LinkedIn scraping and messaging APIs.
- OpenAI API key (get it from your OpenAI API dashboard)
Skill level: Intermediate. You’ll be connecting accounts, pasting API keys, and reviewing a few Airtable field mappings.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A post URL triggers the run. An incoming webhook kicks things off, then a route selector decides which path to run (scrape, qualify, personalize, or campaign send) based on the data you pass in.
Engagement gets collected and cleaned up. HTTP requests pull post details and comment pages, filters remove the author’s own comments, and the workflow derives profile URLs so each engager becomes a trackable lead.
Leads are enriched, qualified, and queued. Profile fetch calls fill in key attributes, then AI reviews the lead context and writes back a qualification result. Airtable gets updated immediately so you can filter by “Qualified,” “Not qualified,” “Unchecked,” “Pending,” and “Connected.”
Outreach runs with limits and status checks. The workflow checks connection status, sends connection requests in controlled batches, waits where needed, and only sends DMs when a chat is available. Every action updates Airtable so you always know what happened.
You can easily modify the qualification criteria and DM templates to match your offer and voice. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
Set up the inbound entry point so external systems can invoke the workflow and route the request to the correct processing path.
- Add and configure Incoming Webhook Trigger to accept incoming payloads for lead processing.
- Connect Incoming Webhook Trigger to Route Selector so routing determines which branch to execute.
- In Route Selector, define cases that direct to Fetch Agency Record, Retrieve Lead List (Scraper), Fetch Lead List for Qualify, and Fetch Lead List Personalize.
Step 2: Connect Airtable Data Sources and Updates
This workflow relies heavily on Airtable for campaign, agency, lead, and status data. Connect Airtable credentials and confirm table/base mappings for all Airtable nodes.
- Open any Airtable node such as Fetch Agency Record and connect credentials. Credential Required: Connect your Airtable credentials.
- Apply the same Airtable credential to all Airtable nodes (34+ nodes handle agency data, lead records, campaign counts, timers, and status updates).
- Confirm update nodes like Update Agency Record, Update Lead Qualified, Update Lead Not Qualified, Update Lead Personalized Msg, and Update Lead List Status point to the correct bases/tables.
- Review status update flows: Update Lead Pending, Update Lead Connected, Update Lead Not Connected, and Update Pending Connected to ensure fields match your Airtable schema.
Step 3: Set Up Lead Scraping and Profile Enrichment
Configure the LinkedIn scraping and enrichment path used when the workflow pulls new leads from a list and scrapes post comments and profiles.
- Ensure Retrieve Lead List (Scraper) feeds Prepare Post URL Data and then LinkedIn Post Scrape as shown in the flow.
- Connect the post parsing chain: LinkedIn Post Scrape → Extract Post Details → Iterate Comment Pages → Demo Page Limit → Batch Comment Pages.
- Connect comment scraping: Batch Comment Pages → LinkedIn Comment Scrape → Exclude Author Comments → Derive Lead Profile URL.
- Set rate limits and batching with Cap Profile Scrapes, Batch Profile Scrapes, and Pause 1 Second before Map Scraped Lead Data and Create Lead Record (Scrape).
- Review Limit Lead List Update → Update Lead List Status to cap and mark processed lead lists.
Step 4: Configure Qualification AI Review
The qualification chain uses AI to evaluate leads and update their status in Airtable.
- Verify the lead flow: Fetch Lead List for Qualify → Prepare Leads for Qualify → Split Leads for Qualify → Fetch Lead Record Qualify → Lead Data for Qualify.
- Configure Qualification AI Review to score or classify leads, then pass results to Qualification Output.
- Ensure Qualification Output flows to Qualified Decision, then to Update Lead Qualified or Update Lead Not Qualified, which merge via Combine Qualification Paths and update Update Lead List Qualify.
Step 5: Build the Personalization and DM Generation Path
This path selects qualified leads, generates personalized messages, and stores them before sending DMs.
- Confirm the personalization flow: Fetch Lead List Personalize → Prepare Leads Personalize → Split Leads for Personalize → Fetch Lead Record Personalize → Filter Qualified Only.
- Map personalization input in Map Message Personalization and feed it into Generate Personalized DM.
- Save AI output through Update Lead Personalized Msg → Limit Personalized Batch → Update Lead List Personalized.
Step 6: Configure Connection Request and DM Dispatching
Set up the connection and message delivery logic with filters, limits, batching, and status updates.
- Ensure the connection checks are wired: Batch Unchecked Leads → Query Connection Status → Adjust Field Values → Connection Check Branch.
- Handle pending connections via Batch Pending Leads → Check Pending Connection → Map Pending Lead Data → Pending Connected? → Update Pending Connected or Update Lead Pending.
- Set connection request sending: Filter Not Connected Only → Limit Connection Requests → Batch Leads for Requests → Dispatch Connection Request → Invitation Sent? → Mark Connection Pending or Request Failed Notice.
- Configure DM sending: Filter Connected Leads → Awaiting Decision? → Limit DM Sends → Batch Leads for DM → Prepare DM Personalization → Send Direct Message → Chat Started? → Mark DM Sent or DM Failure Notice.
Step 7: Configure Campaign Scheduling and Slot Routing
Set up the scheduled campaign engine that controls when outreach runs and how active campaign slots are rotated.
- Configure Scheduled Automation Trigger to run at your preferred cadence and connect it to Lookup Active Campaigns.
- Ensure campaign count management flows through Reset Active Campaign Count → Fetch Campaign Record ID → Batch Campaigns for Count → Get Active Campaign ID → Aggregate Active Records → Upsert Campaign Record ID.
- Connect time slot matching: Fetch Campaign ID for Slot → Campaign Ops Data → Time Slot Matching Script → Matching Slot? → Current Slot Match? → Extract Campaign Data → Process Single Campaign.
- Verify timer rotation: Limit Timer Slot Update → Is Timer 1 Slot? → Is Timer 2 Slot? → Is Timer 3 Slot? → Set Next Slot Timer 1/Set Next Slot Timer 2/Set Next Slot Timer 3.
Step 8: Confirm Parallel Branch Processing
Some parts of the workflow execute in parallel to speed up campaign lookups and lead status checks.
- Verify that Split Lead Campaign Items outputs to Fetch Lead Campaign Record, Fetch Lead Record Pending, Fetch Lead Record Unchecked, and Fetch Lead Record Connected in parallel.
- Ensure each parallel branch feeds its respective filters: Fetch Lead Record Pending → Filter Unqualified Pending, Fetch Lead Record Unchecked → Filter Unqualified, and Fetch Lead Record Connected → Filter Connected Leads.
Step 9: Finalize Waits, Limits, and No-Op Placeholders
Use wait, limit, and no-op nodes to control pacing and keep the workflow maintainable.
- Confirm pacing is handled by Pause 1 Second and Randomized Wait to reduce rate-limit issues.
- Review limit nodes like Limit Lead List Update, Limit Lead List Single, Limit Profile Retrieval, and Limit DM Sends to match your outreach volume.
- Keep no-op nodes (Flag Connection Check Status, Flag Pending Status, Campaign Loop Complete, Request Failed Notice, DM Failure Notice) as logging or future extension points.
Step 10: Test & Activate Your Workflow
Validate execution end-to-end before enabling the workflow in production.
- Click Execute Workflow and send a test payload to Incoming Webhook Trigger to verify Route Selector executes the intended branch.
- Run the scheduled path by manually executing Scheduled Automation Trigger to ensure campaign slots and counts update correctly.
- Confirm successful runs update Airtable records via nodes like Update Lead List Status, Update Lead Qualified, Update Lead Personalized Msg, and Update Lead Pending.
- Once validated, toggle the workflow to Active to enable production automation.
Troubleshooting Tips
- Airtable credentials can expire or need specific permissions. If things break, check your Airtable personal access token scopes and the base/table access first.
- If you’re using Wait nodes or external processing (like scraping and profile fetches), timing varies. Bump up the wait duration if downstream steps fail because a response hasn’t arrived yet.
- Default prompts in the AI nodes are generic. Add your brand voice and your “who we help” context early, or you will be rewriting DM drafts over and over.
Quick Answers
About 30 minutes if your Airtable base and Unipile account are ready.
No. You’ll mainly connect accounts and confirm field mappings in Airtable.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API costs (often a few cents per batch of leads) and your Unipile subscription.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and you probably should. You can adjust the qualification logic by changing the prompt in the “Qualification AI Review” node, and you can swap the messaging style in the “Generate Personalized DM” node. Common customizations include filtering out certain job titles, prioritizing specific industries, and writing different DM templates for commenters vs. likers.
Most of the time it’s an expired token or the wrong workspace/project credentials. Regenerate the Unipile API key and update the HTTP Request nodes that call LinkedIn scrape, connection checks, and DM send endpoints. Also check that your Unipile LinkedIn account session is healthy, because a disconnected session can look like an API error. If you’re running big batches, rate limits can kick in, so lowering batch sizes and adding a longer wait usually stabilizes it.
On n8n Cloud Starter, you can usually handle a few thousand executions per month, which is enough for many small outreach motions. If you self-host, there’s no execution limit (it depends on your server). In practical terms, LinkedIn scraping and profile fetches are the bottleneck, not n8n itself, so expect larger posts to process over time rather than instantly. Most teams run this a few times a week per campaign and stay within limits.
Usually, yes for this use case. This workflow has branching, batching, wait timing, and status loops (like “check pending connection, then try again later”), and those patterns get expensive or awkward in Zapier. n8n also lets you self-host, which matters if you’re processing lots of leads from multiple posts. If you only want a simple “new row → send one message” style automation, Zapier or Make can be quicker. But if you want a real lead engine that keeps state in Airtable and respects outreach limits, n8n is a better fit. Talk to an automation expert if you want help choosing.
Once this is running, your best LinkedIn posts don’t just get likes. They quietly build a qualified pipeline in Airtable, with outreach drafts waiting for you.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.