by Chris Rudy
Who's it for Marketing teams, copywriters, and agencies who need to quickly generate and iterate on ad copies for Meta and TikTok campaigns. Perfect for brands that want AI-powered copy generation with human review and approval built into the workflow. What it does This workflow automates the ad copy creation process by: Collecting brand and product information through a form Using AI to generate tailored ad copies based on brand type (Fashion or Problem-Solution) Sending copies to Slack for team review and approval Handling revision requests with feedback incorporation Limiting revisions to 3 rounds to maintain efficiency How to set up Configure your OpenAI credentials in the OpenAI nodes Set up Slack integration and select your review channel in all Slack nodes Customize the AI prompts in the OpenAI nodes to match your brand voice Test the form to ensure file uploads and data collection work properly Activate the workflow when ready Requirements OpenAI API access (GPT-3.5 or GPT-4) Slack workspace with appropriate channel permissions Self-hosted n8n instance (for file upload functionality) How to customize Adjust the AI prompts in OpenAI nodes to match your specific industry or brand guidelines Modify the revision limit in the "Edit Fields: Revision Counter Max 3" node Add additional brand types in the form dropdown and corresponding AI nodes Customize Slack messages to match your team's communication style
by System Admin
No description available
by Adrian Kendall
Key Features Implements a simple round-robin distribution mechanism using a Data Table to track the last route used. Supports multiple downstream workflows or resources, balancing workload across them sequentially. Uses Switch and Code nodes for flexible routing logic. Designed for easy customization — replace placeholder “Route” nodes with sub-workflow calls or API triggers. Works with any trigger type, and includes merge logic to preserve input data. Nodes in Use | Node Name | Type | Purpose | |-------------------------------------------------|---------------|--------------------------------------------------------------------------| | When clicking ‘Execute workflow’ | Manual Trigger | Test entry point for manual execution. | | Calculate the next route to use | Data Table | Retrieves the last used route number. | | Code in JavaScript | Code | Increments the route counter (0–3 cycle). | | Update last_used in the datatable | Data Table | Updates the “Last_Used” field to track next route. | | Round Robin Router | Switch | Routes workflow execution to the correct path based on Last_Used value. | | Route 1 / Route 2 / Route 3 | NoOp | Placeholder routes — replace with your own workflows. | | Merge trigger data to pass to subworkflow if needed | Merge | Combines trigger data with routing data for sub-workflows. | | Sticky Notes | Annotations | Explain workflow logic and intended replacements. | How It Works The workflow starts when triggered manually (or by another workflow). The Data Table node fetches the current value of Last_Used, which identifies which route was last used. The Code node increments that value, resetting to 0 after 3, creating a round-robin cycle. The Data Table update node stores the new Last_Used value. The Switch node reads Last_Used and routes execution to the correct downstream branch. Each route can represent a duplicated workflow, resource, or API endpoint. Optionally, the Merge node reattaches trigger data before sending it to sub-workflows. Step-by-Step Trigger the workflow manually or via webhook/cron/etc. Retrieve current route index using the Data Table node. Increment route counter with the JavaScript Code node: If Last_Used = 3, it resets to 0. Otherwise, increments by 1. Update Data Table with the new Last_Used value. Route execution using the Switch node based on that value. Send data to corresponding subworkflow (Route 1, Route 2, Route 3). Replace the NoOp nodes with your target workflow or HTTP call nodes for real routing. Use Cases Distribute load across multiple API endpoints to prevent throttling. Run identical sub-workflows on different worker instances for parallel processing. Simulate load balancing during testing of N8N workflows. Sequentially alternate between external systems or servers handling similar tasks. Act as a proof-of-concept for balancing strategies before scaling up.
by Automate With Marc
🎥 Auto-Caption Videos for Instagram with Google Drive + Submagic Description Save hours on video editing with this workflow! Whenever you upload a video to a specific Google Drive folder, it’s automatically sent to Submagic to generate engaging captions (using your chosen template). Once the captioned video is ready, it’s pulled back, downloaded, and uploaded into your Google Drive—fully captioned and Instagram-ready. Watch build along videos for workflows like these on: www.youtube.com/@automatewithmarc How It Works Google Drive Trigger – Listens for new video uploads in your chosen folder. Post to Submagic – Sends the video URL to Submagic’s API with your caption style (e.g. Hormozi). Wait Loop + Status Check – Polls Submagic until the captioning job is complete. Download Captioned Video – Retrieves the finished captioned video file. Upload to Google Drive – Saves the captioned version back into Drive, ready for Instagram posting. Why You’ll Love It 🎯 Zero manual steps — captioning happens automatically. ⚡ Faster IG content pipeline — ready-to-post reels in minutes. 🎨 Consistent style — apply your favorite Submagic caption templates every time. ☁️ Cloud-first — works entirely with Google Drive + Submagic, no local processing needed. Requirements Google Drive account (with OAuth credentials) Submagic API key n8n (Cloud or self-hosted)
by Wayne Simpson
This template is a practical introduction to n8n Webhooks with built-in examples for all major HTTP methods and authentication types. It is designed as a learning resource to help you understand how webhooks work in n8n, how to connect them to a data store, and how to secure them properly. What’s included: Webhook nodes for GET, POST, PUT, PATCH, DELETE, and HEAD Demonstrations of Basic Auth, Header Auth, and JWT Auth Supabase integration for creating, retrieving, updating, and deleting rows Example response handling with Respond to Webhook nodes Sticky notes explaining each method, response type, and security option Use this template to: Learn how to configure and test webhooks in n8n Explore different authentication strategies Connect webhooks to a simple Supabase table Understand best practices for securing webhook endpoints This workflow is intended as an educational starting point. It shows you how to receive requests, map data, and return responses securely. For production use, adapt the structure, apply your own security policies, and extend the logic as needed. Check out the YouTube video here: https://www.youtube.com/watch?v=o6F36xsiuBk
by System Admin
Tagged with: , , , ,
by Kees Bosch - Browserflow
Scrape LinkedIn Post Comments & Reactions → Export to Google Sheets This workflow lets you quickly extract all comments and reactions from any public LinkedIn post using Browserflow, then automatically saves the results into two separate Google Sheets tabs. Perfect for audience research, content analysis, engagement tracking, or social listening. ⚠️ Disclaimer – Community Node Notice This template uses a verified community node available inside the n8n cloud environment. To use it, go to “Nodes” → search for: Browserflow for Linkedin …and click Install. It’s officially verified and accessible directly from n8n cloud. In case you wish to run this template locally, you need to go to the settings, click community nodes and search for n8n-nodes-browserflow. Then after installing you can start using the actions in this node. How it works • You click Execute workflow to manually start the process • The workflow fetches your Google Sheet to grab all the post urls that have not been scraped yet. • The Posts tab is updated so it registered which post was scraped. • Browserflow scrapes the LinkedIn post (comments + reactions) based on the post URL you provide • The workflow splits the scraped data into two streams: — one for reactions — one for comments • Each item is appended into its matching Google Sheet tab — keeping everything clean and organized Requirements n8n (cloud or self-hosted) Browserflow account (free 7-day trial available at https://browserflow.io) Installed community node: Browserflow for LinkedIn Google account for Sheets access ⚙️ Setup Instructions Install the Browserflow Community Node Go to Nodes → search Browserflow for LinkedIn → Install Get your Browserflow API Key Available at https://browserflow.io Connect your Browserflow Credential Open any Browserflow node → Add Credential → paste your API key Prepare Your Sheet Make a copy of the provided Make a copy of the Google Sheets template. It already includes three tabs: Posts, Comments and Reactions Find some posts you want to scrape Find some posts on LinkedIn, click on the top right corner and click copy link to post, then fill the url in the Posts tab of the sheet. Run the Workflow Click Execute workflow, paste your LinkedIn post URL, and let it scrape everything automatically 🧩 Customization Tips Add more columns to the Sheets if you want to store additional metadata Combine this workflow with analytics or CRM integrations Add filters if you only want certain reaction types or comments containing keywords Schedule it with a Cron trigger to monitor post engagement over time Use additional Browserflow actions to scrape profiles or send invites Let me know if you want me to also create the sticky notes, rewrite for posting in the n8n template library, or generate screenshots with annotation!
by Yasser Sami
Zillow Property Scraper Using Olostep API This n8n template automates Zillow property data collection by scraping Zillow search results using the Olostep API. It extracts property price, link to listing, and location, removes duplicates, and stores everything in a Google Sheet or Data Table. Who’s it for Real estate analysts and investors researching property markets. Lead generators needing structured Zillow data. Freelancers and automation builders collecting housing listings. Anyone needing fast, clean Zillow data without manual scraping. How it works / What it does Form Trigger User enters a Zillow search URL. This becomes the base Zillow search URL. Pagination Logic A list of page numbers (1–7) is generated. Each number is used to load the next Zillow search page. Scrape Zillow Pages with Olostep For each page, the Olostep API scrapes the Zillow results. Olostep’s LLM extraction schema extracts: price url (link to the Zillow listing) location Parse & Split Results Returned JSON is cleaned and converted into individual listing items. Remove Duplicates Ensures each Zillow listing appears only once. Insert into Google Sheet / Data Table Final cleaned listings are inserted row-by-row. Perfect for filtering, exporting, or further analysis. This workflow gives you a fast, scalable property scraper using Zillow + Olostep — no browser automation, no manual copy/paste. How to set up Import the template into n8n. Add your Olostep API key. Connect your Google Sheet or n8n Data Table. Deploy the form and start scraping by entering a place name. Requirements Olostep API key Google Sheets account or Data Table n8n cloud or self-hosted instance How to customize the workflow Add more pages to the pagination array (e.g., 1–20). Expand the LLM extraction schema to include: number of bedrooms number of bathrooms square footage property type Trigger via Telegram or API instead of a form. Send results to Airtable or Notion instead of Google Sheets. 👉 This template gives you an automated Zillow scraper powered by AI extraction — perfect for real estate lead gen or market research.
by System Admin
Tagged with: , , , ,
by Fahmi Fahreza
This n8n workflow uses the Google Gemini node to generate AI videos via the Veo model. It replaces complex manual API setups with a simple, plug-and-play experience. Important Prerequisite To use the Veo model, your Google Cloud project must have billing enabled. The feature is not available on the free tier and may incur charges. Who Is This For? Marketers & Content Creators** Quickly create B-roll, ad clips, or social content from text prompts. Filmmakers & Artists** Prototype scenes and visualize ideas without filming. Anyone exploring AI video generation** Use Google’s Veo model without any manual API work. What the Workflow Does Define Prompt** Write a text prompt in the 1. Set Video Prompt node. Trigger** Manually run the workflow with one click. Generate** The Gemini node sends the prompt to the Veo model and generates a video. Output** Returns a binary video file ready to save or share. Setup Instructions 1. Enable Google Cloud Billing Make sure your Google Cloud project has billing activated. 2. Add Credentials Add your Google AI (Gemini) credentials in n8n. 3. Set the Prompt Open the 1. Set Video Prompt node and write your video idea. 4. Activate Workflow Save and activate the workflow. 5. Run It Click “Execute Workflow” to generate a video. Requirements n8n (Cloud or Self-Hosted) Google Cloud Project with billing enabled Google AI (Gemini) credentials linked to that project Customization Ideas Save Output** Add a Google Drive, Dropbox, or S3 node to store the video. Post Automatically** Connect social media nodes (YouTube Shorts, TikTok, etc.) to publish content. Generate in Bulk** Replace the Set node with Google Sheets or Airtable to generate multiple videos from a list of prompts.
by Geoffroy
Meta long-lived user tokens typically expire after ~60 days. If a token expires, any workflows that rely on it start failing. Manual renewal is easy to forget and time consuming. This template monitors the token you store in an n8n Data Table and refreshes it automatically before expiration, so your social automations keep running without surprises or late-night fire drills. Who’s it for Agencies, marketing team, creators managing Meta apps or scheduled social automations Anyone tired of “token expired” errors breaking flows at 2 a.m. How it works / What it does Triggers: scheduled every 10 days, plus a Manual Trigger for testing. Reads: pulls the current token row from your "Meta credential" Data Table (fields: token and expires_at). Decides: IF the token expires in ≤ 15 days, proceed to renewal; otherwise do nothing. Calls the Graph API to get a new access token Updates: computes the new ISO expires_at from expires_in and writes the fresh token + expires_at back to the Data Table. Note: Meta typically issues ~60-day long-lived tokens; confirm for your app. Requirements A Meta app with an initial (short-lived or long-lived) user access token n8n Data Tables enabled (you might need to update your instance to see the option) and a table named "Meta credential" with: ** token (string) ** expires_at (datetime) How to set up Create the data table: name it "Meta credential" with columns "token" and "expires_at". Insert one row with your current token and its expiration date. Configure the IF node "Needs renewal?": keep (or tweak) the 15-day threshold logic. Run once with the Manual Trigger to validate, then enable the Schedule Trigger (10-day cadence by default). How to customize the workflow Change the Schedule Trigger interval and hour. Notify on renewal: Add a Slack/Email node after "Update Record" to alert on token refreshes.
by Avkash Kakdiya
How it works This workflow automatically syncs Calendly meeting bookings into HubSpot CRM by checking if the invitee already exists as a contact. It extracts attendee details, creates or updates contacts in HubSpot, and logs the meeting engagement with all relevant information. This ensures that every booked meeting is properly tracked, linked to the right contact, and enriched with context from Calendly. Step-by-step 1. Trigger & Input Calendly Trigger (Invitee Created) – Fires whenever a new meeting is booked in Calendly. Captures attendee details: name, email, meeting start/end time, and responses to any custom questions. 2. Contact Search Search Contact (HubSpot) – Looks up HubSpot to see if a contact with the invitee’s email already exists. 3. Contact Decision Contact Exists? Yes → Proceeds to log the meeting against the existing HubSpot contact. No → Creates a new contact in HubSpot with the attendee’s name and email. 4. Engagement Logging Log Meeting (Existing Contact) – Creates a HubSpot meeting engagement tied to the existing contact. Create Contact + Log Meeting (New Contact) – If no contact is found, a new one is created, and the meeting is immediately logged against it. Engagement includes: meeting title, start/end times, attendee details, and custom question notes. Benefits Automated CRM Sync – No more manual data entry between Calendly and HubSpot. Accurate Contact Management – Ensures meetings are always linked to the right person, creating new contacts when needed. Context-Rich Engagements – Logs attendee details and custom question responses for better follow-ups. Seamless Sales Tracking – Keeps HubSpot updated with every meeting for pipeline visibility. Hands-Free Workflow – Runs automatically whenever a Calendly invitee books a meeting.