by Camille Roux
Create a reusable “photos to post” queue from your Lightroom Cloud album—ideal for Lightroom-to-Instagram automation with n8n. It discovers new photos, stores clean metadata in a Data Table, and generates AI alt text to power on-brand captions and accessibility. Use it together with “Lightroom Image Webhook (Direct JPEG for Instagram)” and “Instagram Auto-Publisher for Lightroom Photos (AI Captions).” What it’s for Automate Lightroom to Instagram; centralize photo data for scheduled IG posting; prep AI-ready alt text and metadata for consistent, hands-free publishing. Parameters to set Lightroom Cloud credentials (client/app + API key) Album/collection ID to monitor in Lightroom Cloud Data Table name for the posting queue (e.g., Photos) AI settings: language/tone for alt text (concise, brand-aware) Image analysis URL: public endpoint of Workflow 2 (Lightroom Image Webhook) Works best with Workflow 2: Lightroom Image Webhook (Direct JPEG for Instagram) Workflow 3: Instagram Auto-Publisher for Lightroom Photos (AI Captions) Learn more & stay in the loop Want the full story (decisions, trade-offs, and tips) behind this Lightroom Cloud → Instagram automation? 👉 Read the write-up on my blog: camilleroux.com If you enjoy street & urban photography or you’re curious how I use these n8n workflows day-to-day: 👉 Follow my photo account on Instagram: @camillerouxphoto 👉 Follow me on other networks: links available on my site (X, Bluesky, Mastodon, Threads)
by Asfandyar Malik
Short Description Automatically scrape new Upwork job listings, save them to Google Sheets, and get real-time WhatsApp alerts when new matching jobs appear. This workflow helps freelancers and agencies track new opportunities instantly — without checking Upwork manually. Who’s it for For freelancers, agencies, and automation enthusiasts who want to monitor Upwork jobs automatically and receive instant notifications for relevant projects. How it works This workflow connects with RapidAPI to fetch new Upwork job listings, filters relevant ones, stores them in a Google Sheet, and sends WhatsApp alerts for matching results. It includes: Trigger node** for scheduled or webhook-based execution HTTP Request node** connected to RapidAPI for scraping Google Sheets node** to store job data Filter (IF) node** to select relevant jobs WhatsApp API node** to send alerts automatically How to set up Get an API key from RapidAPI and subscribe to an Upwork scraper API. Create a Google Sheet with columns like Title, Budget, Category, Link, and Description. Connect your Google account to n8n using Google Sheets credentials. Set up your WhatsApp API endpoint (e.g., via Waha API or WhatsApp Cloud API). Paste your API keys into the HTTP Request nodes and test the workflow. Schedule the workflow to run automatically (e.g., every hour or once daily). Requirements RapidAPI account (for Upwork scraper API) Google Sheets account WhatsApp API access (Waha / Cloud API) n8n cloud or self-hosted instance How to customize You can modify this workflow to: Track specific job categories or keywords (e.g., “automation”, “AI”, “n8n”) Send alerts to Telegram, Discord, or Slack instead of WhatsApp Add budget or client rating filters for higher-quality job leads Connect it with Airtable or Notion for advanced job tracking
by Evoort Solutions
📥 Instagram to MP4 Converter with Google Drive Integration This n8n workflow enables users to convert Instagram video links into downloadable MP4 files, store them in Google Drive, and log the results (success or failure) in Google Sheets. 🔧 Node-by-Node Overview On form submission – Triggers when a user submits an Instagram video URL. Instagram Downloader API Request – Calls the Instagram Downloader API to retrieve a downloadable link for the video. If – Checks if the API response indicates success. MP4 Downloader – Downloads the video from the provided media URL. Upload To Google Drive – Uploads the MP4 video to a specified folder in Google Drive. Google Drive Set Permission – Sets the uploaded file to public with a sharable link. Google Sheets – Logs successful conversions, including the original URL and Drive link. Wait – Adds a pause before logging failure to avoid rapid writes to Google Sheets. Google Sheets Append Row – Logs failed attempts with Drive_URL marked as N/A. 🚀 Key Features 🔗 Uses the Instagram Downloader API to convert Instagram video URLs 🗂 Uploads MP4s directly to Google Drive 📊 Logs all actions in Google Sheets 🧠 Smart error handling using conditional and wait nodes 📌 Use Case & Benefits Convert Instagram videos to MP4 instantly from a simple form submission Automatically upload videos to Google Drive Log successful and failed conversions into Google Sheets Ideal for marketers, content managers, educators, and archivists No manual downloading, renaming, or organizing — it's fully automated 🌐 API Key Requirement To use this workflow, you’ll need an API key from the Instagram Downloader API. Follow these steps to obtain your API key: Go to the Instagram Downloader API Sign up or log in to RapidAPI Subscribe to a plan (either free or paid) Copy your x-rapidapi-key and paste it in the HTTP Request node where required 🛠 Full Setup Instructions 1. API Setup Create an account with RapidAPI. Subscribe to the Instagram Downloader API and copy your API key. Use this key in the HTTP Request node in n8n to call the Instagram Downloader API. 2. Google Services Setup Google Drive Integration: Go to the Google Developer Console. Create a new project. Enable the Google Drive API. Create OAuth 2.0 credentials and download the JSON credentials file. Upload this file to n8n under your Google Drive credentials setup. Google Sheets Integration: Enable the Google Sheets API in the Google Developer Console. Create OAuth 2.0 credentials for Sheets access. Download the credentials file and upload it to n8n for authentication. Make sure the Google Sheet you're using has columns for Original_URL, Drive_URL, and Status. 3. Customizing the Template Custom Folder for Google Drive: In the "Upload To Google Drive" node, change the folder ID to match your desired folder in Google Drive where videos should be stored. Custom Google Sheets Columns: By default, the template logs the Original_URL, Drive_URL, and Status (success/failure). To add more columns, simply update the "Google Sheets Append Row" node with new column headers and ensure the data from each step corresponds correctly. 4. Column Mapping for Google Sheets The default columns in your Google Sheet are: Original_URL: The original Instagram video URL submitted by the user. Drive_URL: The sharable link to the uploaded MP4 in Google Drive. Status: Whether the conversion was successful or failed. Important Note: Ensure your Google Sheet is properly formatted with these columns before running the workflow. 💡 Additional Tips Monitoring API Usage**: The Instagram Downloader API has rate limits. Check your API usage in the RapidAPI dashboard. Automating with Triggers**: You can trigger the workflow automatically when a user submits a form URL through tools like Google Forms or external services that integrate with n8n. Error Handling**: If you encounter frequent failures, check the API's response format and ensure that all your credentials are correctly set up.
by Brandon True
Overview Send an AI a few details about your "Dream Customer" in normal english, then have it search the web and give you a "Dream 100" - 100 ideal prospects to connect with in your industry. Great for stress-testing a product idea or giving you a start for networking in an industry. How it works Send the AI agent information about your business + ideal customer. It will ask you to clarify any additional info. The agent will use an LLM to turn your criteria into specific prompts for an internet search Perplexity will use those prompts to identify ideal customers An LLM will format those Perplexity results, then they'll be added to a Google sheet. Set up steps Copy the provided google sheets template into your Google Drive Connect your Google Drive/Sheets to the workflow Connect OpenRouter and Perplexity to the workflow (Just paste in your API key!) If desired, connect the Slack trigger/response nodes to control the agent from Slack.
by Kunsh
How it works Automatically monitors Twitter for bug bounty tips and educational content every 4 hours, then saves valuable insights to Google Sheets for easy reference and organization. Set up steps Get your API key from https://twitterapi.io/ (free tier available) Configure Google Sheets credentials in n8n Create a Google Sheet with the required columns Update the Sheet ID in the final node What you'll get A continuously updated database of bug bounty tips, techniques, and insights from the security community, perfectly organized in Google Sheets with: Tweet content and URLs Engagement metrics (likes, retweets, replies) Formatted timestamps for easy sorting Automatic duplicate prevention Perfect for security researchers, bug bounty hunters, and cybersecurity professionals who want to stay updated with the latest tips and techniques from Twitter's security community.
by Dahiana
🔍 Low competition keyword finder What it does: Discovers all keywords a domain ranks for and analyzes their difficulty, trends, and intent. Identifies opportunities based on actual ranking data rather than suggestions. How it works: Reads domain seeds from Google Sheets (with location/language settings) Fetches all keywords the domain ranks for (Keywords For Site API) Gets keyword difficulty scores for each keyword (Bulk Keyword Difficulty API) Combines data with search trends, intent classification, and backlink metrics Writes comprehensive results to keywords_opportunities sheet Setup Requirements: DataForSEO API credentials (Basic Auth) Google Sheets with input columns: seed, location_name, language_name, limit Output sheet: keywords_opportunities Data Captured: Keyword & Search Volume Monthly/Quarterly/Yearly Trends Keyword Difficulty (0-100) Search Intent (main + foreign) Average Backlinks Last Updated Time SE Type & Location/Language codes Best For: Competitor keyword analysis Content gap identification Monitoring domain keyword portfolio Finding keywords you already rank for
by Amuratech
This template is designed for SEO specialists, content marketers, and digital growth teams who want to automate the process of tracking keyword rankings. Manually checking SERPs every week is time-consuming and prone to error. This workflow solves that by automatically querying Google search results with the Serper API, updating rankings in Google Sheets, and keeping historical data for up to 12 weeks. Prerequisites Before you begin, make sure you have: A Google Sheet with columns: Sr.no (unique row identifier) Keyword Target Page (the URL you want to track) A Google Service Account credential set up in n8n A Serper API key (added to n8n credentials as serperApiKey) Detailed Setup Import the workflow into n8n. Update the Google Sheets nodes: Replace your-google-sheet-id with your actual Google Sheet ID Replace your-sheet-name with the correct tab name Add your Google Service Account credentials to the Google Sheets nodes. Add your Serper API key to the HTTP Request node (serperApiKey). (Optional) Update the HARDCODED_DOMAIN variable in the Code node if you want to lock rankings to a specific domain. Run the workflow once manually to confirm everything is working. Usage & Customization By default, the workflow runs every Monday at 00:00 (midnight). You can adjust this by editing the Cron node. The workflow stores ranking history for 12 weeks. If you want more, simply extend the columns in your Google Sheet and update the Code node logic. The workflow checks for both exact URLs and domains. You can customize this in the Code node depending on whether you want to track page-level or domain-level rankings. Data is updated only for the current week unless you allow overwriting, ensuring historical accuracy.
by Alex Pekler
How it works Send personalized WhatsApp campaigns to hundreds of contacts imported directly from a Google Sheet. This workflow creates a contact group in MoltFlow, launches a bulk send job with smart anti-spam delays, and reports campaign progress — all in one click. You click "Execute" when ready to launch a campaign Contacts are read from your Google Sheet (phone, name, and optional custom message per contact) A custom group is created in MoltFlow with all valid contacts A bulk send job is launched — MoltFlow handles message delivery with smart delays to protect your WhatsApp number After 30 seconds, the workflow checks progress and shows a summary (sent, failed, remaining) Set up steps Setup takes about 5 minutes: Create a MoltFlow account and connect your WhatsApp by scanning the QR code Generate an API key from Sessions > API Keys tab (select the "Outreach" scope preset) Prepare your Google Sheet with columns: phone, name, message_override (optional) In n8n, connect your Google Sheets OAuth2 credential and your MoltFlow API Key (Header Auth with header name X-API-Key) Open the Read Contacts from Sheet node and paste your Google Sheet URL Open the Format Contacts code node and replace YOUR_SESSION_ID with your MoltFlow session ID Customize the default message template if needed Click Execute Workflow to launch Google Sheet format Your sheet needs these columns (headers in row 1): phone** — phone number with country code, digits only (e.g. 1234567890) name** — contact name message_override** — (optional) custom message for this contact; if empty, the default template is used Prerequisites A MoltFlow account with a connected WhatsApp session A Google Sheet with contact data MoltFlow API key with custom-groups:manage, bulk-send:manage, bulk-send:read scopes
by Roni Bandini
How it works This template waits for an external button to be pressed via webhook, then reads a Google Sheet with pending shipments. The sheet contains the columns: idEnvio, fechaOrden, nombre, direccion, detalle, and enviado. It determines the next shipment using Google Gemini Flash 2.5, considering not only the date but also the customer’s comments. Once the next shipment is selected, the column “enviado” is updated with an X, and the shipping information is forwarded to Unihiker’s n8n Terminal. Setup Create a new Google Sheet and name it "Shipping". Add the following column headers in the first row: idEnvio, fechaOrden, nombre, direccion, detalle, and enviado. Connect your Google Sheets and Google Gemini credentials. In your n8n workflow, select the Shipping sheet in the Google Sheets node. Copy the webhook URL and paste it into the .ino code for your Unihiker n8n Terminal. 🚀
by Yaron Been
Discover your competitor's clients through PredictLeads connections data, enrich each client with company details, and export everything to Google Sheets. This workflow takes a list of competitor domains from Google Sheets, queries the PredictLeads Connections API to discover their client relationships, enriches each discovered client with company profile data (industry, employee count, location), and writes the results to a structured output sheet for competitive intelligence. How it works: Manual trigger starts the workflow on demand. Reads competitor domains from the Google Sheets "Competitors" tab. Loops through each competitor and fetches their connections from PredictLeads. Extracts client/customer domains from the connections data. Loops through each discovered client domain. Enriches each client with PredictLeads company data (name, industry, employee count, location). Formats the enriched data into a structured output row. Appends the row to the "Client Discovery" tab in Google Sheets. Continues until all competitors and their clients are processed. Setup: Create a Google Sheet with two tabs: "Competitors" with a column: domain (one competitor domain per row). "Client Discovery" with columns: competitor_source, client_domain, client_name, industry, employee_count, location. Connect your Google Sheets account (OAuth2). Add your PredictLeads API credentials (X-Api-Key and X-Api-Token headers). Requirements: Google Sheets OAuth2 credentials. PredictLeads API account (https://docs.predictleads.com). Notes: This workflow uses a manual trigger since competitor analysis is typically run on demand rather than daily. The Connections API returns various relationship types -- the workflow filters for client, customer, and user relationships. Each output row links the discovered client back to the competitor source for easy analysis. PredictLeads Connections and Company API docs: https://docs.predictleads.com
by Toshiya Minami
Title Prioritize Todoist tasks and send a daily summary to Slack Who’s it for Busy professionals, team leads, and freelancers who want a plug-and-play, AI-assisted morning briefing that turns messy task lists into a clear, actionable plan. What it does / How it works At 08:00 every morning, the workflow pulls open tasks from Todoist. An AI agent scores and ranks them by urgency, importance, dependencies, and effort, then produces a concise plan. You receive the summary in Slack (Markdown). Overdue or critical items are highlighted with warnings. How to set up Connect OAuth for Todoist and Slack. Select your posting channel in Send to Slack. Adjust the time in Morning Schedule Trigger (default 08:00). Run once to verify the parser output and Slack preview, then set the workflow Active. Requirements n8n (cloud or self-hosted) Todoist account / Slack workspace LLM provider connected in the AI node (do not hardcode keys in HTTP nodes) How to customize the workflow Edit the prompt in AI Task Analyzer to tweak prioritization rules. Adjust Format AI Summary to match your tone and structure. Add filters in the Todoist node (e.g., due today). (Optional) Log results to Google Sheets or a database for analytics. Disclaimer (community node) This template uses a community LangChain node for AI features and is intended for self-hosted n8n. Add a workflow image at the top of your submission page for a clearer preview.
by Mani Srinivasan
Enrich your CSV data with web-sourced information using Tavily's AI-powered research API. This workflow fills in missing data for existing columns without creating new ones. Video Link: https://youtu.be/8g8v3vNyhe4 How it works Reads rows from a Google Sheet For missing values, finds information from the web using Tavily Research Maps results to existing columns Writes the enriched data to a new sheet Retries automatically until results are ready (up to ~5 minutes) Setup steps 1) Prepare your sheet 2) Create the columns you want filled (e.g. CEO, revenue, HQ - if the data is related to company information) 3) Create an empty output sheet 4) Add credentials 5) Google Sheets OAuth for both sheet nodes 6) Tavily API key for the research nodes 7) Configure and run 8) Enter the Google Sheet ID and sheet names (For both the CSV nodes) 9) Click Start Requirements: Google account (For sheets) and Tavily API key