by David Roberts
This workflow allows you to send multi-step email campaigns using n8n, Gmail and Google Sheets. You define a sequence of emails, and a list of email addresses to send them to. The first email is sent to everyone, but the later emails in the sequence are only sent if no-one has replied to the thread yet. This means you only need to worry about replying to people who respond to your email, not chasing people who don’t. Requirements A list of emails in a Google sheet. You can define extra info that will be available to your email templates (e.g. name, company, etc.) A sequence of emails to send, plus how long to wait to send each one, e.g. On day 0:** “Hi, {name} — nice to meet you at the conference. Was wondering whether {company} would be interested in a quick call about X?” On day 3:** “Hi, {name}, just wanted to check in on this. Let me know if there’s any interest!” On day 7:** “{name}, just wanted to give this one last try” A Gmail account (although you could also swap out that part for any other email service) How it works When sending the emails, n8n inserts a hidden attribute in each one that tags it as being part of the email campaign. It then regularly looks through the email threads with that tag and checks whether: No-one has replied yet It’s time to send the next message The workflow doesn’t send emails on weekends. Notes This workflow is not intended for spam! Please use responsibly You can use this workflow for multiple different campaigns by making copies of the workflow and changing the sequence / Google Sheet that it uses
by Matthieu
LinkedIn Profile Tracker Automation Who is this for? This template is ideal for sales teams, recruiters, business development professionals, and relationship managers who need to monitor changes in their network's LinkedIn profiles. Perfect for agencies tracking client personnel changes, HR teams monitoring talent movements, sales professionals staying updated on prospect job changes, and content teams tracking influencer activity. What problem does this workflow solve? Manually checking LinkedIn profiles for updates like job changes, status modifications, profile edits, or latest posts is extremely time-consuming and easy to miss. This automation eliminates the need for constant manual monitoring while ensuring you never miss important changes that could signal new business opportunities, relationship updates, or content engagement opportunities. What this workflow does This workflow automatically monitors a list of LinkedIn profiles on a weekly schedule, detects any changes in: Personal information** (name, headline, summary) Job status** (hiring/open to work flags) Latest work experience** (new positions, company changes) Recent posts** (latest content activity) When changes are detected, it immediately sends Slack notifications with before/after comparisons and updates your tracking database to maintain historical records of all profile evolution. Setup Create a Ghost Genius API account and get your API key for LinkedIn profile scraping Configure HTTP Request nodes with Header Auth credentials using your Ghost Genius API key Set up your Google Sheets database with columns: Firstname, Lastname, LinkedIn URL, ID Tagline, Summary, Latest experience Open to work?, Hiring?, Latest post Configure Slack webhook integration for real-time notifications Set up credentials for Google Sheets and Slack following n8n documentation Add LinkedIn profile URLs to your Google Sheet to start monitoring How to customize this workflow Modify the schedule trigger** to check profiles daily, bi-weekly, or monthly based on your monitoring needs Customize Slack notification messages** to include additional context, mentions, or custom formatting Add email notifications** alongside Slack alerts for critical changes like job transitions Set up filtered notifications** to only alert on specific types of changes (e.g., job changes only, posts from key influencers) Add post content analysis** to detect mentions of your company or competitors Integrate with CRM systems** to automatically update lead records when profile changes occur
by Todsaporn Sangboon
📈 How it works This n8n workflow allows you to interact with Binance Spot Trading API directly to: Place Limit Buy and Limit Sell orders Place Market Buy and Market Sell orders Query account info* and *open orders** Cancel all open orders** for a specific symbol All requests are signed using Binance's HMAC SHA256 signature method for secure trading. ⚙️ Setup Steps Create Binance API Credentials in n8n: Go to Credentials > New Choose Binance API Add api_key and api_secret Save as Binance API Import this workflow into your n8n instance. Update default values: In Set Parameter nodes like LimitBuy Parameter, change: symbol (e.g. BTCUSDT) quantity, price as needed Run the workflow manually via the Execute workflow trigger. ✅ Notes Credential node is marked with instructions. HMAC signatures are automatically calculated before making each request. HTTP nodes are preconfigured for Binance API v3. 🔒 No API key or secret is included.
by n8n Team
This workflow let's a bot in Slack notify a specific channel when a new product in WooCommerce is published and live on the site. Prerequisites WooCommerce account Slack and a Slack bot How it works Listen for WooCommerce product creation If permalink starts with https://[your-url-here].com/product/ Slack bot notifies channel that a new product has been added. Please note, you must update the URL in the IF node to match your url. If your WooCommerce doesn't use the slug /product/, that will need to be updated too.
by Lucas Peyrin
How it works This template is an interactive, step-by-step tutorial designed to teach you the most important skill in n8n: using expressions to access and manipulate data. If you know what JSON is but aren't sure how to pull a specific piece of information from one node and use it in another, this workflow is for you. It starts with a single "Source Data" node that acts as our filing cabinet, and then walks you through a series of lessons, each demonstrating a new technique for retrieving and transforming that data. You will learn how to: Access a simple value from a previous node. Use n8n's built-in selectors like .last() and .first(). Get a specific item from a list (Array). Drill down into nested data (Objects). Combine these techniques to access data in an array of objects. Go beyond simple retrieval by using JavaScript functions to do math or change text. Inspect data with utility functions like Object.keys() and JSON.stringify(). Summarize data from multiple items using .all() and arrow functions. Set up steps Setup time: 0 minutes! This workflow is a self-contained tutorial and requires no setup or external credentials. Click "Execute Workflow" to run the entire tutorial. Follow the flow from the "Source Data" node to the "Final Exam" node. For each lesson, click on the node to see how its expressions are configured in the parameters panel. Read the detailed sticky note next to each lesson—it breaks down exactly how the expression works and why. By the end, you'll have the foundational knowledge to connect data and build powerful, dynamic workflows in n8n.
by David Olusola
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. MCP Gmail Workflow – AI-Powered Email Management ✨ What It Does A smart n8n workflow that connects Gmail with an AI agent (via MCP), letting you send, read, and organize emails using natural language. ⚙️ Key Features 🧠 AI Commands: “Send email to John about the budget” 📥 Inbox Control: Mark read/unread, apply/remove labels 🗂 Smart Organization: Auto-label based on content 🤖 MCP-Ready: Works with Claude, ChatGPT, etc. 🎯 Use Cases “📤 Send a follow-up to the client about yesterday’s meeting” “📬 Mark all newsletters as read and label ‘Newsletter’” “🧾 Summarize latest email from Sarah” “🗃 Label all Project X emails as ‘Project-X-2024’” “⭐ Find unread emails from my manager and mark as important” 🛠 Setup Guide 🔑 Prerequisites n8n (self-hosted or cloud) Gmail API credentials MCP-compatible AI (optional but powerful) 📥 1. Import Workflow Copy JSON → Open n8n → Import → Paste → Done ✅ 🔐 2. Gmail OAuth2 Setup Create Google project → Enable Gmail API Create OAuth2 creds → Add n8n redirect URI In n8n: Add Gmail OAuth2 → Paste Client ID/Secret → Connect 🧩 3. Update Credential References Find your credential ID in n8n Update each Gmail node with your ID 🧠 4. MCP Trigger (Optional) Use provided webhook URL in your AI system Send test prompts to verify connection 🧪 5. Test Key Actions ✅ “Send a test email” ✅ “Read latest email” ✅ “Label last email as ‘Test’” ✅ “Mark latest email as unread” ⚙️ 6. Advanced Tips Create custom labels in Gmail Use HTTPS + webhook auth Add retries and error handling in n8n 🧯 Troubleshooting ❗ Gmail Auth Error? → Re-auth and check redirect URI ❗ Webhook not firing? → Check endpoint + manual test ❗ Label errors? → Use correct label names or IDs ✅ Required Gmail Scopes: gmail.modify gmail.send 📈 Best Practices 🔁 Test regularly 🔒 Use minimal permissions 🏷 Consistent label naming 🔍 Monitor execution + webhook logs 🎉 You’re All Set! Control Gmail with your voice or text through AI. Make managing emails smarter, faster, and 100% automated 💌
by David Ashby
Complete MCP server exposing 4 AWS Cost and Usage Report Service 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 AWS Cost and Usage Report Service 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 AWS Cost and Usage Report Service 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 http://cur.{region}.amazonaws.com • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (4 total) 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Deletereportdefinition (1 endpoints) • POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.DeleteReportDefinition: Deletes the specified report. 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Describereportdefinitions (1 endpoints) • POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.DescribeReportDefinitions: Lists the AWS Cost and Usage reports available to this account. 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Modifyreportdefinition (1 endpoints) • POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.ModifyReportDefinition: Allows you to programatically update your report preferences. 🔧 #X-Amz-Target=Awsorigamiservicegatewayservice.Putreportdefinition (1 endpoints) • POST /#X-Amz-Target=AWSOrigamiServiceGatewayService.PutReportDefinition: Creates a new report using the description that you provide. 🤖 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 AWS Cost and Usage Report Service 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 8 Bulk WHOIS 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 Bulk WHOIS 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 Bulk WHOIS 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 http://localhost:5000 • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (8 total) 🔧 Batch (4 endpoints) • GET /batch: Get your batches • POST /batch: Create batch. Batch is then being processed until all provided items have been completed. At any time it can be get to provide current status with results optionally. • DELETE /batch/{id}: Delete batch • GET /batch/{id}: Get batch 🔧 Db (1 endpoints) • GET /db: Query domain database 🔧 Domains (3 endpoints) • GET /domains/{domain}/check: Check domain availability • GET /domains/{domain}/rank: Check domain rank (authority). • GET /domains/{domain}/whois: WHOIS query for a domain 🤖 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 Bulk WHOIS 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 11 hashlookup CIRCL 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 hashlookup CIRCL 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 hashlookup CIRCL 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://hashlookup.circl.lu • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (11 total) 🔧 Bulk (2 endpoints) • POST /bulk/md5: Bulk Search MD5 Hashes • POST /bulk/sha1: Bulk Search SHA1 Hashes 🔧 Children (1 endpoints) • GET /children/{sha1}/{count}/{cursor}: Return children from a given SHA1. A number of element to return and an offset must be given. If not set it will be the 100 first elements. A cursor must be given to paginate over. The starting cursor is 0. 🔧 Info (1 endpoints) • GET /info: Get Database Info 🔧 Lookup (3 endpoints) • GET /lookup/md5/{md5}: Lookup MD5. • GET /lookup/sha1/{sha1}: Lookup SHA-1. • GET /lookup/sha256/{sha256}: Lookup SHA-256. 🔧 Parents (1 endpoints) • GET /parents/{sha1}/{count}/{cursor}: Return parents from a given SHA1. A number of element to return and an offset must be given. If not set it will be the 100 first elements. A cursor must be given to paginate over. The starting cursor is 0. 🔧 Session (2 endpoints) • GET /session/create/{name}: Create a session key to keep search context. The session is attached to a name. After the session is created, the header hashlookup_session can be set to the session name. • GET /session/get/{name}: Return set of matching and non-matching hashes from a session. 🔧 Stats (1 endpoints) • GET /stats/top: Get Top Queries 🤖 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 hashlookup CIRCL 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 4 Transportation Laws and Incentives 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 Transportation Laws and Incentives 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 Transportation Laws and Incentives 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 http://developer.nrel.gov/api/transportation-incentives-laws • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (4 total) 🔧 V1.{Output_Format} (1 endpoints) • GET /v1.{output_format}: Return a full list of laws and incentives that match your query. 🔧 V1 (3 endpoints) • GET /v1/category-list.{output_format}: Return the law categories for a given category type. • GET /v1/pocs.{output_format}: Get the points of contact for a given jurisdiction. • GET /v1/{id}.{output_format}: Fetch the details of a specific law given the law's ID. 🤖 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 Transportation Laws and Incentives 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 Rudi Afandi
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. This workflow allows you to create and manage custom short URLs directly via Telegram, with all data stored in MongoDB, and redirects handled efficiently via Nginx. How it works This flow provides a seamless URL shortening experience: Create via Telegram: Send a long URL to your bot. It will ask if you want a custom short code. Store in MongoDB: All long URLs and their corresponding short codes are securely stored in your MongoDB instance. Fast Redirects: When a user accesses a short URL, Nginx forwards the request to a dedicated n8n webhook, which then quickly redirects them to the original long URL. Set up steps This setup is straightforward, especially if you already have a running n8n instance and a VPS. Difficulty: Medium (Basic n8n/VPS knowledge required) Estimated Time: 15-30 minutes n8n Instance & VPS: Ensure you have n8n running on your VPS (e.g., 2 core 2GB, as you have). Telegram Bot: Create a new bot via @BotFather and get your Bot Token. Add this as a Telegram credential in n8n. MongoDB Database: Set up a MongoDB instance (either on your VPS or a cloud service like MongoDB Atlas). Create a database and a collection (e.g., url or short_urls). Add your MongoDB credentials in n8n. Here's MongoDB data structure JSON: >[ {"_id": "686a11946a48b580d72d0397", "longUrl": "https://longurl.com/abcdefghijklm/", "shortUrl": "short-code"} ] Domain/Subdomain: Point a domain or subdomain (e.g., s.yourdomain.com) to your VPS IP address. This will be your short URL base. Nginx/Caddy Configuration: Configure your web server (Nginx or Caddy) on the VPS to proxy requests from your short URL domain to the n8n webhook for redirects. (Detailed Nginx config is provided as sticky notes in the redirect workflow) Workflow Setup: Import both provided n8n workflows (Telegram URL Shortener Creator and URL Redirect Handler). Activate both workflows. Crucial: Set an environment variable in your n8n instance (or .env file) named SHORTENER_DOMAIN with the value of your short URL domain (e.g., https://s.yourdomain.com). Refer to sticky notes inside the workflows for detailed node configurations and expressions.
by phil
How it works 🗣️> 📖 I set up this workflow to convert any audio or video file into structured text using the new ElevenLabs Scribe model, one of the best Speech-to-Text AIs, available in 99+ languages. This workflow integrates seamlessly with n8n and leverages the ElevenLabs Scribe API to: This workflow seamlessly integrates with n8n to: ✅ Upload audio/video files automatically ✅ Transcribe them with industry-leading accuracy in any language ✅ Export the text for further processing (summaries, subtitles, SEO content, etc.) 👉 Try the new ElevenLabs Scribe model now: Convert speech to text instantly Business Cases 🔹 Podcast Transcriptions – Convert podcast episodes into blog posts for SEO and accessibility 🔹 YouTube Subtitles – Generate captions automatically for increased engagement 🔹 Legal & Compliance – Accurately transcribe meetings, interviews, or customer calls 🔹 E-learning – Turn lectures and webinars into structured course notes 🔹 SEO & Content Marketing – Repurpose videos into articles, quotes, and social media content 💡 Boost your productivity with the new Scribe model → Start with ElevenLabs Scribe Set up steps 🚀 Quick & simple setup in n8n – Upload your file, select the model (scribe_v1), and let the AI handle the rest via the ElevenLabs API. ⸻ 📢 Why I Chose the New ElevenLabs Scribe Model? I wanted the most accurate and reliable transcription tool for my workflow. After testing different options, Scribe outperformed Google Gemini & OpenAI Whisper in independent benchmarks. It delivers high-quality transcriptions, even in underserved languages like Serbian, Mongolian, and many more. ✅ Transcribes in 99+ languages ✅ Fast, accurate, and easy to integrate ✅ Suitable for content creators, businesses, and professionals 🔗 Get started now and revolutionize your workflow with the new Scribe model → Try Scribe AI today 🚀 Phil | Inforeole