by Trung Tran
AI-Powered AWS S3 Manager with Audit Logging in n8n (Slack/ChatOps Workflow) > This n8n workflow empowers users to manage AWS S3 buckets and files using natural language via Slack or chat platforms. Equipped with an OpenAI-powered Agent and integrated audit logging to Google Sheets, it supports operations like listing buckets, copying/deleting files, managing folders, and automatically records every action for compliance and traceability. π₯ Whoβs it for This workflow is built for: DevOps engineers who want to manage AWS S3 using natural chat commands. Technical support teams interacting with AWS via Slack, Telegram, etc. Automation engineers building ChatOps tools. Organizations that require audit logs for every cloud operation. Users donβt need AWS Console or CLI access β just send a message like βCopy file from dev to prodβ. βοΈ How it works / What it does This workflow turns natural chat input into automated AWS S3 actions using an OpenAI-powered AI Agent in n8n. π Workflow Overview: Trigger: A user sends a message in Slack, Telegram, etc. AI Agent: Interprets the message Calls one of 6 S3 tools: ListBuckets ListObjects CopyObject DeleteObject ListFolders CreateFolder S3 Action: Performs the requested AWS S3 operation. Audit Log: Logs the tool call to Google Sheets using AddAuditLog: Includes timestamp, tool used, parameters, prompt, reasoning, and user info. π οΈ How to set up Step-by-step Setup: Webhook Trigger Slack, Telegram, or custom chat platform β connects to n8n. OpenAI Agent Model: gpt-4 or gpt-3.5-turbo Memory: Simple Memory Node Prompt: Instructs agent to always follow tool calls with an AddAuditLog call. AWS S3 Nodes Configure each tool with AWS credentials. Tools: getAll: bucket getAll: file copy: file delete: file getAll: folder create: folder Google Sheets Node Sheet: AWS S3 Audit Logs Operation: Append or Update Row Columns (must match input keys): timestamp, tool, status, chat_prompt, parameters, user_name, tool_call_reasoning Agent Tool Definitions Include AddAuditLog as a 7th tool. Agent calls it immediately after every S3 action (except when logging itself). β Requirements [ ] n8n instance with AI Agent feature [ ] OpenAI API Key [ ] AWS IAM user with S3 access [ ] Google Sheet with required columns [ ] Chat integration (Slack, Telegram, etc.) π§© How to customize the workflow | Feature | Customization Tip | |----------------------|--------------------------------------------------------------| | π Multi-region S3 | Let users include region in the message or agent memory | | π‘οΈ Restricted actions| Use memory/user ID to limit delete/copy actions | | π Folder filtering | Extend ListObjects with prefix/suffix filters | | π€ Upload file | Add PutObject with pre-signed URL support | | π§Ύ Extra logging | Add IP, latency, error trace to audit logs | | π Reporting | Link Google Sheet to Looker Studio for audit dashboards | | π¨ Security alerts | Notify via Slack/Email when DeleteObject is triggered |
by π¦ kai chen
This workflow listens to messages in a designated Telegram channel and automatically posts them to X (Twitter), Threads, and LinkedIn based on simple @mention tags. Write your content once, tag which platforms you want, and let automation handle the rest. Key Features Smart Channel Routing: Use @mentions to specify destinations (@x, @threads, @linkedin, or @all) Clean Message Parsing: Automatically removes @mentions and hashtags before posting Success Notifications: Get confirmation messages in Telegram when posts succeed Error Handling: Receive alerts for invalid channel tags or posting failures Multi-Platform Support: Post to X, Threads, and LinkedIn simultaneously or individually Bitwise Flag System: Efficient routing logic using binary flags for platform selection
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 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 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 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 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 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 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)