by Davide
This workflow creates a voice AI assistant accessible via Telegram that leverages ElevenLabs* powerful voice synthesis technology. Users can either clone their own voice or transform their voice using pre-existing voice models, all through simple voice messages sent to a Telegram bot. *ONLY FOR STARTER, CREATOR, PRO PLAN This workflow allows users to: Clone their voice by sending a voice message to a Telegram bot (creates a new voice profile on ElevenLabs) Change their voice to a cloned voice and save the output to Google Drive For Best Results Important Considerations for Best Results: For optimal voice cloning via Telegram voice messages: 1. Recording Quality & Environment Record in a quiet room with minimal echo and background noise Use a consistent microphone position (10-15cm from mouth) Ensure clear audio without distortion or clipping 2. Content Selection & Variety Send 1 voice messages totaling 5-10 minutes of speech Include diverse vocal sounds, tones, and natural speaking cadence Use complete sentences rather than isolated words 3. Audio Consistency Maintain consistent volume, tone, and distance from microphone Avoid interruptions, laughter, coughs, or background voices Speak naturally without artificial effects or filters 4. Technical Preparation Ensure Telegram isn't overly compressing audio (use HQ recording) Record all messages in the same session with same conditions Include both neutral speech and varied emotional expressions How it works Trigger The workflow starts with a Telegram trigger that listens for incoming messages (text, voice notes, or photos). Authorization check A Code node checks whether the sender’s Telegram user ID matches your predefined ID. If not, the process stops. Message routing A Switch node routes the message based on its type: Text → Not processed further in this flow. Voice message → Sent to the “Get audio” node to retrieve the audio file from Telegram. Photo → Not processed further in this flow. Two main options From the “Get audio” node, the workflow splits into two possible paths: Option 1 – Clone voice The audio file is sent to ElevenLabs via an HTTP request to create a new cloned voice. The voice ID is returned and can be saved for later use. Option 2 – Voice changer The audio is sent to ElevenLabs for speech-to-speech conversion using a pre-existing cloned voice (voice ID must be set in the node parameters). The resulting audio is saved to Google Drive. Output Cloned voice ID (for Option 1). Converted audio file uploaded to Google Drive (for Option 2). Set up steps Telegram bot setup Create a bot via BotFather and obtain the API token. Set up the Telegram Trigger node with your bot credentials. Authorization configuration In the “Sanitaze” Code node, replace XXX with your Telegram user ID to restrict access. ElevenLabs API setup Get an API key from ElevenLabs. Configure the HTTP Request nodes (“Create Cloned Voice” and “Generate cloned audio”) with: API key in the Xi-Api-Key header. Appropriate endpoint URLs (including voice ID for speech-to-speech). Google Drive setup (for Option 2) Set up Google Drive OAuth2 credentials in n8n. Specify the target folder ID in the “Upload file” node. Voice ID configuration For voice cloning: The voice name can be customized in the “Create Cloned Voice” node. For voice changing: Replace XXX in the “Generate cloned audio” node URL with your ElevenLabs voice ID. Test the workflow Activate the workflow. Send a voice note from your authorized Telegram account to trigger cloning or voice conversion. 👉 Subscribe to my new YouTube channel. Here I’ll share videos and Shorts with practical tutorials and FREE templates for n8n. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by Trung Tran
Beginner’s Tutorial: Manage Google Cloud Storage Buckets and Objects with n8n Watch the demo video below: Who’s it for Beginners who want to learn how to automate Google Cloud Storage (GCS) operations with n8n. Developers who want to combine AI image generation with cloud storage management. Anyone looking for a simple introduction to working with Buckets and Objects in GCS. How it works / What it does This workflow demonstrates end-to-end usage of Google Cloud Storage with AI integration: Trigger: Start manually by clicking Execute Workflow. Edit Fields: Provide input values (e.g., bucket name or image description). List Buckets: Retrieve all existing buckets in the project (branch: view only). Create Bucket: If needed, create a new bucket to store objects. Prompt Generation Agent: Use an AI model to generate a creative text prompt. Generate Image: Convert the AI-generated prompt into an image. Upload Object: Store the generated image as an object in the selected bucket. Delete Object: Clean up by removing the uploaded object if required. This shows the full lifecycle: Bucket → Object (Create/Upload/Delete) combined with AI image generation. How to set up Trigger the workflow: Use the When clicking Execute workflow node to start manually. Provide inputs: In Edit Fields, specify details such as bucket name or description text for the image. List buckets: Use the List Buckets node to see what exists. Create a bucket: Use Create Bucket if you want a new storage bucket. Generate prompt & image: The Prompt Generation Agent uses an OpenAI Chat Model to create an image prompt. The Generate an Image node turns this prompt into an actual image. Upload to bucket: Use Create Object to upload the generated image into your GCS bucket. Delete object (optional): Use Delete Object to remove the file from the bucket as a cleanup step. Requirements An active Google Cloud account with Cloud Storage API enabled. A Service Account Key (JSON) credential added in n8n for GCS. An OpenAI API Key configured in n8n for the prompt and image generation nodes. Basic familiarity with running workflows in n8n. How to customize the workflow Different object types:** Instead of images, upload PDFs, logs, or text files. Automatic cleanup:** Skip the delete step if you want objects to persist. Schedule trigger:** Replace manual execution with a weekly or daily schedule. Dynamic prompts:** Accept user input from a form or webhook to generate images. Multi-bucket management:** Extend the logic to manage multiple buckets across projects. Notifications:** Add a Slack/Email step after upload to notify your team with the object URL. ✅ By the end of this tutorial, you’ll understand how to: Work with Buckets (list, create). Work with Objects (upload, delete). Integrate AI image generation with Google Cloud Storage.
by Trung Tran
Free PDF Generator in n8n – No External Libraries or Paid Services > A 100% free n8n workflow for generating professionally formatted PDFs without relying on external libraries or paid converters. It uses OpenAI to create Markdown content, Google Docs to format and convert to PDF, and integrates with Google Drive and Slack for archiving and sharing, ideal for reports, BRDs, proposals, or any document you need directly inside n8n. Watch the demo video below: Who’s it for Teams that need auto-generated documents (reports, guides, checklists) in PDF format. Operations or enablement teams who want files archived in Google Drive and shared in Slack automatically. Anyone experimenting with LLM-powered document generation integrated into business workflows. How it works / What it does Manual trigger starts the workflow. LLM generates a sample Markdown document (via OpenAI Chat Model). Google Drive folder is configured for storage. Google Doc is created from the generated Markdown content. Document is exported to PDF using Google Drive. (Sample PDF generated from comprehensive markdown) PDF is archived in a designated Drive folder. Archived PDF is downloaded for sharing. Slack message is sent with the PDF attached. How to set up Add nodes in sequence: Manual Trigger OpenAI Chat Model (prompt to generate sample Markdown) Set/Manual input for Google Drive folder ID(s) HTTP Request or Google Drive Upload (convert to Google Docs) Google Drive Download (PDF export) Google Drive Upload (archive PDF) Google Drive Download (fetch archived file) Slack Upload (send message with attachment) Configure credentials for OpenAI, Google Drive, and Slack. Map output fields: data.markdown → Google Docs creation docId → PDF export fileId → Slack upload Test run to ensure PDF is generated, archived, and posted to Slack. Requirements Credentials**: OpenAI API key (or compatible LLM provider) Google Drive (OAuth2) with read/write permissions Slack bot token with files:write permission Access**: Write access to target Google Drive folders Slack bot invited to the target channel How to customize the workflow Change the prompt** in the OpenAI Chat Model to generate different types of content (reports, meeting notes, checklists). Automate triggering**: Replace Manual Trigger with Cron for scheduled document generation. Use Webhook Trigger to run on-demand from external apps. Modify storage logic**: Save both .md and .pdf versions in Google Drive. Use separate folders for drafts vs. final versions. Enhance distribution**: Send PDFs to multiple Slack channels or via email. Integrate with project management tools for automated task creation.
by Daniel Lianes
Auto-generate SEO blog posts from Google Trends to WordPress This workflow provides complete blog automation from trend detection to publication. It eliminates manual content research, writing, and publishing by using AI agents, Google Trends analysis, and WordPress integration for hands-free blog management that scales your content strategy. Overview This workflow automatically handles the entire blog creation pipeline using advanced AI coordination and SEO optimization. It manages trend discovery, topic selection, content research, writing, HTML formatting, and WordPress publishing with built-in internal linking and comprehensive performance tracking. Core Function: Autonomous blog generation that transforms trending Google searches into SEO-optimized WordPress posts with zero manual intervention, maintaining consistent publishing schedules while capturing emerging traffic opportunities. Key Capabilities Automated trend detection** - Discovers emerging topics using Google Trends via SerpAPI before they become saturated AI-powered topic selection** - Intelligent evaluation of search volume, user intent, and competition levels Content research automation** - Perplexity API integration for reliable source gathering and fact verification SEO-optimized writing** - AI agents create keyword-focused, engaging content with proper structure Internal linking intelligence** - Automatic cross-linking with existing posts for enhanced SEO authority WordPress publishing** - Direct publication with semantic HTML formatting and complete metadata Performance tracking** - Comprehensive logging in Google Sheets for analytics and optimization Tools Used n8n**: Workflow orchestration platform managing the entire automation pipeline SerpAPI**: Google Trends data access and trend analysis for keyword discovery Perplexity API**: Reliable content research and fact-checking for authoritative sources OpenRouter**: Gateway to multiple AI models for specialized content generation tasks WordPress API**: Direct publishing integration with full metadata and formatting control Google Sheets**: Performance logging, internal link database, and analytics tracking Built-in SEO Logic**: Automated slug generation, meta descriptions, and HTML optimization How to Install Import the Workflow: Download the JSON file and import into your n8n instance Configure API Access: Set up SerpAPI, Perplexity, and OpenRouter credentials in n8n WordPress Integration: Add WordPress site credentials and enable REST API access Google Sheets Setup: Create tracking spreadsheet using provided template structure Schedule Configuration: Set desired publication frequency (daily, weekly, or custom) Content Customization: Adjust AI prompts and SEO parameters for your niche Test Execution: Run manual test to verify all integrations work correctly Use Cases Content Marketing Automation**: Maintain consistent blog publishing without manual content creation SEO Traffic Capture**: Generate optimized posts targeting trending keywords before competition Authority Building**: Regular publication on emerging topics to establish thought leadership Organic Growth Strategy**: Systematic content creation that builds domain authority over time Content Calendar Management**: Automated scheduling eliminates manual planning and publishing Internal Link Building**: Systematic SEO improvement through intelligent cross-linking strategy Setup requirements SerpAPI account**: For Google Trends data access and trend monitoring capabilities Perplexity API**: Professional content research and reliable source verification OpenRouter account**: Access to GPT-4.1 and other advanced AI models for content generation WordPress site**: With REST API enabled and proper user permissions configured Google Sheets**: For comprehensive performance tracking and internal link database management Total setup time: 15-20 minutes once all API accounts are properly configured. How to customize Content Focus: Modify trend detection parameters and keyword filters to target your specific niche. Adjust topic selection criteria based on your content strategy and audience interests. Writing Style: Customize AI writing prompts to match your brand voice, adjust article length requirements, modify tone and complexity, or update HTML template structure for consistent formatting. SEO Strategy: Update internal linking logic for your site structure, modify meta description templates, adjust keyword density parameters, or customize slug generation patterns. Publishing Control: Change automation frequency, add human review checkpoints, integrate with social media platforms, or connect to email marketing systems for content distribution. Performance Optimization: Adjust Google Sheets tracking columns, modify trend analysis parameters, or integrate with analytics platforms for deeper insights. Google Sheets Template The workflow includes a pre-configured Google Sheets template for tracking: Publication dates and performance metrics Target keywords and search volume data Internal link mapping and SEO improvements Content performance analytics WordPress URLs and metadata tracking Template Structure: Date Published | Title | Slug | Target Keyword | WordPress URL | Internal Links Added | Traffic Data Was this helpful? Let me know! I truly hope this automated blog system helps scale your content strategy. Your feedback helps me create better automation resources for the community. Want to take content automation further? If you're looking to optimize your content strategy or need custom automation solutions: Advisory (Discovery Call): Have content goals but unsure how automation can help? Let's explore how AI-powered workflows can transform your content pipeline and drive organic growth. Schedule a Discovery Call Custom Content Automation: Need a tailored solution for your specific content workflow, CMS integration, or multi-platform publishing strategy? Let's build the perfect automation for your needs. Book Content Automation Consulting Stay Updated on Automation For more content automation strategies, AI workflow tips, and business automation insights: Follow me on LinkedIn #n8n #automation #wordpress #seo #contentmarketing #ai #blogging #googletrends #serpapi #perplexity #workflow #contentautomation #seooptimization #aiwriting #blogautomation #digitalmarketing #contentcreation #organicgrowth #inboundmarketing #productivity
by Simeon Penev
Who’s it for Growth, marketing, sales, and founder teams that want a decision-ready Ideal Customer Profile (ICP)—grounded in their own site content. How it works / What it does On form submission* collects *Website URL* and *Business Name** and redirects to Google Drive Folder after the final node. Crawl and Scrape the Website Content* - crawls and scrape *20 pages** from the website. ICP Creator* builds a *Markdown ICP** with: A) Executive Summary B) One-Pager ICP C) Tiering & Lead Scoring D) Demand Gen & ABM Plays E) Evidence Log F) Section Confidence Facts vs. Inferences, confidence scores and tables. Markdown to Google Doc* converts Markdown to Google Docs batchUpdate requests. Then this is used in *Update a document** for updating the empty doc. Create a document* + *Update a document* generate *“ICP for <Business Name>”** in your Drive folder and apply formatting. How to set up 1) Add credentials: Firecrawl (Authorization header), OpenAI (Chat), Google Docs OAuth2. 2) Replace placeholders: {{API_KEY}}, {{google_drive_folder_id}}, {{google_drive_folder_url}}. 3) Publish and open the Form URL to test. Requirements Firecrawl API key • OpenAI API key • Google account with access to the target Drive folder. Resources Google OAuth2 Credentials Setup - https://docs.n8n.io/integrations/builtin/credentials/google/oauth-generic/ OpenAI API key - https://docs.n8n.io/integrations/builtin/credentials/openai/ Firecrawl API key - https://take.ms/lGcUp
by Easy8.ai
Auto-Generate SEO FAQ Answers from Google Sheets with OpenAI Intro/Overview This workflow automates the process of generating SEO-optimized FAQ answers using AI, pulling questions from a Google Sheet and writing answers back into the same sheet. It’s ideal for content marketers, SEO specialists, and digital teams looking to scale FAQ content generation with minimal manual input. By combining the power of Google Sheets, AI, and WordPress, the workflow transforms raw questions into structured, keyword-targeted answers tailored for specific audiences — ready for use on landing pages, blogs, or help centers, and automatically publishes them as WordPress posts. How it works Schedule Trigger**: Executes the workflow at a set interval to check for new or unprocessed questions in the Google Sheet. Get Questions from Sheet**: Reads from a specific Google Sheet, targeting columns for: Question (FAQ prompt) KW (target SEO keyword) Audience (intended reader) Article (desired WordPress post title) Filter**: Ensures only rows without an existing answer are processed (i.e., empty "Answer" column). Generate FAQ Answer**: Passes the question, keyword, and audience to the OpenAI Chat Model using a structured prompt to generate: A concise TL;DR-style summary A detailed, SEO-optimized markdown-formatted answer OpenAI Chat Model**: Utilizes GPT-4 Turbo with a controlled temperature (0.7) and token limit (1000) to produce structured, on-brand, keyword-optimized content. Parse FAQ Answer**: Extracts and formats the AI response into separate fields for writing back to the sheet. Update Sheet with Answer**: Writes the AI-generated answer into the Answer column of the same row in the source Google Sheet. WordPress Node**: Publishes each generated answer as a new WordPress post Uses “Create Post” operation Title: Taken from the Article column in the sheet Content: Uses the detailed AI-generated answer Requires valid WordPress credentials (REST API / Application Password) How to Use Importing the Workflow Download or import the workflow JSON into your n8n instance. Credential Setup Connect your Google Sheets credentials. Add your OpenAI API Key in the relevant node. Connect your WordPress credentials for content publishing. Node Assignment Update the following: Google Sheet ID Sheet range (ensure it includes all relevant columns) Timezone & Schedule Adjust the Schedule Trigger node to match your preferred time and frequency (e.g., every weekday at 9 AM). Testing Guidance Add a few sample FAQ entries in your sheet. Run the workflow manually to verify: Prompt quality Answer accuracy Proper sheet update Successful WordPress post creation Example Use Cases Marketing teams generating bulk FAQ content for landing pages SEO professionals creating keyword-optimized responses for user queries Agencies producing personalized FAQ sections for multiple client niches SaaS companies automating knowledge base content with targeted messaging Content teams publishing AI-generated FAQs directly to WordPress blogs Requirements ✅ Google Account with access to the target Google Sheet ✅ OpenAI API Key (GPT-4 Turbo or equivalent) ✅ WordPress account with REST API or Application Password access ✅ Google Sheet with the following columns: Question: The FAQ prompt KW: Target keyword for SEO Audience: Intended reader persona Article: Desired WordPress post title Answer: Output column (leave empty initially) Customization (Optional Section) Tone & Style**: Modify the system prompt to reflect your brand voice (e.g., friendly, expert, concise). Model**: Use a different AI model (e.g., Gemini, Claude, or OpenAI GPT-4.1). Output Format**: Adjust the markdown output to use different heading levels, bullet styles, or HTML if required. Audience Logic**: Expand the input options to fine-tune responses for more specific demographics or buyer personas. Multi-output Options**: Extend the workflow to post content to Notion, CMS, or documentation platforms alongside Google Sheets and WordPress. This automation accelerates content creation, automatically keeps your FAQ sections SEO-friendly, and publishes the results directly to WordPress — keeping your content pipeline running hands-free once deployed.
by Shun Nakayama
Auto-Audit SEO Traffic Drops with AI & GSC Automatically monitor your Google Search Console data to catch SEO performance drops before they become critical. This workflow identifies pages losing rankings and clicks, scrapes the live content, and uses AI to analyze the gap between "Search Queries" (User Intent) and "Page Content" (Reality). It then delivers actionable fixes—including specific Title rewrites and missing H2 headings—directly to Slack. Ideal for SEO managers, content marketers, and site owners who want a pro-level SEO consultant running 24/7 on autopilot. How it works Compare & Detect: Compares last month's GSC performance with the previous month to identify pages with declining traffic. Deep Dive: For each struggling page, it fetches the top search queries and scrapes the actual Title and H2 tags from your live website. AI Analysis: An AI Agent analyzes why the page is failing by comparing user intent vs. actual content. Report: Sends a "Consultant-style" report to Slack with quantitative data and specific improvement tasks (e.g., "Add this H2 heading"). Set up steps Configure: Open the 📝 Edit Me: Config node and enter your GSC Property URL (e.g., sc-domain:example.com). Connect Credentials: Google Search Console: To fetch performance data. OpenAI: To analyze content and generate ideas. Slack: To receive the weekly reports. Activate: Turn on the workflow to receive your SEO audit every Monday morning.
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 giangxai
Description Automatically turn a simple Telegram message into fully researched, AI-generated visual content and publish it to multiple social platforms using Blotato — with async processing control and built-in status validation. This workflow creates a complete: Telegram → AI → Research → Visual → Publish → Confirm automation pipeline. Who is this for? This template is ideal for: Content creators automating daily posting Solopreneurs building a 24/7 AI content engine Agencies managing multiple social accounts AI automation builders integrating Telegram + Blotato Teams that want a Chat → Publish pipeline If you want to control your entire content system from a single Telegram chat, this workflow is for you. What problem is this workflow solving? Manual content production usually requires: Researching topics manually Switching between AI writing tools and design tools Waiting for rendering without clear status updates Posting separately to each platform No centralized confirmation system This workflow connects research, media generation, publishing, and confirmation into one automated orchestration system. What this workflow does This automation workflow: Accepts a topic or request via Telegram Bot Sends the message to an AI Content Orchestrator Uses AI model + conversation memory for context Creates a Source job via Blotato (research stage) Waits for structured content extraction Retrieves processed research data Creates a Visual generation job (infographic or slideshow) Waits for AI rendering Retrieves final media asset Publishes automatically to: Instagram LinkedIn Sends confirmation back to Telegram Workflow pattern used Trigger → Analyze → Create → Wait → Retrieve → Validate → Publish → Confirm Setup 1. Configure Telegram Trigger Use Telegram Bot Trigger Connect your Telegram Bot token Set update type to message Ensure bot permissions are enabled This is the entry point of the system. 2. Configure AI Core (Orchestrator) Connect: AI Chat Model Conversation Memory storage Ensure: User message is mapped correctly into the AI prompt Memory is attached for contextual responses Output is structured for downstream routing 3. Configure Blotato Research Engine Create Source Connect Blotato credentials Map topic/content request correctly Store Source ID Wait for Source Processing Add a Wait node Adjust delay based on API performance Get Source Retrieve structured research output Validate status = completed Only completed sources proceed to visual generation. 4. Configure Blotato Media Engine Create Visual Connect Blotato credentials Map structured content into visual prompt Select infographic or slideshow format Wait for Rendering Adjust timing based on rendering duration Get Visual Retrieve generated media Validate status = completed 5. Configure Distribution Publish to Instagram Connect Instagram credentials Verify posting permissions Publish to LinkedIn Connect LinkedIn credentials Confirm correct profile or page selection Both platforms publish automatically once media is validated. 6. Configure Telegram Response Use Telegram Response Sender Send success confirmation Optionally include published links Add failure branch notification if needed This keeps the entire workflow controlled from one chat interface. How to customize this workflow You can extend this workflow by: Adding Telegram approval before publishing Generating AI captions and hashtags dynamically Adding retry logic for failed jobs Logging execution results into Google Sheets Expanding to Facebook or TikTok Adding analytics tracking Best practices Keep wait durations aligned with API speed Always validate job status before proceeding Maintain consistent ID mapping (Source ID / Visual ID) Monitor failed execution branches Test with simple content before scaling Nodes used in workflow Telegram Trigger AI Chat Model Memory Store HTTP Request (Blotato API) Wait Switch If Sticky Note Free or Paid? Depends on: Blotato plan AI model usage Social platform API limits This workflow transforms a Telegram message into a fully automated, multi-platform AI content system running 24/7 — including research, visual creation, publishing, and confirmation. (Watch the tutorial video on YouTube)[https://youtu.be/WdTimRjiiH8]
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
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 Oneclick AI Squad
This n8n workflow automates task creation and scheduled reminders for users via a Telegram bot, ensuring timely notifications across multiple channels like email and Slack. It streamlines task management by validating inputs, storing tasks securely, and delivering reminders while updating statuses for seamless follow-up. Key Features Enables users to create tasks directly in chat via webhook integration. Triggers periodic checks for due tasks and processes them individually for accurate reminders. Routes reminders to preferred channels (Telegram, email, or Slack) based on user settings. Validates inputs, handles errors gracefully, and logs task data for persistence and auditing. Workflow Process The Webhook Entry Point node receives task creation requests from users via chat (e.g., Telegram bot), including details like user ID, task description, and channel preferences. The Input Validation node checks for required fields (e.g., user ID, task description); if validation fails, it routes to the Error Response node. The Save to Database node stores validated task data securely in a database (e.g., PostgreSQL, MongoDB, or MySQL) for persistence. The Success Response node (part of Response Handlers) returns a confirmation message to the user in JSON format. The Schedule Trigger node runs every 3 minutes to check for pending reminders (with a 5-minute buffer for every hour to avoid duplicates). The Fetch Due Tasks node queries the database for tasks due within the check window (e.g., reminders set for within 3 minutes). The Tasks Check node verifies if fetched tasks exist and are eligible for processing. The Split Items node processes each due task individually to handle them in parallel without conflicts. The Channel Router node directs reminders to the appropriate channel based on task settings (e.g., email, Slack, or Telegram). The Email Sender node sends HTML-formatted reminder emails with task details and setup instructions. The Slack Sender node delivers Slack messages using webhooks, including task formatting and user mentions. The Telegram Sender node sends Telegram messages via bot API, including task ID, bot setup, and conversation starters. The Update Task Status node marks the task as reminded in the database (e.g., updating status to "sent" with timestamp). The Workflow Complete! node finalizes the process, logging completion and preparing for the next cycle. Setup Instructions Import the workflow into n8n and configure the Webhook Entry Point with your Telegram bot's webhook URL and authentication. Set up database credentials in the Save to Database and Fetch Due Tasks nodes (e.g., connect to PostgreSQL or MongoDB). Configure channel-specific credentials: Telegram bot token for Telegram Sender, email SMTP for Email Sender, and Slack webhook for Slack Sender. Adjust the Schedule Trigger interval (e.g., every 3 minutes) and add any custom due-time logic in Fetch Due Tasks. Test the workflow by sending a sample task creation request via the webhook and simulating due tasks to verify reminders and status updates. Monitor executions in n8n dashboard and tweak validation rules or response formats as needed for your use case. Prerequisites Telegram bot setup with webhook integration for task creation and messaging. Database service (e.g., PostgreSQL, MongoDB, or MySQL) for task storage and querying. Email service (e.g., SMTP provider) and Slack workspace for multi-channel reminders. n8n instance with webhook and scheduling enabled. Basic API knowledge for bot configuration and channel routing. Modification Options Customize the Input Validation node to add fields like priority levels or recurring task flags. Extend the Channel Router to include additional channels (e.g., Microsoft Teams or SMS via Twilio). Modify the Schedule Trigger to use dynamic intervals based on task urgency or user preferences. Enhance the Update Task Status node to trigger follow-up actions, like archiving completed tasks. Adjust the Telegram Sender node for richer interactions, such as inline keyboards for task rescheduling. Explore More AI Workflows: Get in touch with us for custom n8n automation!