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 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 Alexandru Florea
This workflow allows you to integrate the Google Gemini CLI into your n8n AI Agents. It is designed for self-hosted n8n instances and enables you to chat with the Gemini CLI running on your local machine or server via SSH. This is powerful for users who want to utilize the free tier of Gemini via Google's CLI tools or need the AI to interact with local files on the host server. How it works AI Agent**: The main workflow uses a LangChain AI Agent with a custom tool. Custom Tool**: When the agent needs to answer, it calls a sub-workflow ("Gemini CLI Worker"). SSH Execution**: The sub-workflow connects to your host machine via SSH, executes the gemini command with your prompt, and returns the CLI's standard output to the chat. Set up steps Prerequisites: You must have Node.js (v20+) and the gemini-chat-cli installed on your host machine. Split the Workflows: Copy the bottom section (Sub-workflow). Paste it into a new workflow, name it "Gemini CLI Worker", and Save it. Note the ID of this new workflow. Configure the Main Workflow: Open the Call 'Gemini CLI' node. In the "Workflow ID" field, select the "Gemini CLI Worker" workflow you just saved. Configure SSH: Open the Execute a command node in the sub-workflow. Configure your SSH credentials (IP, Username, Password/Key) to allow n8n to connect to the host where Gemini CLI is installed.
by Open Paws
π Whoβs it for This template is designed for campaigners, researchers, and organizers who need to enrich spreadsheets of contacts with publicly available social media profiles. Ideal for advocacy campaigns, outreach, or digital organizing where fast, scalable people lookup is needed. βοΈ What it does This workflow scans a Google Sheet for rows marked as unanalysed ("Analysed?" = false), sends each contact to a dedicated AI-powered research agent, and returns structured public profile links across major platforms like: Twitter/X LinkedIn Facebook Instagram GitHub TikTok YouTube Reddit Threads Medium Substack And more (18+ total) It processes one contact per run for clarity and stability, appending the results back to the original Google Sheet. π οΈ How to set it up Copy the Google Sheet template β This sheet includes sample columns and headers for contacts and social profile fields. Paste your contact list at the end of the sheet. For each new contact, make sure the "Analysed?" column is set to false. Clone this workflow and the AI Research Agent subworkflow. Connect your Google Sheets account in n8n. Update the workflow with your sheet ID and sheet name (Sheet1 by default). Trigger the workflow on a schedule (e.g. every 15 minutes) or run it manually. β Requirements Google Sheets integration** set up in n8n Access to this AI research subworkflow OpenRouter API key n8n (self-hosted or cloud) π§© How to customize the workflow Modify the research agent to prioritize specific platforms or return only verified profiles. Add more profile columns to the Google Sheet and schema to match your custom fields. Add logic to send alerts (email, Slack, etc.) for specific contacts. Use an n8n webhook instead of a schedule to run the process on demand. Use a loop over all items to process all rows sequentially (only recommended for small datasets due to memory constraints)
by M Sayed
Keep an eye on gold prices without lifting a finger! π΅οΈββοΈ This workflow checks gold prices every 15 minutes and sends you a neat little report. What it does: β¨ Fetches the live price of gold. π Converts it into your local currency AND USD. π Creates a simple table with prices for 24k, 21k, and 18k gold. π Sends the update directly to your Telegram chat! Setup is easy: Just set your local currency (like 'EGP') and your Telegram Chat ID. That's it! β
by SpaGreen Creative
Automate Shopify Abandoned Cart WhatsApp Reminders with Product Links via Rapiwa Whoβs it for This n8n workflow automatically identifies customers who have abandoned their carts on your Shopify store, cleans and verifies their WhatsApp numbers, and sends them personalized reminders via the Rapiwa API. It also logs each interactionβwhether the number was valid or notβinto a connected Google Sheet. Designed for marketers, small business owners, freelancers, and support teams, this solution makes it easy to run bulk WhatsApp campaigns using just a Google Sheet and your own WhatsApp numberβno need for the official WhatsApp Business API. Itβs a budget-friendly, scalable, and easy-to-manage alternative for anyone looking to automate WhatsApp follow-ups without the tech hassle. How it Works / What It Does Reads rows from a Google Sheet where the Status column is marked as "pending". Cleans each phone number (removes special characters, spaces, etc.). Verifies whether the number is a WhatsApp user using the Rapiwa API. If valid: Sends the message via Rapiwa. Updates Status = sent and Verification = verified. If invalid: Skips sending. Updates Status = not sent and Verification = unverified. Waits a configurable delay between sends to avoid rate limits. Processes rows in small batches and repeats on schedule (default every 5 minutes). How to Set Up Duplicate the sample Google Sheet format and populate it with contacts and messages. Fill required columns such as WhatsApp No, Name, Message, Image URL, and set Status = pending. Connect Google Sheets in n8n and grant the required OAuth scopes. Create an HTTP Bearer credential in n8n and paste your Rapiwa API key. Configure the workflow nodes (Trigger, Google Sheets, Limit, SplitInBatches, Code, HTTP Request, If, Update Google Sheets, Wait). Enable the workflow in n8n. Requirements Google Sheets API credentials (OAuth2) configured in n8n Google Sheet matching the template (WhatsApp No, Name, Message, Status, Verification) Rapiwa account and Bearer token n8n instance with HTTP Request and Google Sheets nodes enabled How to Customize the Workflow Add or increase delay between messages using the Wait node (e.g., 5β10 seconds). Change message content or include media by editing the HTTP Request body. Personalize messages using sheet columns (Name, product details, coupon codes). Add error handling nodes to retry failed sends or log errors. Adjust the Limit node to control how many rows are processed per run. Workflow Highlights Triggered every 5 minutes using the Schedule Trigger node. Filters sheet rows where Status = pending. Cleans numbers and verifies WhatsApp existence before sending. Sends messages via Rapiwa (unofficial API). Updates Google Sheet rows with Status = sent/not sent and Verification = verified/unverified. Uses a Wait node to prevent rapid-fire sending. Setup in n8n 1. Connect Google Sheets Add a Google Sheets node. Authenticate with your Google account. Select the document and worksheet. Use a filter or query to fetch rows with Status = pending. 2. Loop Through Rows Use SplitInBatches to process rows in small chunks (e.g., 5 rows per batch). Add a Code node to clean phone numbers (remove non-digits). Add a Wait node to pause between individual sends (recommended 5 seconds). 3. Send Message via HTTP Node Configure an HTTP Request node to POST to: https://app.rapiwa.com/api/send-message Use Bearer Token authentication with your Rapiwa API key. Example JSON body: { "number": "{{ $json['WhatsApp No'] }}", "message": "{{ $json['Message'] }}" } After the send, update the row in Google Sheets with the result. Sample Google Sheet Structure A Google Sheet formatted like this β€ sample | name | number | order id | item name | coupon | item link | total price | validity | status | | -------------- | ------------- | -------------- | --------------------------------- | ------ | -------------------------------------------------------------------------------- | ------------ | ---------- | -------- | | Abdul Mannan | 8801400620056 | 39248398811454 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | unverified | not sent | | Abdul Mannan | 8801400620055 | 39248402153790 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | verified | sent | | Abdul Mannan | 8801400620055 | 39248403431742 | S25 Ultra 5XXXXX Price Cell Phone | | Product Link | 11500.00 BDT | verified | sent | Tips Ensure numbers are in proper format (e.g., 8801XXXXXXXXX β no +, no spaces). Use public image URLs if sending media. Store Rapiwa API key securely in n8n credentials. Test with a small batch before scaling up. Mark processed rows as "sent" to avoid duplicates. Increase Wait time or reduce batch size if you encounter rate limiting. Important Notes Avoid Duplicates: The Google Sheet serves as a ledger. Sent messages wonβt be repeated in the next cycle. Rate Limit Awareness: Use Wait nodes to space out requests and avoid getting banned. Add Delay for Safety: If needed, increase wait times or limit message batches. Extendable: You can add product images, links, or even abandon cart discounts dynamically. Future Enhancements (Ideas) Add delay between batches (e.g., 60 messages/hour) Auto-update Shopify checkout status (via GraphQL API) Use more advanced templates or media (via Rapiwa) Add error handling to log failed API calls Use Telegram/Slack node to notify when process ends Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support WhatsApp Support: Chat Now Discord: Join SpaGreen Community Facebook Group: SpaGreen Support Website: https://spagreen.net Developer Portfolio: Codecanyon SpaGreen
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 Robert Breen
Automatically pulls tasks from your Trello board and sends a daily summary to Slack. Perfect for staying on top of admin tasks, due dates, and project updates without leaving Slack. βοΈ Setup Instructions 1οΈβ£ Connect Trello (Developer API) Get your API key here β Trello App Key On the same page, generate a Token (click Token). In n8n β Credentials β New β Trello API β paste API Key + Token, then save. Open each Trello node (Get Board, Get Lists, Get Cards) and select your Trello credential. 2οΈβ£ Connect Slack Go to Slack API Apps and create a new app. Add OAuth & Permissions β include scopes like: chat:write (to send messages) users:read (if targeting specific users) Install the app to your workspace β copy the Bot User OAuth Token. In n8n β Credentials β New β Slack OAuth2 API β paste the token and save. In your Slack node (e.g., Send a message), select your Slack credential, and choose whether to send messages to a channel or a user. 3οΈβ£ Add Your Board URL to βGet Boardβ Copy your Trello board URL (e.g. https://trello.com/b/DCpuJbnd/administrative-tasks). Open the Get Board node β set: Resource: Board Operation: Get ID β choose URL mode and paste the board link. This node will return the board id β used by Get Lists / Get Cards nodes. π¬ Contact Need help customizing this workflow or building automations? π§ robert@ynteractive.com π Robert Breen π ynteractive.com
by Kunsh
How it works Automatically monitors NIST's CVE database every hour for new vulnerabilities and uses AI to assess their relevance for bug bounty hunting, delivering actionable intelligence directly to Slack. Set up steps Get Google Gemini API key from AI Studio (free tier available) Create Slack bot with chat:write permissions Configure your target Slack channel AI filters and scores each CVE for exploitation potential What you'll get Real-time CVE intelligence with: Bug bounty relevance scoring (HIGH/MEDIUM/LOW/NONE) Actionable testing strategies for each vulnerability Slack-formatted reports with CVSS severity scores Focus on web-testable vulnerabilities only Part of "The Warden" project - perfect for security researchers who want AI-filtered, actionable CVE intelligence without the noise.
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 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.