by Geoffrey Saxena
👤 Who is this for? This workflow is great for n8n users who want to prevent duplicate or overlapping workflow runs. If you're a developer, DevOps engineer, or automation enthusiast managing tasks like database updates, syncing tools, or hitting rate-limited APIs, this one’s for you. 🧩 What problem does this solve? In the real world, automations can get triggered at the same time—whether that’s because of multiple webhook calls, overlapping schedules, or retries. And when two workflows try to do the same thing at once (like updating a record or syncing data), it can cause conflicts, data corruption, or wasted API calls. This workflow helps avoid that problem by using Redis as a lock system, so only one instance runs at a time. Think of it like putting up a “🚧 Workflow in Progress” sign while your logic is running. ⚙️ What this workflow does When the workflow starts, it tries to set a Redis key as a lock with a short expiry. If the lock is free: Your main business logic runs. Once it's done, the lock is cleared. If the lock is already taken (i.e., another run is in progress): The workflow will wait and retry a few times. If a duplicate request shows up while one is already being processed: It skips that duplicate to avoid unnecessary work. You can customize both the timeout and retry logic to match your needs. 🛠️ Setup guide To use this template: You’ll need access to a Redis instance (either self-hosted or managed like Upstash, Redis Cloud, etc). Set up your Redis credentials in the n8n Redis node. Swap out the webhook node with your actual trigger or logic. Adjust the lock timeout to match how long your task typically takes. > 💡 Bonus Tip: Use this pattern wherever you need idempotency or want to avoid duplicate processing. 🧪 Example use case Let’s say you have a workflow that syncs ClickUp tickets to Google Sheets. It runs daily at 9 AM and updates tickets, adds notes, and makes sure nothing is missed. But what if two runs start at the same time? Or someone triggers a manual sync while the scheduled one is still working? By wrapping that whole sync inside this Redis locking template, you can make sure it only runs one at a time, saving your APIs (and your sanity).
by Alex Huy
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Description This n8n workflow automatically scrapes Airbnb listings from a specified location and saves the data to a Google Sheet. It performs pagination to collect listings across multiple pages, extracts detailed information for each property, and organizes the data in a structured format for easy analysis. How it Works The workflow operates through these high-level steps: Search Initialization: Starts with an Airbnb search for a specific location (London) with defined check-in/check-out dates and guest count Pagination Loop: Automatically processes multiple pages of search results using cursor-based pagination Data Extraction: Parses listing information including names, prices, ratings, reviews, and URLs Detail Enhancement: Fetches additional details for each listing (house rules, highlights, descriptions, amenities) Data Storage: Saves all collected data to a Google Sheet with proper formatting Loop Control: Continues until reaching the page limit (2 pages) or no more results are available Setup Steps Prerequisites n8n instance with MCP (Model Context Protocol) support Google Sheets API credentials configured Airbnb MCP client properly set up Configuration Steps Configure MCP Client Set up the Airbnb MCP client with credential ID: Ensure the client has access to airbnb_search and airbnb_listing_details tools Google Sheets Setup Create a Google Sheet with ID: 15IOJquaQ8CBtFilmFTuW8UFijux10NwSVzStyNJ1MsA Configure Google Sheets OAuth2 credentials (ID: 6YhBlgb8cXMN3Ra2) Ensure the sheet has these column headers: "id, name, url, price_per_night, total_price, price_details beds_rooms, rating, reviews, badge, location houseRules, highlights, description, amenities" Search Parameters Location: "London" (can be modified in the "Airbnb Search" node) Adults: 7 Children: 1 Check-in: "2025-08-14" Check-out: "2025-08-17" Page limit: 2 (can be adjusted in the "If1" condition node) Execution Use the manual trigger "When clicking 'Execute workflow'" to start the process Monitor the workflow execution through the n8n interface Check the Google Sheet for populated data after completion Key Features Automatic Pagination: Processes multiple pages without manual intervention Comprehensive Data: Extracts both basic listing info and detailed property information Error Handling: Includes JSON parsing error handling and data validation Batch Processing: Uses split batches for efficient processing of individual listings Real-time Updates: Appends new data to existing Google Sheet records Output Data Structure Each listing contains: Basic info: ID, name, URL, pricing details, room/bed count Ratings: Average rating and review count Location: Latitude and longitude coordinates Enhanced details: House rules, highlights, descriptions, amenities Metadata: Page number, check-in/out dates, badges
by Ventsislav Minev
Automated Email Attachment Organizer Automatically process labeled emails with attachments into organized Google Drive folders Who Is This For? Teams or Individuals** needing to: Automatically sort invoices, receipts, and files. Organize client documents by date. Verify sender emails against a whitelist. Timestamp files to avoid duplicate names. What Does This Workflow Solve? 🕒 Manual Email Sorting: Saves time by automating the organization of email attachments. 📂 Disorganized Cloud Storage: Ensures attachments are neatly stored in Google Drive folders. 📧 Unverified Sender Issues: Filters and validates emails using a whitelist. 🔄 Duplicate Filenames: Uses timestamps to ensure every file name is unique. Setup Guide 1. Pre-Requisites Whitelist Sheet**: Make a copy of the Example Whitelist Sheet Gmail Filter**: Create a filter in Gmail to label emails with attachments. To Create a Gmail Filter: Open your Gmail Inbox. Click the search bar and select "Show search options". Enter your criteria (e.g., type has:attachment). Click "Create filter". Choose "Apply the label: Custom_Label" and save. 2. Credentials Setup Make sure your n8n instance is connected with: Gmail Account**: (via OAuth2) Google Drive Account**: (via OAuth2) Google Sheets** (via OAuth2) 3. Configure Your n8n Workflow Nodes 1. Trigger and Email Retrieval Gmail Trigger**: Setup check interval and filters for emails (i.e. emails labeled with Custom_Label) 2. Whitelist settings Lookup in Sheets**: Searches for a row with the sender email. Configure this node to point to your whitelist spreadsheet containing two columnds: |email|company| 3. File storage location Confirue parent folder to create sub-folders and store files into in the Create Company Folder node Parent Folder dropdown Final Steps Test Your Workflow: Run the workflow to verify emails are processed and files are uploaded correctly. Happy Automating!
by David Ashby
Complete MCP server exposing 3 Background Removal API operations to AI agents. ⚡ Quick Setup Need help? Want access to more workflows and even live Q&A sessions with a top verified n8n creator.. All 100% free? Join the community Import this workflow into your n8n instance Credentials Add Background Removal API credentials Activate the workflow to start your MCP server Copy the webhook URL from the MCP trigger node Connect AI agents using the MCP URL 🔧 How it Works This workflow converts the Background Removal API into an MCP-compatible interface for AI agents. • MCP Trigger: Serves as your server endpoint for AI agent requests • HTTP Request Nodes: Handle API calls to https://api.remove.bg/v1.0 • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (3 total) 🔧 Account (1 endpoints) • GET /account: Fetch Account Balance 🔧 Improve (1 endpoints) • POST /improve: Submit Image for Improvement 🔧 Removebg (1 endpoints) • POST /removebg: Remove Image Background 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Path parameters and identifiers • Query parameters and filters • Request body data • Headers and authentication Response Format: Native Background Removal API responses with full data structure Error Handling: Built-in n8n HTTP request error management 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Cursor: Add MCP server SSE URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n HTTP request handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
by David Ashby
Complete MCP server exposing 2 BIN Lookup API operations to AI agents. ⚡ Quick Setup Need help? Want access to more workflows and even live Q&A sessions with a top verified n8n creator.. All 100% free? Join the community Import this workflow into your n8n instance Credentials Add BIN Lookup API credentials Activate the workflow to start your MCP server Copy the webhook URL from the MCP trigger node Connect AI agents using the MCP URL 🔧 How it Works This workflow converts the BIN Lookup API into an MCP-compatible interface for AI agents. • MCP Trigger: Serves as your server endpoint for AI agent requests • HTTP Request Nodes: Handle API calls to https://api.bintable.com/v1 • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (2 total) 🔧 Balance (1 endpoints) • GET /balance: Check Balance 🔧 {Bin} (1 endpoints) • GET /{bin}: Lookup for bin 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Path parameters and identifiers • Query parameters and filters • Request body data • Headers and authentication Response Format: Native BIN Lookup API responses with full data structure Error Handling: Built-in n8n HTTP request error management 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Cursor: Add MCP server SSE URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n HTTP request handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
by David Olusola
A complete, ready-to-deploy Telegram chatbot template for food delivery businesses. This intelligent assistant handles orders, payments, customer service, and order tracking with human-in-the-loop payment verification. ✨ Key Features 🤖 AI-Powered Conversations - Natural language order processing using Google Gemini 📱 Telegram Integration - Seamless customer interaction via Telegram 💳 Payment Verification - Screenshot-based payment confirmation with admin approval 📊 Order Tracking - Automatic Google Sheets logging of all orders 🧠 Memory Management - Contextual conversation memory for better customer experience 🌍 Multi-Currency Support - Easily customizable for any currency (USD, EUR, GBP, etc.) 📍 Location Flexible - Adaptable to any city/country 🔄 Human Oversight - Manual payment approval workflow for security 🛠️ What This Template Includes Core Workflow Customer Interaction - AI assistant takes orders via Telegram Order Confirmation - Summarizes order with total and payment details Information Collection - Gathers customer name, phone, and delivery address Payment Processing - Handles payment screenshots and verification Admin Approval - Human verification of payments before order confirmation Order Tracking - Automatic logging to Google Sheets with delivery estimates Technical Components AI Agent Node - Google Gemini-powered conversation handler Memory System - Maintains conversation context per customer Google Sheets Integration - Automatic order logging and tracking Telegram Nodes - Customer and admin communication Payment Verification - Screenshot detection and approval workflow Conditional Logic - Smart routing based on message types 🚀 Quick Setup Guide Prerequisites n8n instance (cloud or self-hosted) Telegram Bot Token Google Sheets API access Google Gemini API key Step 1: Replace Placeholders Search and replace the following placeholders throughout the template: Business Information [YOUR_BUSINESS_NAME] → Your restaurant/food business name [ASSISTANT_NAME] → Your bot's name (e.g., "Alex", "Bella", "Chef Bot") [YOUR_CITY] → Your city [YOUR_COUNTRY] → Your country [YOUR_ADDRESS] → Your business address [YOUR_PHONE] → Your business phone number [YOUR_EMAIL] → Your business email [YOUR_HOURS] → Your operating hours (e.g., "9AM - 11PM daily") Currency & Localization [YOUR_CURRENCY] → Your currency name (e.g., "USD", "EUR", "GBP") [CURRENCY_SYMBOL] → Your currency symbol (e.g., "$", "€", "£") [YOUR_TIMEZONE] → Your timezone (e.g., "EST", "PST", "GMT") [PREFIX] → Order ID prefix (e.g., "FB" for "Food Business") Menu Items (Customize Completely) [CATEGORY_1] → Food category (e.g., "Burgers", "Pizza", "Sandwiches") [ITEM_1] through [ITEM_8] → Your menu items [PRICE_1] through [DELIVERY_FEE] → Your prices Add or remove categories and items as needed Payment & Support [YOUR_PAYMENT_DETAILS] → Your payment information [YOUR_PAYMENT_PROVIDER] → Your payment method (e.g., "Venmo", "PayPal", "Bank Transfer") [YOUR_SUPPORT_HANDLE] → Your Telegram support username Step 2: Configure Credentials Telegram Bot - Add your bot token to Telegram credentials Google Sheets - Connect your Google account and create/select your orders spreadsheet Google Gemini - Add your Gemini API key Sheet ID - Replace [YOUR_GOOGLE_SHEET_ID] with your actual Google Sheet ID Step 3: Customize Menu Update the menu section in the AI Agent system message with your actual: Food categories Item names and prices Delivery fees Any special offerings or combos Step 4: Test & Deploy Import the template into your n8n instance Test the conversation flow with a test Telegram account Verify Google Sheets logging works correctly Test the payment approval workflow Activate the workflow 💰 Currency Examples USD Version 🍔 MENU & PRICES (USD) Burgers Classic Burger – $12.99 Cheese Burger – $14.99 Deluxe Burger – $18.99 Delivery Fee – $3.99 EUR Version 🍔 MENU & PRICES (EUR) Burgers Classic Burger – €11.50 Cheese Burger – €13.50 Deluxe Burger – €17.50 Delivery Fee – €3.50 📊 Google Sheets Structure The template automatically logs orders with these columns: Order ID Customer Name Chat ID Phone Number Delivery Address Order Info Total Price Payment Status Order Status Timestamp 🔧 Customization Options Easy Customizations Menu Items - Add/remove/modify any food items Pricing - Update to your local pricing structure Currency - Change to any currency worldwide Business Hours - Modify operating hours Delivery Areas - Add location restrictions Payment Methods - Update payment information# Header 1
by Risper
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. How It Works This n8n workflow automatically discovers high-quality business leads from Reddit posts by analysing posts across targeted subreddits. Loads your business profile from a connected Google Sheet. Uses AI to identify relevant subreddits where your potential customers engage. Generates intent-based Reddit search queries based on your services, keywords, and client pain points. Searches Reddit in real time using the generated queries. Classifies posts based on whether they show lead potential. Analyses high-potential posts for service-fit, urgency, and estimated value. Filters and scores leads to prioritize high-conversion opportunities. Saves the most promising leads to a dedicated Google Sheet. Sends Slack alerts to notify your sales team for immediate follow-up. Requirements Before using this workflow, ensure the following services are connected and configured: Google Sheets (OAuth2): Reads your business profile and writes qualified leads Reddit (OAuth2) Perform Reddit post searches based on generated queries Google Gemini API Analyse posts, generate queries, and extract insights Slack API : Notify your team with qualified lead summaries Google Sheets Setup You will need two Google Sheets: Business Profile Sheet (Input) This sheet contains a single row describing your service business. The workflow reads this to generate relevant subreddit selections and search queries. Required Fields (as headers in row 1): profession industry primary_services service_keywords target_client_profile pain_points intent_signals urgency_indicators price_range Reddit Leads Sheet (Output) This sheet stores high-quality Reddit posts identified as potential leads. The workflow appends or updates rows based on post_id to avoid duplication. Expected Columns: post_id post_url post_title post_post post_subreddit post_date
by Jimleuk
This n8n template showcases a cool feature of n8n Forms where the form itself can be defined dynamically using the form fields schema. It may be debateable how useful this template actually is since both Airtable and Baserow provide form interfaces already but still a great exercise and demonstration if ever the use-case comes around. How it works A form trigger is used to dynamically select a database/table from which to build the n8n form from. the table's schema is imported into the workflow and using the code node, is converted into the n8n form fields schema. This let's us dynamically build the fields in our n8n form when we choose to define the form using the JSON option. Once the n8n form submits, we convert the values back into our table's API schema so that we can create a new row. Note any files/attachments fields are removed as they need to be handled separately. Files are processed separately as they may first need to be stored. Once complete, the reference is saved into the newly created row. Check out the example Airtable here - https://airtable.com/appfP15Xd0aVZR9xV/shrGFgXLyQ4Jg58SU How to use The n8n form is autogenerated which means you only need provide access to the table. Using this approach, this template can be reused for any number of Airtable and/or Baserow tables. Requirements You'll need either an Airtable account or a Baserow account to use this template. Accessible n8n instance to your users Customising this workflow Not using either Airtable or Baserow? Theoretically any datastore which provides a fields schema can be used with this template. If you're feeling creative, split the table into multiple forms for a better user experience.
by Yang
📽️ What this workflow does This workflow turns a user-submitted form with country or animal names into a cinematic video with animated scenes and immersive ambient audio. Using GPT-4 for prompt generation, Dumpling AI for visual creation,& Replicate for motion animation, ElevenLabs for sound generation, and Creatomate for video stitching, it fully automates video production — from raw idea to rendered file. 🎯 What problem is this solving? Creating engaging multimedia content can take hours. This workflow automates the entire process of ideation, design, and rendering of high-quality cinematic clips, eliminating the need for manual video editing or audio production. 👥 Who is this for? Content creators and educators Digital artists and storytellers Marketers or YouTubers creating short-form visual content No-code/AI automation enthusiasts ⚙️ Setup Instructions ✅ Step 1: Google Sheet Create a Google Sheet with two columns: Title Generated videos Update the Sheet ID and tab name in the final node. ✅ Step 2: Google Drive Create two folders: One for ambient audio tracks One for final generated videos Update the folder IDs in both Google Drive nodes. ✅ Step 3: Credentials Setup Make sure all your API tokens are saved as credentials in n8n. This workflow uses the following integrations: OpenAI (GPT-4) Dumpling AI (via HTTP header) Replicate.com ElevenLabs Google Drive Google Sheets Creatomate ✅ Step 4: Form Fields Ensure your trigger form includes these fields: Title Country 1, Country 2, Country 3, Country 4 Style (e.g., cinematic, epic, fantasy, noir, etc.) 🧩 How it works User Form Submission Kicks off the workflow with the required inputs. Format Inputs Combines all 4 countries/animals into a single array. GPT-4: Generate Visual Prompts Uses GPT-4 to create rich cinematic descriptions per animal/country. Dumpling AI: Create Images Each description becomes a high-quality visual. GPT-4: Create Motion Prompts Each image prompt is rewritten into motion-based video prompts. Replicate: Animate Prompts and images are sent to Replicate’s model for animation. GPT-4: Generate Sound Prompt Based on the style, GPT-4 creates an ambient sound idea. ElevenLabs: Create Ambient Audio Audio is generated and uploaded to Google Drive. Creatomate: Stitch All Media All 4 motion videos and the audio track are stitched into one cinematic output. Upload to Google Drive + Log to Sheet Final video is saved in Drive and logged in Sheets with its title and link. 🛠️ How to Customize 🎨 Modify GPT prompts for different themes (e.g., horror, fantasy, sci-fi). 🧠 Swap animals for characters, objects, or locations. 🎧 Replace ambient sound with ElevenLabs voiceovers or music. 📂 Add metadata logging (generation time, duration, tags). 🧪 Try using alternative video tools like Pika Labs or Runway ML. ✅ Requirements n8n self-hosted or cloud instance Active accounts for: OpenAI, Dumpling AI, Replicate, ElevenLabs, Creatomate Google credentials set up for Drive + Sheets This is a perfect end-to-end automation that showcases the power of AI + automation for video storytelling.
by Dele Tosh
🚀 Automate your social media presence! This workflow duo automatically curates content from your Wallabag RSS feeds, generates platform-specific posts using AI, and publishes them—complete with AI-generated images. ⚙️ Setup & Configuration Required Credentials & Services: To run this workflow, you will need to set up the following credentials in n8n: Wallabag RSS Feeds:** This workflow uses Wallabag as your content curation service. Wallabag is the most cost-effective option—easy to self-host or use as a paid service. You'll need to generate access tokens for RSS feed access. Airtable API Key:** To create and update records in your "Content Store" database. LLM Provider API Key:* To power the social media content generation. The demo uses *Groq (llama-3.3-70b-versatile)**, but this can be replaced with any preferred LLM (OpenAI, Anthropic, etc.). GetLate API Key:** To authenticate and post to your social media platforms. Imgbb API Key:** To host the AI-generated images. An Image Generation Service API Key:* For creating images from prompts. The demo uses *Hugging Face (stable-diffusion-xl-base-1.0)**, but this can be swapped for any other service (Fal.ai, Stability AI, etc.). Key Setup Requirement: Define Your Tagging Convention Before running this workflow, establish a consistent tagging system in Wallabag where each tag corresponds to a specific social media platform. For example: #to-share-linkedin for LinkedIn content #to-share-bluesky for Bluesky content #to-share-instagram for Instagram content Adding More Feeds & Platforms: New Feeds:** Simply duplicate the example sub-workflows and update the RSS feed URL and target platform information for each new tag/platform combination. New Platforms:** To add support for additional social platforms, duplicate one of the existing platform sub-workflows (LinkedIn or Bluesky) and update the platform-specific parameters, prompts, and GetLate API settings for your new platform. Airtable Database Schema: "RSS Feed - Content Store" The workflow uses an Airtable base with the following fields to track content from ingestion to publication: id (Primary Field): Formula, for unique record ID (RECORD_ID()) audience_targeted: Long text author: Long text character_count: Number content_markdown: Long text cta_used: Long text feed_id: Single line text goal_applied: Long text image_filename: Singe line text image_id: Single line text image_link: URL image_prompt: Long text is_posted: Number, default is 0 platform: Single line text post_text: Long text suggested_hashtags: Long text title: Long text tone_applied: Long text article_url: URL Customizable User Inputs: This workflow is built for flexibility. Key inputs you can customize include: Wallabag RSS Feed URL & Platform Tag:** The specific feed and platform-specific tag (e.g., #to-share-linkedin) to monitor in Workflow #1. Target Social Platform:** Defined per feed in the "Edit Field" node. Content Generation Schedule:** The frequency for auto-posting in the Schedule Trigger. Brand Voice & LLM Parameters:** The tone, style, and specific instructions for the AI in the "Set Custom SMCG Prompt" node. Platform-Specific Prompts:** The template used to generate posts for each social network (Instagram, LinkedIn, etc.). Posting Behavior & Image Generation:* Configured within the *SMCG (Social Media Content Generation) node**. This is where you set the posting mode (immediate vs. draft) and define a boolean for each platform to enable or disable AI-generated images for its posts. 📥 Workflow 1: RSS Aggregator & Content Store RSS Trigger** → Pulls tagged articles from Wallabag feeds using platform-specific tags Platform Assignment** → Sets target social platform based on tag Content Conversion** → HTML to Markdown formatting Airtable Storage** → Saves articles to content database 🌟 Adding New RSS Feeds: To monitor additional Wallabag feeds for different content sources, simply duplicate the existing RSS feed sub-workflow and update the RSS URL with your new Wallabag access token and platform-specific tag. Each feed can target a different social platform or content category. 🔄 Workflow 2: AI Content Generator & Publisher Schedule Trigger** → Runs on your preferred frequency Content Selection** → Pulls unpublished articles from Airtable AI Configuration** → Sets brand voice, posting behavior, and image generation preferences Platform Routing** → Directs to appropriate social platform workflow AI Content Generation** → Creates posts and image prompts using LLM Image Generation** → Creates & hosts images when enabled Social Publishing** → Posts to platforms via GetLate API Database Update** → Marks content as published in Airtable 🌟 Adding New Platform Support: To extend this workflow to additional social platforms, simply duplicate one of the existing platform sub-workflows and update the platform-specific parameters, LLM prompts, and GetLate API configuration for your target platform.
by Anurag Srivastava
🧠 AI Prompt Generator Workflow – n8n Documentation Who is this for? This workflow is for AI builders, prompt engineers, developers, marketers, and no-code creators who want to convert rough user input into structured, high-quality prompts for LLMs. It’s especially useful for tools that rely on precision prompting and want to automate the discovery of intent and constraints. What problem is this workflow solving? / Use case Many users struggle to write effective prompts due to vague ideas or unclear formatting needs. This workflow: Collects structured user input. Dynamically generates clarifying questions. Returns a well-formatted AI prompt based on the user's intent and context. This ensures the generated prompt is useful for downstream AI agents without requiring technical understanding from the end user. What this workflow does Start with a branded form UI The user is shown a styled form with questions like: What do you want to build? What tools can you access? What input can be expected? What output do you expect? Analyze and generate relevant follow-up questions The workflow sends the user's answers to Google Gemini (via LangChain) which outputs 1–3 clarifying questions. These questions are parsed into a dynamic form. Loop through and collect follow-up answers Each follow-up question is shown in a form one at a time to capture additional context. Merge all inputs The base intent and follow-up responses are merged into a single context block. Generate a final AI-ready prompt The prompt generator node formats everything into a clean, six-section structure: <constraints> <role> <inputs> <tools> <instructions> <conclusions> Display the final result The finished prompt is shown in a clean UI where users can easily copy and reuse it. Setup Credentials Required Google Gemini (PaLM) API credentials (already integrated as Google Gemini(PaLM) Api account 2). Form Trigger Ensure the On form submission trigger is exposed via a webhook or public endpoint (e.g. using ngrok or deployed server). Styling Custom CSS is included in all form nodes for a beautiful UI. You can modify this to match your branding. Environment This workflow is compatible with self-hosted n8n or n8n.cloud. Webhooks must be accessible to users who will fill out the form. How to customize this workflow to your needs Change the base questions** Update the BaseQuestions form node to add or remove fields depending on your use case. Modify Gemini prompts** You can edit the system prompt inside PromptGenerator to change tone, output structure, or AI instructions. Change prompt formatting** If you use a different AI agent (like GPT, Claude, or Mistral), adjust the section labels and formatting to suit that agent’s expected input. Send results elsewhere** Add integration nodes after PromptGenerator, such as: Google Docs / Notion (to log prompts) Gmail / Slack (to notify your team) Zapier / Make (to push to other automation flows) Skip follow-up questions (optional)** If your base form collects all needed info, you can bypass the RelevantQuestions form section by modifying conditional logic. Example Output Prompt (Structure) <role> You are an AI assistant that converts videos into LinkedIn posts with a witty tone. </role> <inputs> - A short video (max 5 minutes) - Desired tone: witty - Style: both summary and quotes - Audience: general network </inputs> <tools> You do not have access to APIs or web search. </tools> <instructions> 1. Parse transcript. 2. Extract insights and quotes. 3. Write an engaging, witty LinkedIn post under 3000 characters. </instructions> <constraints> Avoid technical jargon. No generic intros. Make it platform-native. </constraints> <conclusions> Return a LinkedIn-ready post that starts with a hook and ends with hashtags.
by Gareth B. Davies
Create engaging, structured threads on Bluesky with precise control over post timing and visibility. This workflow helps content creators and social media managers schedule and publish threaded posts that maintain proper connections and formatting, ensuring your content appears exactly as intended. How it works Creates an initial visible post that starts your thread Adds a series of hidden reply posts that form the body of your thread Maintains proper parent-child relationships between posts to ensure correct threading Enforces timing delays between posts to prevent rate limiting Concludes with two visible posts at the end of your thread The result is a clean, professional-looking thread where only the first and last two posts are immediately visible to your followers, encouraging engagement while maintaining a clean profile view. Set up steps (10-30 minutes) Create a Bluesky account Enter your Bluesky handle and app password in the "Set Bluesky Credentials" node Customize the post text in the Code nodes to match your content: Initial visible post Hidden reply posts Final visible posts Adjust the scheduling in the "Run Daily at 9 AM" node to match your preferred posting time Suggested enhancements Add error handling with retry logic for API failures Add input validation for post length and credential format Include error notifications via email or Slack Add data persistence to track successful posts and resume failed threads Make timing delays configurable with exponential backoff Add monitoring for rate limits and API quotas For Social Media Managers who want: Control over post visibility and timing Automated posting of long-form content Professional-looking content presentation