by Erfan Mostafiz
This n8n workflow scrapes LinkedIn data for your leads, feeds it into a GPT-4 AI agent, and generates laser-targeted, personalized icebreakers you can drop into your cold email campaigns. It automates the personalization process at scale — saving you hours of research while sounding human and thoughtful. Step-by-Step Setup (Beginner Friendly) Step 1: Prepare Your Leads (Input Sheet) Get your lead list based on your industry and niche from Apollo (free) Copy the entire link Go to Apify and use this Apollo Scraper to scrape the leads. Download the result as CSV and upload the CSV to Google Sheets Add a column at the end of the Sheet. Name this column as "status". Mark the entire column (every row) as "un-enriched" (this is important) Connect your Google Sheets account to n8n The workflow will pull leads from this sheet where status = un-enriched Step 2: Set Your Credentials Google Sheets: Connect your account to n8n using OAuth2 OpenAI: Add your OpenAI API credentials Apify: Visit Apify Console to get your Apify API key Use this Apify LinkedIn Profile Scraper and copy the actorID --> get it from the URL : https://console.apify.com/:actorID/input Paste both Apify API Key and ActorID into the “Set Apify Tokens” node Step 3: Customize the AI Agent In the node “Generate Personalized Icebreaker”, adjust the system prompt. Update it with your own niche, offer, tone, and insights Keep the JSON output format exactly as shown. The rest of the workflow depends on it Step 4: Run the Workflow Click "Execute Workflow" The system will: -- Pull all unenriched leads -- Filter out entries without email -- Scrape LinkedIn profiles using Apify -- Use GPT-4 to write a short, personalized icebreaker -- Save the result to a separate “Enriched” sheet -- Mark those leads as “enriched” in your original sheet How It Works Behind the Scenes Manual Trigger starts the workflow Get Raw Leads from a Google Sheet (filter = un-enriched) Filter for Valid Emails (hasEmail?) Loop Over Leads Set Apify API credentials Call Apify’s LinkedIn Scraper using each lead's LinkedIn URL Aggregate the scraped data Simplify fields for AI prompt Call OpenAI GPT-4.1 Mini with structured, data-rich prompt to generate icebreaker Append results to Enriched Sheet Update original list’s status to prevent reprocessing Loop continues to the next lead Best Practices for Successful Use Clean your leads: Remove unnecessary columns from your Google Sheet raw lead list Throttle large batches: The Apify actor and OpenAI calls may hit rate limits. Process in small batches. Customize prompt deeply: The better your AI instructions, the more believable your icebreakers will sound. Use shortened company names and local slang: The system prompt already does this — keep it. Avoid fluff: Keep the tone Spartan, specific, and real. Ideal Use Cases Cold email campaigns for SMB SaaS, agency offers, B2B sales Personalized intros for LinkedIn DMs Data enrichment for lead gen automation Integrating with tools like Instantly.ai, Smartlead, or Mailshake Demo Link Watch the full walkthrough and see it in action: 👉 Watch me build this LIVE on YouTube
by Automate With Marc
🎥 Auto-Caption & Autopost Videos to Instagram & TikTok Description Automate your short-form content pipeline! This workflow takes any video uploaded to a specific Google Drive folder, generates engaging captions with Submagic, and then auto-posts the finished video (with AI-generated captions) directly to Instagram or TikTok via Postiz. Captions are further refined with OpenAI for brand-ready social text. Finally, each published video is logged into a Google Sheet for tracking. 👉 Watch step-by-step build of this workflow on: www.youtube.com/@automatewithmarc How It Works Google Drive Trigger – Detects new video uploads. Submagic API – Adds styled captions automatically. Wait + Poll – Monitors job status until the captioned video is ready. Download Video – Retrieves the finished captioned video. Upload to Postiz – Sends the file to Postiz for multi-platform posting. Caption Agent (OpenAI) – Generates optimized Instagram/TikTok captions. Post to Instagram/TikTok – Publishes the video with caption. Update Log – Saves video details, captions, and status into Google Sheets. Why You’ll Love It ⚡ Hands-off publishing — videos go from raw to posted automatically. 📝 AI captions + Submagic styling — engaging text and visual consistency. 📊 Content tracking — every post logged in Google Sheets. 🎯 Perfect for Reels & TikToks — optimized for fast workflows and social reach. Requirements Google Drive account Submagic API key Postiz account (for IG/TikTok posting) OpenAI API key (for caption generation) Google Sheets account
by Lorena
This workflow synchronizes files one-way from Google Drive to AWS S3. Google Drive Trigger node** triggers the workflow when a new file is added to the drive. AWS S3 node** gets all files stored in an S3 bucket. Merge node** merges the files from Google Drive and AWS S3 by key (file name) and keeps only the new file. AWS S3 node** uploads the new file in the S3 bucket.
by Harshil Agrawal
This workflow allows you to create an event file and send it as an attachment via email. iCalendar node: This node will create an event file. Send Email: This node will send the event file as an attachment.
by Harshil Agrawal
This workflow allows you to create an affiliate, add metadata, and add the affiliate to a program. Tapfiliate node: This node allows you to create a new affiliate in Tapfiliate. Tapfiliate1 node: This node allows you add metadata to the affiliate that you created previously. Based on your use-case, you may or may not require this node. Tapfiliate2 node: This node allows you to add the affiliate that you created previously to a program. Based on your use-case, you might want to replace the Start node with a trigger node that gets you the information of an affiliate.
by Pauline
This workflow allows you to transform a meeting booking into Notion's task in order to centralize all of your activity. Calendly trigger**: This node triggers the workflow when a new event gets scheduled. Dropcontact**: This node will find the verified email of the contact and enrich it to be able to contact him Notion**: This node will create a new task in Notion using the information from the previous node.
by Jonathan
This workflow uses a WooCommerce trigger that will run when a new customer has been added, It will then add the customer to Mautic. To use this workflow you will need to set the credentials to use for the WooCommerce and Mautic nodes.
by Jonathan
This workflow uses a WooCommerce trigger that will run when an order has been updated and the status is refunded. If the value of this is over 100 it will post it to a Slack channel. To use this workflow you will need to set the credentials to use for the WooCommerce and Slack nodes, You will also need to pick a channel to post the message to.
by Jan Oberhauser
Triggers workflow all two minutes Reads data from a Google Spreadsheet (in example Sheet Data columns A to G) Write the data unchanged in two different Spreadsheets with same Sheet name and columns, expressions are optional)
by mike
The “Write Binary File” expects binary data. The JSON data is, however, JSON ;) There should really be a node that allows moving data around between both of them. For now, it can be done with a Function-Node. At least till a proper one is in place. The first node is example data, wich you can customize or replace. The second node named “Make Binary” is the important one with the custom code which makes the data binary and writes it to the correct location.
by n8n Team
Who this is for Every who's interested in seeing how merging items works in n8n What this workflow does This workflow generates two sets of sample data: one with names and corresponding languages, and another with greetings and corresponding languages using the Code node. It then merges these two datasets using the Merge node based on the common “language” field, combining all entries that share the same language.
by Harshil Agrawal
This workflow allows you to send daily weather updates via an SMS message using the Plivo node. Cron node: The Cron node will trigger the workflow daily at 9 AM. OpenWeatherMap node: This node will return data about the current weather in Berlin. To get the weather updates for your city, you can enter the name of your city instead. Plivo node: This node will send an SMS with the weather update, which was sent by the previous node.