by Onur
Template Description: > Never run out of high-quality LinkedIn content again. This workflow is a complete content factory that takes a simple topic from a Google Sheet, uses AI to research a trending angle, writes a full post, generates a unique and on-brand image, and publishes it directly to your LinkedIn profile. This template is designed for brands and creators who want to maintain a consistent, high-quality social media presence with minimal effort. The core feature is its ability to generate visuals that adhere to a specific, customizable brand style guide. 🚀 What does this workflow do? Pulls content ideas from a Google Sheet acting as your content calendar. Uses an AI Researcher (OpenAI + SerpAPI) to find the most recent and engaging news or trends related to your topic. Employs an AI Writer to draft a complete, professional LinkedIn post with a catchy title, engaging text, and relevant hashtags. Generates a unique, on-brand image for every post using Replicate, based on a customizable style guide (colors, composition, mood) defined within the workflow. Publishes the post with its image** directly to your LinkedIn profile. Updates the status** in your Google Sheet to "done" to avoid duplicate posts. 🎯 Who is this for? Marketing Teams:** Automate your content calendar and ensure brand consistency across all visuals. Social Media Managers:** Save hours of research, writing, and design work. Solopreneurs & Founders:** Maintain an active, professional LinkedIn presence without a dedicated content team. Content Creators:** Scale your content production and focus on strategy instead of execution. ✨ Benefits End-to-End Automation:** From a single keyword to a published post, the entire process is automated. Brand Consistency:** The AI image generator follows a strict, customizable style guide, ensuring all your visuals feel like they belong to your brand. Always Relevant Content:** The AI research step ensures your posts are based on current trends and news, increasing engagement. Massive Time Savings:** Automates research, copywriting, and graphic design in one seamless flow. Content Calendar Integration:** Easily manage your content pipeline using a simple Google Sheet. ⚙️ How it Works Get Topic: The workflow fetches the next "Pending" topic from your Google Sheet. AI Research: An AI Agent uses SerpAPI to research the topic and identify a viral angle. AI Writing: A second AI Agent takes the research and writes the full LinkedIn post. Generate Image Prompt: A Code node constructs a detailed prompt, merging the post's content with your defined brand style guide. Generate Image: The prompt is sent to Replicate. The workflow waits and checks periodically until the image is ready. Publish: The generated text and image are published to your LinkedIn account. Update Status: The workflow archives the image to Google Drive and updates the topic's status in your Google Sheet to "done". 📋 n8n Nodes Used Google Sheets Langchain Agent (with OpenAI & SerpAPI) Code HTTP Request Wait / If LinkedIn Google Drive 🔑 Prerequisites An active n8n instance. Google Account** with Sheets & Drive access (OAuth2 Credentials). OpenAI Account & API Key**. SerpAPI Account & API Key** (for the research tool). Replicate Account & API Token**. LinkedIn Account** (OAuth2 Credentials). A Google Sheet** with "Topic" and "Status" columns. 🛠️ Setup Import the workflow into your n8n instance. Configure All Credentials: Go through the workflow and connect your credentials for Google, OpenAI, SerpAPI, Replicate, and LinkedIn in their respective nodes. Link Your Google Sheet: In the 1. Get Pending Topic... node, select your spreadsheet and sheet. Do the same for the final 8. ...Update Status node. Customize Your Brand Style (Highly Recommended): In the 4. Generate Branded Image Prompt (Code) node, edit the fixedImageStyleDetails variable. Change the RAL color codes and descriptive words to match your brand's visual identity. Populate Your Content Calendar: Add topics to your Google Sheet and set their status to "Pending". Activate the workflow!
by plemeo
Who’s it for Social-media managers, growth hackers, and brands who want to keep their Instagram accounts active by auto-liking posts from specific profiles they track—without scrolling feeds manually. How it works / What it does Schedule Trigger runs every 2 h. Profile Post Extractor pulls up to 20 recent posts from each Instagram profile in your CSV. Select Cookie rotates Instagram session-cookies. Get Random Post picks one and checks against instagram_posts_already_liked.csv. Builds instagram_posts_to_like.csv, uploads to SharePoint. Phantombuster Autolike Agent likes the post. Liked URLs are appended to prevent duplicates. Wait nodes throttle activity (~12 likes/profile/day). How to set up Add credentials: Phantombuster API, SharePoint OAuth2. In SharePoint › “Phantombuster” folder create: • instagram_session_cookies.txt (one per line). • instagram_posts_already_liked.csv (header postUrl). • profiles_instagram.csv with profile URLs. Adjust schedule if needed. Activate the workflow—likes will run automatically. Requirements n8n 1.33+ Phantombuster Growth plan Microsoft 365 SharePoint tenant How to customize Add/remove tracked profiles in profiles_instagram.csv. Adjust throttle by changing Wait intervals. Swap SharePoint for Google Drive/Dropbox if needed.
by Jamot
Send one WhatsApp message → Get AI-optimized content across 7+ social platforms. Who It's For Solopreneur managing multiple platforms on the go (X/Twitter, Instagram, LinkedIn, Facebook, TikTok, Threads, YouTube Shorts). What It Solves Eliminates 80% of manual content creation work while maintaining brand consistency across all channels. How It Works AI Content Generation GPT-4/Gemini creates platform-specific posts with hashtags, CTAs, and emojis Auto-generates images via OpenAI/Pollinations.ai SERP API finds relevant trending content Approval Workflow HTML email previews for human review Double-approval system via Gmail integration One-Click Publishing Instagram/Facebook (Graph API) X/Twitter (Official API) LinkedIn (Sales Navigator) Setup Requirements API keys: OpenAI, Gemini, social platform tokens, ImgBB, SERP API Gmail and Telegram for notifications Replace "your-unique-id" placeholders in API nodes Customization Content**: Edit AI prompts for brand voice Approval**: Modify email templates and thresholds Analytics**: Connect Google Sheets for tracking Images**: Switch between AI image generators
by Jose Bossa
Automated Social Media Video Posting 👥 Who's it for This workflow is perfect for content creators, social media managers, and businesses who want to schedule and automatically post videos 📹 to multiple platforms (Instagram, LinkedIn, TikTok) without manual effort. Save hours every week! ⏰ 🤖 What it does It automatically reads scheduled posts from Google Sheets, checks if it's the right time to post, downloads videos from Google Drive, uploads them to multiple social media platforms simultaneously, updates the posting status, and sends you a Telegram notification with the results. Complete hands-free social media management! 🚀 ⚙️ How it works ⏰ Schedule Trigger – Runs twice daily at 9 AM and 9 PM 📊 Google Sheets (Read) – Fetches posts with status "Listo para postear" (Ready to post) ⚙️ Code Node – Converts trigger time to readable Spanish format (e.g., "16 de Octubre a las 9 am") 🔍 If Condition – Checks if current time matches the scheduled post time in the sheet 📝 Format Drive Content – Extracts and organizes post data (Title, Copy, Video URL) 🆔 Social Media Account IDs – Prepares account identifiers (can be customized for specific accounts) 🎬 Upload a video – Posts video simultaneously to Instagram, LinkedIn, and TikTok using UploadPost API 📊 Google Sheets (Update) – Changes post status to "Posteado" (Posted) to avoid duplicates 📱 Telegram Notification – Sends detailed success report with URLs for each platform 📋 Requirements Google Sheets** with your content calendar Google Drive** to store your videos UploadPost API account** (supports Instagram, LinkedIn, TikTok): Click aquí 👉 UploadPost Telegram Bot** for notifications n8n instance** with required node packages Google Sheets Structure Your spreadsheet should have these columns: Title – Post title Copy – Post caption/description Video Link – Google Drive download URL Status – Post status ("Listo para postear" or "Posteado") Fecha.Hora – Scheduled time (format: "16 de Octubre a las 9 am") row_number – Auto-generated row identifier 🛠️ How to set up Create your Google Sheets calendar: Set up columns as specified above Use status "Listo para postear" for scheduled posts Format dates as "DD de Mes a las HH am/pm" (Spanish format) Upload videos to Google Drive: Get shareable download links (format: https://drive.google.com/uc?export=download&id=FILE_ID) Ensure videos meet platform requirements (duration, format, size) Configure UploadPost API: Create account and get API credentials Connect your Instagram, LinkedIn, and TikTok accounts Add credentials to the "Upload a video" node Set up Google Sheets credentials: Connect OAuth2 for both read and update operations Update documentId with your spreadsheet ID Verify sheet name matches (default: "Video") Configure Telegram notifications: Create a Telegram bot via @BotFather Get your chat ID Add credentials to "Send a text message" node Customize posting times: Modify Schedule Trigger hours (default: 9 AM and 9 PM) Times are in Santiago, Chile timezone (America/Santiago) Test the workflow: Create a test entry with current time Run manually to verify all connections work Check Telegram for success notification Activate the workflow ✅ 🎨 How to customize Change posting schedule:** Modify triggerAtHour values in Schedule Trigger (add more times if needed) Add more platforms:** Extend the platform array in "Upload a video" node (supports YouTube, Facebook, Twitter) Customize notification format:** Edit the Telegram message template to include/exclude information Change timezone:** Modify the timeZone parameter in the Code node (default: "America/Santiago") Filter by platform:** Add a filter node before upload to post only to specific platforms on certain days Add approval workflow:** Insert an approval step before posting using Telegram or Slack Multiple accounts per platform:** Modify "Social Media Account IDs" node to specify different account IDs Error handling:** Add error notification paths to alert you if uploads fail Batch posting:** Remove returnFirstMatch option to post multiple videos at once 💡 Pro Tips Time format must match exactly** between Schedule Trigger and Google Sheets for the workflow to trigger Videos should be optimized for each platform before upload (aspect ratio, length, file size) Test with a private account first before going live Keep video files under 100MB for best performance across platforms Use the row_number column to track and update specific posts The workflow runs twice daily, so schedule posts accordingly (9 AM or 9 PM slots) ⚠️ Important Notes Posts marked as "Posteado" won't be processed again (prevents duplicates) Video must be publicly accessible from the Google Drive link UploadPost API has rate limits depending on your plan Telegram notifications show success status and post URLs for each platform The Code node converts times to Spanish format - modify if you need different language/format
by ConnectSafely
Send Personalized DMs to LinkedIn Profile Visitors Who's it for This workflow is built for sales professionals, recruiters, founders, and networkers who want to automatically reach out to people who viewed their LinkedIn profile. Perfect for anyone who knows that profile visitors are warm leads but doesn't have time to manually check who visited, craft personalized messages, and send outreach one by one. If you're doing outbound sales, recruiting talent, building partnerships, or simply want to convert curiosity into conversations, this automation turns passive profile views into active outreach opportunities. How it works The workflow automatically identifies LinkedIn profile visitors and sends them personalized messages based on their connection status. The process flow: Scheduled trigger runs weekly (or manually) to fetch recent profile visitors ConnectSafely.ai API retrieves all visitors from the past 7 days Splits visitors into individual records for processing Checks Google Sheets to avoid messaging the same person twice Routes based on connection degree: 1st-degree connections → Sends a personalized DM 2nd/3rd-degree connections → Sends a connection request with message Logs all outreach to Google Sheets for tracking Waits between messages to maintain natural activity patterns Loop continues until all visitors are processed Setup steps Step 1: Configure ConnectSafely.ai API Credentials Obtain API Key Create an account at ConnectSafely.ai Connect your LinkedIn account in the dashboard Navigate to Settings → API Keys Generate a new API key Add Bearer Auth Credential in n8n Go to Credentials in n8n Click Add Credential → HTTP Bearer Auth Name it "ConnectSafely.ai API" Paste your API key Save the credential This credential is used by all three HTTP Request nodes: Fetch Profile Visitors, Send DM, and Send Connection Request. Step 2: Configure Google Sheets Integration 2.1 Create Your Tracking Sheet Create a new Google Sheet with the following columns: | Column Name | Description | |-------------|-------------| | Name | Visitor's full name | | Linkedin URL | Visitor's profile URL | | Status | Outreach status (DONE) | 2.2 Connect Google Sheets Account Go to Credentials → Add Credential → Google Sheets OAuth2 Follow the OAuth flow to connect your Google account Grant access to Google Sheets 2.3 Update All Google Sheets Nodes There are three Google Sheets nodes that need configuration: Check if Already Contacted - Looks up existing contacts Log DM Sent to Sheet - Records DMs sent Log Connection Request to Sheet - Records connection requests For each node: Open the node Replace YOUR_GOOGLE_SHEET_ID with your actual sheet ID (from the URL) Select the correct sheet name Save Step 3: Customize Your Message Templates The workflow includes two Code nodes with message templates that you must customize: For Connected Users (DMs) Open the "Generate DM for Connected User" node and update: // Sender footer - CUSTOMIZE THIS const footer = \n\n— Your Name; // Message bodies - CUSTOMIZE THESE const messages = [ "Noticed you recently checked out my profile... I've been working on [YOUR PRODUCT] — [BRIEF DESCRIPTION].", // Add more variations... ]; For New Connections (Connection Requests) Open the "Generate Message for New Connection" node and update the same sections with your product/service details. Tips for good messages: Keep under 300 characters for connection requests Personalize with their name (already included) Mention something specific about why you're reaching out Include a clear but soft call-to-action Have 3-5 variations to avoid repetitive messaging Step 4: Adjust the Schedule Open the Weekly Schedule Trigger node Adjust based on your profile traffic: High traffic: Daily Medium traffic: Every 3 days Low traffic: Weekly (default) Step 5: Test the Workflow Click Test Workflow on the Schedule Trigger or add a Manual Trigger Verify: Profile visitors are fetched correctly Deduplication works (no existing contacts get messaged) Connection degree routing works properly Messages are personalized with visitor names Google Sheets logs entries correctly Customization Time Range for Visitors Edit the JSON body in the Fetch Profile Visitors node: {"timeRange":"past_7_days","start":0,"fetchAll":true} Options: past_7_days - Last week's visitors (default) past_30_days - Last month's visitors past_90_days - Last quarter's visitors Message Personalization Both Code nodes support multiple message variations. The workflow randomly selects one for each visitor, making your outreach feel more natural. To add more variations: Open the relevant Code node Add new message strings to the messages array Use placeholders like [YOUR PRODUCT] and replace with your actual content Wait Time Between Messages The Wait Between Messages node adds delays between outreach. Adjust the duration to: Increase if you want more conservative pacing Decrease if you have premium LinkedIn and higher limits Recommended: 1-5 minutes between messages Add More Tracking Fields To track additional data in Google Sheets: Add columns to your sheet (e.g., Message Sent, Connection Degree, Date) Update the Google Sheets nodes to map these new fields Pull data from the workflow context using expressions Filter by Company or Title Want to only message visitors from specific companies or with certain titles? Add an IF node after Skip if Already Contacted Add conditions based on visitor data fields Route non-matching visitors directly to the Wait node Use Cases Sales Prospecting**: Automatically reach out to decision-makers who are researching you before a sales cycle Recruiting**: Engage passive candidates who are checking out your profile after seeing job posts Founder Networking**: Connect with investors, partners, and potential hires who show interest Consulting/Freelance**: Convert profile visitors into discovery calls by reaching out while you're top of mind Personal Branding**: Build your network by engaging everyone who takes time to view your profile Troubleshooting Common Issues & Solutions Issue: No visitors returned from API Solution**: Ensure your LinkedIn account is connected in ConnectSafely.ai dashboard. Also verify you've had recent profile views (check LinkedIn's native viewer count). Issue: Duplicate messages being sent Solution**: Verify the Google Sheets lookup is working correctly. Check that the Linkedin URL column matches exactly what the API returns. Make sure all three Google Sheets nodes point to the same sheet. Issue: Messages not sending Solution**: Check your ConnectSafely.ai API key is valid. Verify the HTTP Request nodes have the Bearer Auth credential attached. Check the API response for error messages. Issue: Wrong message type sent (DM vs Connection Request) Solution: The routing is based on connectionDegree field. Verify this field is being returned correctly from the API. Check the **Check if 1st Degree Connection node conditions. Issue: Profile ID extraction failing Solution: The **Extract Profile ID from URL Code node parses the LinkedIn URL. Check that visitors have valid navigationUrl values. Issue: Google Sheets not updating Solution**: Verify your Google Sheets credential has write access. Check that the sheet ID is correct and the sheet name matches. Issue: Rate limit errors Solution: Increase the wait time in the **Wait Between Messages node. Consider reducing the frequency of the schedule trigger. Rate Limiting Best Practices LinkedIn monitors automated activity. To stay safe: Start slow**: Begin with 10-15 messages per day Gradually increase**: Add 5 more per week up to 50/day max Use random delays**: The workflow includes built-in waits Pause if warned**: If LinkedIn shows any warnings, stop for 24-48 hours Keep messages personal**: Avoid spammy, salesy language Don't run 24/7**: Schedule during business hours Costs & Considerations | Service | Cost | |---------|------| | ConnectSafely.ai | Free trial available, then subscription | | Google Sheets | Free | | n8n | Free (self-hosted) or cloud pricing | No per-message costs - ConnectSafely.ai subscription includes API access for messaging. Documentation & Resources Official Documentation ConnectSafely.ai Docs**: https://connectsafely.ai/docs ConnectSafely.ai API Reference**: Available in dashboard Google Sheets API**: https://developers.google.com/sheets Support Channels Email Support**: support@connectsafely.ai Documentation**: https://connectsafely.ai/docs Custom Workflows**: Contact us for custom automation Connect With Us Stay updated with the latest automation tips and LinkedIn strategies: LinkedIn**: linkedin.com/company/connectsafelyai YouTube**: youtube.com/@ConnectSafelyAI-v2x Instagram**: instagram.com/connectsafely.ai Facebook**: facebook.com/connectsafelyai X (Twitter)**: x.com/AiConnectsafely Bluesky**: connectsafelyai.bsky.social Mastodon**: mastodon.social/@connectsafely Need Custom Workflows? Looking to build sophisticated LinkedIn automation workflows tailored to your business needs? Contact our team for custom automation development, strategy consulting, and enterprise solutions. We specialize in: Multi-channel engagement workflows AI-powered personalization at scale Lead scoring and qualification automation CRM integration and data synchronization Custom reporting and analytics pipelines
by ConnectSafely
Who's it for This workflow is built for sales professionals, recruiters, founders, and growth marketers who need to build targeted prospect lists from LinkedIn without risking their accounts. Perfect for anyone who wants to find decision-makers, build lead lists, or research target audiences at scale. If you're running outbound campaigns, building ABM lists, sourcing candidates, or doing competitive research, this automation handles LinkedIn searches and exports results directly to your Google Sheet—no browser cookies, no session hijacking, no ban risk. How it works The workflow automates LinkedIn people searches by leveraging ConnectSafely.ai's compliant API, then exports structured results to Google Sheets or JSON files. The process flow: Define your search parameters (keywords, location, job title, result limit) Execute the search via ConnectSafely.ai API Process and normalize the response data Export to Google Sheets for CRM import or further automation Optionally save as JSON file for data backup or processing No LinkedIn cookies required. No browser automation. Platform-compliant searches that won't get your account restricted. Watch the complete step-by-step implementation guide: LinkedIn Search Export Automation Tutorial Setup steps Step 1: Get Your ConnectSafely.ai API Credentials Obtain API Key: Log into ConnectSafely.ai Dashboard Navigate to Settings → API Keys Generate a new API key Copy your API key (you'll need this in the next step) Add Bearer Auth Credential in n8n: Go to Credentials in n8n Click Add Credential → HTTP Bearer Auth Paste your ConnectSafely.ai API key Save the credential Step 2: Configure Search Parameters Open the Set Search Parameters node and customize your search: | Parameter | Description | Example | |-----------|-------------|---------| | keywords | Search terms for profiles | CEO SaaS, Marketing Director | | location | Geographic filter | United States, San Francisco Bay Area | | title | Job title filter | Head of Growth, VP Sales | | limit | Maximum results to return | 100 (max varies by plan) | Pro Tips: Use specific keywords for better targeting Combine title + keywords for precision (e.g., keywords: "B2B" + title: "VP Sales") Start with smaller limits (25-50) for testing Step 3: Configure Google Sheets Integration 3.1 Connect Google Sheets Account Go to Credentials → Add Credential → Google Sheets OAuth2 Follow the OAuth flow to connect your Google account Grant access to Google Sheets 3.2 Prepare Your Google Sheet Create a new Google Sheet with the following columns (the workflow will auto-populate these): | Column Name | Description | |-------------|-------------| | profileUrl | LinkedIn profile URL | | fullName | Contact's full name | | firstName | First name | | lastName | Last name | | headline | LinkedIn headline/tagline | | currentPosition | Current job title | | company | Company name (extracted from headline) | | location | Geographic location | | connectionDegree | 1st, 2nd, or 3rd degree connection | | isPremium | LinkedIn Premium member (true/false) | | isOpenToWork | Open to work badge (true/false) | | profilePicture | Profile image URL | | extractedAt | Timestamp of extraction | 3.3 Configure the Export Node Open the Export to Google Sheets node Select your Google Sheets credential Enter your Document ID (from the sheet URL) Select the Sheet Name The column mapping is pre-configured for auto-mapping Step 4: Test the Workflow Click the Manual Trigger node Click Test Workflow Verify: Search executes successfully Results appear in the Format Results output Data exports to your Google Sheet JSON file is generated (optional) Customization Search Parameter Combinations Sales Prospecting: keywords: "B2B SaaS" location: "United States" title: "VP of Sales" limit: 100 Recruiting: keywords: "Python Machine Learning" location: "San Francisco Bay Area" title: "Senior Engineer" limit: 50 Founder Networking: keywords: "Seed Series A" location: "New York City" title: "Founder CEO" limit: 100 Extending the Workflow Add to CRM: Connect the Format Results output to HubSpot, Salesforce, or Pipedrive nodes Enrich Data: Add a loop to fetch full profile details for each result using the /linkedin/profile endpoint Chain with Outreach: Connect to the LinkedIn Connection Request Workflow to automatically send personalized invites to your search results Schedule Searches: Replace Manual Trigger with a Schedule Trigger to run daily/weekly searches Output Data Format Each result includes: { "profileUrl": "https://www.linkedin.com/in/johndoe", "profileId": "johndoe", "profileUrn": "urn:li:member:123456789", "fullName": "John Doe", "firstName": "John", "lastName": "Doe", "headline": "VP of Sales at TechCorp | B2B SaaS", "currentPosition": "VP of Sales", "company": "TechCorp", "location": "San Francisco, California", "connectionDegree": "2nd", "isPremium": true, "isOpenToWork": false, "profilePicture": "https://media.licdn.com/...", "extractedAt": "2024-01-15T10:30:00.000Z" } Use Cases Sales Prospecting: Build targeted lead lists of decision-makers at companies matching your ICP Recruiting & Talent Sourcing: Find passive candidates with specific skills and experience levels Market Research: Analyze competitor employee profiles and organizational structures Event Planning: Build invite lists for webinars, conferences, or virtual events Partnership Development: Identify potential partners and integration opportunities Investor Research: Find founders and executives at companies in specific stages/verticals Troubleshooting Common Issues & Solutions Issue: "No results found" error Solution:** Broaden your search parameters; try removing one filter at a time Issue: Empty company field in results Solution:** Company is extracted from headline; some profiles may not include company in their headline format Issue: API authentication errors Solution:** Verify your ConnectSafely.ai API key is valid and has proper permissions; check Bearer Auth credential format Issue: Google Sheets not updating Solution:** Confirm OAuth credentials are valid; check that the sheet has write permissions Issue: Fewer results than expected Solution:** LinkedIn limits search results; try more specific parameters or upgrade your ConnectSafely.ai plan Issue: Rate limit errors Solution:** Add delay between multiple searches; check your API plan limits Documentation & Resources Official Documentation ConnectSafely.ai Docs:** https://connectsafely.ai/docs API Reference:** Available in ConnectSafely.ai dashboard n8n HTTP Request Node:** https://docs.n8n.io/nodes/n8n-nodes-base.httpRequest Support Channels Email Support:** support@connectsafely.ai Documentation:** https://connectsafely.ai/docs Custom Workflows:** Contact us for custom automation Connect With Us Stay updated with the latest automation tips, LinkedIn strategies, and platform updates: LinkedIn:** linkedin.com/company/connectsafelyai YouTube:** youtube.com/@ConnectSafelyAI-v2x Instagram:** instagram.com/connectsafely.ai Facebook:** facebook.com/connectsafelyai X (Twitter):** x.com/AiConnectsafely Bluesky:** connectsafelyai.bsky.social Mastodon:** mastodon.social/@connectsafely Need Custom Workflows? Looking to build sophisticated LinkedIn automation workflows tailored to your business needs? Contact our team for custom automation development, strategy consulting, and enterprise solutions. We specialize in: Multi-channel prospecting workflows AI-powered lead scoring and qualification CRM integration and data synchronization Custom search and enrichment pipelines Bulk outreach automation with personalization
by ConnectSafely
Extract LinkedIn Group Members to Google Sheets - Premium & Verified Only using ConnectSafely.AI API Who's it for This workflow is built for sales professionals, community managers, recruiters, and growth marketers who want to extract high-quality leads from LinkedIn groups without the manual grind. Perfect for anyone who needs to identify decision-makers, founders, and serious professionals within large LinkedIn communities. If you're running targeted outreach campaigns, building prospect lists, researching competitor communities, or looking to connect with verified industry leaders, this automation filters the noise and delivers only Premium and Verified members straight to your spreadsheet. How it works The workflow automates LinkedIn group member extraction by combining pagination handling with intelligent filtering through ConnectSafely.ai's API. The process flow: Initializes pagination variables with your target group ID Fetches group members in batches of 50 via ConnectSafely.ai API Filters each batch for Premium OR Verified members only Extracts profile data (name, headline, follower count, profile URL, etc.) Checks if more pages exist and loops back automatically Once complete, splits all members into individual items Appends or updates records in Google Sheets (deduplicates by Profile ID) The pagination loop handles groups of any size - whether 500 or 50,000 members. Setup steps Step 1: Prepare Your Google Sheet Structure your Google Sheet with the following columns: | Column Name | Description | Required | |------------|-------------|----------| | Profile ID | Unique LinkedIn profile identifier | Yes | | First Name | Member's first name | Yes | | Last Name | Member's last name | Yes | | Full Name | Combined first and last name | Yes | | Headline | Professional headline/tagline | Yes | | Public Identifier | LinkedIn username | Yes | | Profile URL | Direct link to LinkedIn profile | Yes | | Follower Count | Number of followers | Yes | | Is Premium | Premium subscription status | Yes | | Is Verified | Verification badge status | Yes | | Relationship Status | Connection degree (1st, 2nd, 3rd) | Yes | Pro Tip: The workflow uses "Append or Update" operation with Profile ID as the matching column, so running it multiple times won't create duplicates. Step 2: Configure ConnectSafely.ai API Credentials Obtain API Key Log into ConnectSafely.ai Dashboard Navigate to Settings → API Keys Generate a new API key Add Bearer Auth Credential in n8n Go to Credentials in n8n Click Add Credential → Header Auth or Bearer Auth Paste your ConnectSafely.ai API key Save the credential This credential is used by the "Fetch Group Members" HTTP Request node. Step 3: Configure Google Sheets Integration 3.1 Connect Google Sheets Account Go to Credentials → Add Credential → Google Sheets OAuth2 Follow the OAuth flow to connect your Google account Grant access to Google Sheets 3.2 Configure "Append to Google Sheets" Node Open the Append to Google Sheets node Select your Google Sheets credential Enter your Document ID (from the sheet URL) Select the Sheet Name Configure column mapping to match the extracted fields Set Matching Column to Profile ID for deduplication Step 4: Set Your Target LinkedIn Group Open the Initialize Pagination node Locate the groupId variable in the code Replace "9357376" with your target group ID Finding Your Group ID: Go to your LinkedIn group Look at the URL: linkedin.com/groups/XXXXXXX/ The numbers are your group ID // Change this value to your target group groupId: "9357376", // Replace with your group ID Step 5: Test the Workflow Click the Start Workflow manual trigger node Click Test Workflow Verify: API returns member data correctly Filtering captures only Premium/Verified members Pagination loops for additional pages (if applicable) Google Sheets populates with extracted data Customization Filter Criteria Edit the filter logic in the Process & Filter Members node to adjust: Premium Only**: Remove the isVerified checks to capture only Premium subscribers Verified Only**: Remove the isPremium checks to capture only Verified profiles All Members**: Remove the filter entirely to extract everyone (modify the return statement) Minimum Followers**: Add a follower count threshold for influencer targeting // Example: Filter for Premium members with 1000+ followers const filteredMembers = members.filter(member => { const isPremium = member.isPremium === true; const hasMinFollowers = member.followerCount >= 1000; return isPremium && hasMinFollowers; }); Batch Size Default**: 50 members per API request Adjust**: Modify the count value in Initialize Pagination node Note**: 50 is the maximum allowed by the API Additional Fields The API returns more fields than extracted by default. Edit the Process & Filter Members node to include: creator - Whether they're a LinkedIn creator badges - Full list of profile badges fetchedAt - Timestamp of extraction Use Cases Sales Prospecting**: Build targeted prospect lists from industry-specific groups with verified decision-makers Competitor Research**: Analyze who's active in competitor communities and their professional backgrounds Influencer Identification**: Find Premium creators and verified professionals for partnership opportunities Recruiting**: Source passive candidates who are active in professional development groups Event Marketing**: Identify engaged professionals in niche communities for webinar and conference promotion Content Strategy**: Research headlines and titles to understand what resonates in your industry Troubleshooting Common Issues & Solutions Issue: Empty results returned Solution**: Verify you're a member of the target group; API can only access groups you've joined Issue: "401 Unauthorized" errors Solution**: Check that your ConnectSafely.ai API key is valid and the Bearer Auth credential is properly configured Issue: Pagination loop seems infinite Solution**: This is expected behavior until hasMore returns false; large groups may take several minutes to fully process Issue: Duplicate entries in Google Sheets Solution**: Ensure the "Append or Update" operation is selected with Profile ID as the matching column Issue: Missing data in certain columns Solution**: Not all profiles have complete data; the workflow handles null values gracefully Issue: Google Sheets not updating Solution**: Verify OAuth credentials are valid and the sheet/document IDs are correctly configured Documentation & Resources Official Documentation ConnectSafely.ai Docs**: https://connectsafely.ai/docs API Reference**: Available in ConnectSafely.ai dashboard n8n Google Sheets Node**: https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/ Support Channels Email Support**: support@connectsafely.ai Documentation**: https://connectsafely.ai/docs Custom Workflows**: Contact us for custom automation Connect With Us Stay updated with the latest automation tips, LinkedIn strategies, and platform updates: LinkedIn**: linkedin.com/company/connectsafelyai YouTube**: youtube.com/@ConnectSafelyAI-v2x Instagram**: instagram.com/connectsafely.ai Facebook**: facebook.com/connectsafelyai X (Twitter)**: x.com/AiConnectsafely Bluesky**: connectsafelyai.bsky.social Mastodon**: mastodon.social/@connectsafely Need Custom Workflows? Looking to build sophisticated LinkedIn automation workflows tailored to your business needs? Contact our team for custom automation development, strategy consulting, and enterprise solutions. We specialize in: Multi-channel engagement workflows AI-powered personalization at scale Lead scoring and qualification automation CRM integration and data synchronization Custom reporting and analytics pipelines
by Joe Marotta
What This Flow Does Automated stock portfolio analysis system that performs comprehensive fundamental and technical analysis of your portfolio holdings on a scheduled basis, with intelligent follow-up capabilities. How It Works Two-Phase Analysis System: Monday Analysis (Main weekly analysis) Reads your stock holdings from Google Sheets Performs deep fundamental analysis using Claude AI with web search Conducts technical analysis with current market data Combines both analyses into final buy/sell/hold recommendations Emails you comprehensive analysis report Wednesday Follow-up (Interactive refinement) Sends midweek check-in email asking for additional input If you reply with documents, questions, or market observations Runs supplemental analysis incorporating your feedback Updates recommendations based on new information and market changes Delivers refined analysis via email Key Features Fractional share support - handles both whole and fractional stock positions Web-enabled AI analysis - Claude AI searches current market data, news, earnings Dual-analyst approach - separate fundamental and technical analysis for comprehensive coverage Interactive feedback loop - Wednesday follow-ups allow you to guide analysis Professional email reports - formatted HTML emails with actionable recommendations Setup Steps Google Sheets: Duplicate given template and fill with your investment information Gmail OAuth: Connect your Gmail account for sending reports Anthropic API: Add Claude AI credentials for analysis Replace placeholders: Update YOUR_EMAIL@gmail.com, YOUR_GOOGLE_SHEETS_ID, webhook IDs Schedule configuration: Currently set for Monday 12pm EST analysis, Wednesday 12pm EST follow-up Use Case Perfect for part time investors who want systematic, AI-powered analysis of their portfolio with the flexibility to provide additional context and refinements throughout the week.
by Dr. Firas
💥 Automate Scrape Google Maps Business Leads (Email, Phone, Website) using Apify 🧠 AI-Powered Business Prospecting Workflow (Google Maps + Email Enrichment) Who is this for? This workflow is designed for entrepreneurs, sales teams, marketers, and agencies who want to automate lead discovery and build qualified business contact lists — without manual searching or copying data. It’s perfect for anyone seeking an AI-driven prospecting assistant that saves time, centralizes business data, and stays fully compliant with GDPR. What problem is this workflow solving? Manually searching for potential clients, copying their details, and qualifying them takes hours — and often leads to messy spreadsheets. This workflow automates the process by: Gathering publicly available business information from Google Maps Enriching that data with AI-powered summaries and contact insights Compiling it into a clean, ready-to-use Google Sheet database This means you can focus on closing deals, not collecting data. What this workflow does This automation identifies, analyzes, and organizes business opportunities in just a few steps: Telegram Trigger → Send a message specifying your business type, number of leads, and Google Maps URL. Apify Integration → Fetches business information from Google Maps (public data). Duplicate Removal → Ensures clean, non-redundant results. AI Summarization (GPT-4) → Generates concise business summaries for better understanding. Email Extraction (GPT-4) → Finds and extracts professional contact emails from company websites. Google Sheets Integration → Automatically stores results (name, category, location, phone, email, etc.) in a structured sheet. Telegram Notification → Confirms when all businesses are processed. All data is handled ethically and transparently — only from public sources and without any unsolicited contact. Setup Telegram Setup Create a Telegram bot via BotFather Copy the API token and paste it into the Telegram Trigger node credentials. Apify Setup Create an account on Apify Get your API token and connect it to the “Run Google Maps Scraper” node. Google Sheets Setup Connect your Google account under the “Google Maps Database” node. Specify the target spreadsheet and worksheet name. OpenAI Setup Add your OpenAI API key to the AI nodes (“Company Summary Info” and “Extract Business Email”). Test Send a Telegram message like: restaurants, 5, https://www.google.com/maps/search/restaurants+in+Paris How to customize this workflow to your needs Change search region or business type** by modifying the Telegram input message format. Adjust the number of leads** via the maxCrawledPlacesPerSearch parameter in Apify. Add filters or enrichments** (e.g., websites with social links, review counts, or opening hours). Customize AI summaries** by tweaking the prompt inside the “Company Summary Info” node. Integrate CRM tools** like HubSpot or Pipedrive by adding a connector after the Google Sheets node. ⚙️ Expected Outcome ✅ A clean, enriched, and ready-to-use Google Sheet of businesses with: Name, category, address, and city Phone number and website AI-generated business summary Extracted professional email (if available) ✅ Telegram confirmation once all businesses are processed ✅ Fully automated, scalable, and GDPR-compliant prospecting workflow 💡 This workflow provides a transparent, ethical way to streamline your B2B lead research while staying compliant with privacy and anti-spam regulations. 🎥 Watch This Tutorial 👋 Need help or want to customize this? 📩 Contact: LinkedIn 📺 YouTube: @DRFIRASS 🚀 Workshops: Mes Ateliers n8n 📄 Documentation: Notion Guide Need help customizing? Contact me for consulting and support : Linkedin / Youtube / 🚀 Mes Ateliers n8n
by Dhruv Mali
How it works This workflow automates the entire lifecycle of a service-based client, combining four distinct business flows into a single view: Intake Leads: Receives a webhook from your form builder, validates the data, optionally enriches the email using Clearbit, and creates records in Airtable and Notion. Manage Bookings: Processes scheduling webhooks to update lead status, create Google Calendar events, and send pre-call survey emails. Send Reminders: Runs a daily schedule to scan Airtable for upcoming calls and automatically sends 24h reminder emails to reduce no-shows. Onboard Clients: Reacts to successful payments by marking leads as "Paid," generating a Notion Onboarding Checklist, and sending a Welcome Kit via Email and WhatsApp. Set up steps Configure Credentials: Connect your accounts for Airtable, Notion, Slack, Google Calendar, and GMAIL. (Optional) Add credentials for Clearbit (enrichment) and Twilio (WhatsApp). Customize Emails: Open the four Email Send nodes. Customize the Body Text with your own booking links and survey URLs. Configure Tables & IDs: Update the Airtable nodes with your specific Base and Table names (e.g., tblLeads). Update the Notion nodes with your Database IDs for Projects and Onboarding. Connect Webhooks: Copy the Production URLs from the three Webhook nodes (Lead Intake, Booking, Payment) and paste them into your respective form, calendar, or payment provider settings.
by Cheng Siong Chin
How It Works Schedules automated vendor pricing analysis across multiple sources. Fetches delivery reliability and contract data, analyzes vendor performance using Claude AI, then distributes consolidated reports via Gmail and creates Google Sheets summaries. Target audience: procurement teams and business analysts managing multi-vendor relationships. Solves vendor evaluation bottlenecks by automating data collection, AI-driven analysis, and report distribution. Workflow Steps What: Trigger → Scrapes vendor data (pricing, reliability, contracts) → Sends to vendor analysis agent → Branches to multiple outputs (Gmail notification, Google Sheets archive, Data parser). Setup Steps Configure Schedule Trigger timing. 2. Add scraper credentials (Vendor Pricing, Delivery Reliability, Contract Data nodes). 3. Connect Claude/OpenAI API key in Vendor Analysis Agent. 4. Authenticate Gmail account for notifications. 5. Link Google Sheets API for data storage. Prerequisites OpenAI/Claude API key, Gmail credentials, Google Sheets API access, Vendor data sources (web scrapers or direct APIs). Use Cases Automate weekly vendor performance reviews, generate compliance reports for procurement teams Customization Modify trigger schedule, add/remove scraper nodes for new vendors, adjust Claude prompt for different analysis criteria Benefits Eliminates manual data gathering (hours to minutes), ensures consistent vendor evaluation criteria
by Ninmegne Paul
🔧 How it works Scheduled Trigger The workflow is triggered automatically every day at 12:00 PM using a Cron node. RSS Feed Collection It fetches the latest content from multiple RSS feeds related to Technology, Manga, and Movies. Content Processing & Formatting The collected data is filtered and organized based on your interests. A dynamic HTML email template is generated to present the content in a clean and readable layout. Email Delivery The final newsletter is sent directly to your inbox using the Send Email node. ⚙️ Set up steps Configure RSS Sources Update the RSS feed URLs inside the Set nodes to match your preferred sources. Set Email Recipient Replace the email address in the Send Email node with your own. Adjust Schedule Modify the execution time in the Cron Trigger node if you want the newsletter to be sent at a different time. Activate the Workflow Enable the workflow to start receiving your personalized daily newsletter automatically.