by Łukasz
Who is it for If you are a postmaster or you manage email server, you can set up DKIM and SPF records to ensure that spoofing your email address is hard. On your domain you can also set up DMARC record to receive XML reports from email providers (rua tag). Those reports contain data if email they received passed DKIM and SPF verifications. Since DMARC email is public, you will receive a lot of emails from email providers, not only if DKIM/SPF fail. There is no need for it - you probably only need to know if SPF/DKIM failed. So this script is intended to automatically parse all DMARC reports that come from email providers, but ONLY send you notification if SPF or DKIM failed - meaning that either someone tries to spoof your email or your DKIM/SPF is improperly set up. How it works script monitors postmaster email for DMARC reprots (rua) unpacks report and parses XML into JSON maps JSON and formats fields for MySQL/MariaDB input inputs into database sends notification on DKIM or SPF failure Remember to set up email input mailbox notification channels for slack for email
by Joseph LePage
This workflow template creates an AI agent chatbot with long-term memory and note storage using Google Docs and Telegram integration. Google Docs Integration 📄 n8n Google Docs Node Setup Google Credentials Telegram Integration 💬 Telegram Setup Core Features 🌟 AI Agent Integration 🤖 Implements a sophisticated AI agent with memory management capabilities Uses GPT-4o-mini and DeepSeek models for intelligent conversation handling Maintains context awareness through session management Memory System 🧠 Long-term memory storage using Google Docs Separate note storage system for specific information Window buffer memory for maintaining conversation context Intelligent memory retrieval and storage mechanisms Communication Interface 💬 Telegram integration for message handling Real-time message processing and response generation Technical Components 🔧 Memory Architecture 📚 Dual storage system separating memories from notes Automated memory retrieval before each interaction Structured memory saving with timestamps AI Models 🤖 Primary GPT-4o-mini mini model for general interactions DeepSeek-V3 Chat for specialized processing Custom agent system with tool integration Storage Integration 💾 Google Docs integration for persistent storage Separate document management for memories and notes Automated document updates and retrievals
by Dhruv from Saleshandy
🧠 How it works This workflow automates QA review of Intercom support conversations by: Triggering on conversation.admin.closed events via a webhook Fetching full conversation data using Intercom API Structuring and summarizing the conversation into a readable transcript Using GPT to evaluate: Response time Clarity Tone & behavior Urgency handling Ownership & resolution Logging structured QA scores in a Google Sheet Providing coaching-style feedback if the rating is 3 or below ⚙️ Set up steps 🔐 Configure your Intercom and OpenAI credentials in n8n 📩 Set up the webhook in Intercom to post on conversation close 🧠 Use your OpenAI API key for the GPT-based nodes 🗃️ Connect your Google Sheet (or replace with another data sink) ✅ Add your own filtering logic for spam/promotional tickets if needed Note: This workflow contains a sticky notes to explain each step inside the n8n canvas.
by Jimleuk
This n8n workflow is designed to work on the local network and assists with reconciling downloaded bank statements with internal tenant records to quickly highlight any issues with payments such as missed or late payments or those of incorrect amounts. This assistant can then generate a report to quick flag attention to ensure remedial action is taken. How it works The workflow monitors a local network drive to watch for new bank statements that are added. This bank statement is then imported into the n8n workflow, its contents extracted and sent to the AI Agent. The AI Agent analyses the line items to identify the dates and any incoming payments from tenants. The AI agent then uses an locally-hosted Excel ("XLSX") spreadsheet to get both tenant records and property records. From this data, it can determine for each active tenant when payment is due, the amount and the tenancy duration. Comparing to the bank statement, the AI Agent can now report on where tenants have missed their payments, made late payments or are paying the incorrect amounts. The final report is generated and logged in the same XLSX for a human to check and action. Requirements A self-hosted version of n8n is required. OpenAI account for the AI model Customising this workflow If you organisation has a Slack or Teams account, consider sending reports to a channel for increased productivity. Email may be a good choice too. Want to go fully local? A version of this workflow is available which uses Ollama instead. You can download this template here: https://drive.google.com/file/d/1YRKjfakpInm23F_g8AHupKPBN-fphWgK/view?usp=sharing
by Stefan
Overview This comprehensive n8n workflow provides a sophisticated solution for dynamically selecting and using AI models while maintaining GDPR compliance. It leverages Requesty's European-based AI routing service to ensure data privacy and automatically updates available model options based on real-time API availability. Choose Your Integration Approach Before diving into the setup, it's crucial to understand that this workflow offers two completely independent AI integration approaches: Approach 1: Dynamic HTTP Request Workflow (Advanced) Complete infrastructure with dynamic model selection What it includes: Automatic model discovery from Requesty's API Dynamic dropdown updates in web forms Model selection persistence in Google Sheets Complex workflow orchestration with multiple phases Full control over API parameters and response handling Best for: Teams needing multiple AI models for different tasks Organizations requiring model usage auditing Users who want maximum flexibility and control Advanced n8n users comfortable with complex workflows Setup complexity: High (requires multiple components and configurations) Approach 2: Standalone AI Agent (Simple) Plug-and-play solution without complexity What it includes: Direct use of n8n's native OpenAI Chat Model node Simple configuration: just set base URL to https://router.requesty.ai/v1 Immediate GDPR compliance through European infrastructure No model discovery or selection infrastructure needed Best for: Users wanting quick GDPR-compliant AI integration Single-model use cases Simple chat interfaces Users preferring minimal configuration Setup complexity: Low (5-minute setup) Quick Start: Approach 2 (Simple AI Agent) If you want to get started quickly with GDPR-compliant AI, follow these steps: Step 1: Register with Requesty Visit https://www.requesty.ai Complete the registration process Choose "OpenAI-compatible" integration Note your API endpoint: https://router.requesty.ai/v1 Create an API key (name it "n8n Integration") Step 2: Configure n8n Add a new OpenAI credential in n8n Set the base URL to: https://router.requesty.ai/v1 Enter your Requesty API key Add an OpenAI Chat Model node to your workflow Select your Requesty credential Step 3: Test Your AI agent is now ready and GDPR-compliant! All requests will be routed through Requesty's European infrastructure. Advanced Setup: Approach 1 (Dynamic HTTP Workflow) For users who need dynamic model selection and advanced features, follow this comprehensive setup: Prerequisites n8n instance (self-hosted or cloud) Requesty API credentials Google Sheets integration Basic understanding of n8n workflows Phase 1: Requesty Account Setup 1.1 Registration Process Navigate to https://www.requesty.ai Sign up with your email address Complete the welcome process 1.2 Integration Configuration Choose Integration Type: Select "OpenAI-compatible" Note API Endpoint: https://router.requesty.ai/v1 Create API Key: Provide a descriptive name (e.g., "n8n Dynamic Workflow") Click "Create API Key" Important: Save this key securely - you'll need it for n8n configuration Phase 2: Google Sheets Preparation 2.1 Create Storage Sheet Create a new Google Sheet named "AI Model Selections" Add the following column: A1: "Selected Model" Note the Google Sheet ID from the URL 2.2 Configure Google Sheets API Enable Google Sheets API in Google Cloud Console Create service account credentials Share your sheet with the service account email Download the credentials JSON file Phase 3: n8n Workflow Configuration 3.1 Import Workflow Download the workflow JSON file Import into your n8n instance Review all nodes and connections 3.2 Configure Credentials Requesty API Credentials: Go to n8n Credentials section Create new HTTP Request credential Set authentication type to "Header Auth" Header name: "Authorization" Header value: "Bearer YOUR_REQUESTY_API_KEY" Google Sheets Credentials: Create new Google Sheets credential Upload your service account JSON file Test the connection Google Sheets Nodes: Update sheet ID in all Google Sheets nodes Verify column mappings match your sheet structure Phase 4: Troubleshooting Guide Common Issues and Solutions Models Not Loading: Verify Requesty API credentials Check network connectivity and API endpoint URL Selection Not Persisting: Verify Google Sheets credentials and write permissions Check sheet ID configuration Chat Not Responding: Verify selected model availability Check API request formatting and response processing Debug Procedures Enable debug mode and detailed logging Check node outputs and data flow Validate API calls with external tools Review n8n execution logs Conclusion The choice between approaches depends on your specific requirements: Simple AI Agent**: Perfect for straightforward AI integration with minimal setup Dynamic HTTP Workflow**: Ideal for complex requirements with multiple models and advanced features
by Joseph LePage
✍️🌄 WordPress + AI Content Creator This workflow automates the creation and publishing of multi-reading-level content for WordPress blogs. It leverages AI to generate optimized articles, automatically creates featured images, and provides versions of the content at different reading levels (Grade 2, 5, and 9). How It Works Content Generation & Processing 🎯 Starts with a manual trigger and a user-defined blog topic Uses AI to create a structured blog post with proper HTML formatting Separates and validates the title and content components Saves a draft version to Google Drive for backup Multi-Reading Level Versions 📚 Automatically rewrites the content for different reading levels: Grade 9: Sophisticated language with appropriate metaphors Grade 5: Simplified with light humor and age-appropriate examples Grade 2: Basic language with simple metaphors and child-friendly explanations WordPress Integration 🌐 Creates a draft post in WordPress with the Grade 9 version Generates a relevant featured image using Pollinations.ai Automatically uploads and sets the featured image Sends success/error notifications via Telegram Setup Steps Configure API Credentials 🔑 Set up WordPress API connection Configure OpenAI API access Set up Google Drive integration Add Telegram bot credentials for notifications Customize Content Parameters ⚙️ Adjust reading level prompts as needed Modify image generation settings Set WordPress post parameters Test and Deploy 🚀 Run a test with a sample topic Verify all reading level versions Check WordPress draft creation Confirm notification system This workflow is perfect for content creators who need to maintain a consistent blog presence while catering to different audience reading levels. It's especially useful for educational content, news sites, or any platform that needs to communicate complex topics to diverse audiences.
by Solomon
Learn how to build an MCP Server and Client in n8n with official nodes. > ⚠ Requires n8n version 1.88.0 or higher. In this example, we use Google Calendar and custom functions as two separate MCP Servers, demonstrating how to integrate both native and custom tools. How it works The AI Agent connects to two MCP Servers. Each MCP Trigger (Server) generates a URL exposing its tools. This URL is used by an MCP Client linked to the AI Agent. Whenever you make changes to the tools, there’s no need to modify the MCP Client. It automatically keeps the AI Agent informed on how to use each tool, even if you change them over time. That’s the power of MCP 🙌 Who is this template for Anyone looking to use MCP with their AI Agents. How to set up Instructions are included within the workflow itself. Check out my other templates 👉 https://n8n.io/creators/solomon/
by Amjid Ali
Proxmox AI Agent with n8n and Generative AI Integration This template automates IT operations on a Proxmox Virtual Environment (VE) using an AI-powered conversational agent built with n8n. By integrating Proxmox APIs and generative AI models (e.g., Google Gemini), the workflow converts natural language commands into API calls, enabling seamless management of your Proxmox nodes, VMs, and clusters. Buy My Book: Mastering n8n on Amazon Full Courses & Tutorials: http://lms.syncbricks.com Watch Video on Youtube How It Works Trigger Mechanism The workflow can be triggered through multiple channels like chat (Telegram, email, or n8n's built-in chat). Interact with the AI agent conversationally. AI-Powered Parsing A connected AI model (Google Gemini or other compatible models like OpenAI or Claude) processes your natural language input to determine the required Proxmox API operation. API Call Generation The AI parses the input and generates structured JSON output, which includes: response_type: The HTTP method (GET, POST, PUT, DELETE). url: The Proxmox API endpoint to execute. details: Any required payload parameters for the API call. Proxmox API Execution The structured output is used to make HTTP requests to the Proxmox VE API. The workflow supports various operations, such as: Retrieving cluster or node information. Creating, deleting, starting, or stopping VMs. Migrating VMs between nodes. Updating or resizing VM configurations. Response Formatting The workflow formats API responses into a user-friendly summary. For example: Success messages for operations (e.g., "VM started successfully"). Error messages with missing parameter details. Extensibility You can enhance the workflow by connecting additional triggers, external services, or AI models. It supports: Telegram/Slack integration for real-time notifications. Backup and restore workflows. Cloud monitoring extensions. Key Features Multi-Channel Input**: Use chat, email, or custom triggers to communicate with the AI agent. Low-Code Automation**: Easily customize the workflow to suit your Proxmox environment. Generative AI Integration**: Supports advanced AI models for precise command interpretation. Proxmox API Compatibility**: Fully adheres to Proxmox API specifications for secure and reliable operations. Error Handling**: Detects and informs you of missing or invalid parameters in your requests. Example Use Cases Create a Virtual Machine Input: "Create a VM with 4 cores, 8GB RAM, and 50GB disk on psb1." Action: Sends a POST request to Proxmox to create the VM with specified configurations. Start a VM Input: "Start VM 105 on node psb2." Action: Executes a POST request to start the specified VM. Retrieve Node Details Input: "Show the memory usage of psb3." Action: Sends a GET request and returns the node's resource utilization. Migrate a VM Input: "Migrate VM 202 from psb1 to psb3." Action: Executes a POST request to move the VM with optional online migration. Pre-Requisites Proxmox API Configuration Enable the Proxmox API and generate API keys in the Proxmox Data Center. Use the Authorization header with the format: PVEAPIToken=<user>@<realm>!<token-id>=<token-value> n8n Setup Add Proxmox API credentials in n8n using Header Auth. Connect a generative AI model (e.g., Google Gemini) via the relevant credential type. Access the Workflow Import this template into your n8n instance. Replace placeholder credentials with your Proxmox and AI service details. Additional Notes This template is designed for Proxmox 7.x and above. For advanced features like backup, VM snapshots, and detailed node monitoring, you can extend this workflow. Always test with a non-production Proxmox environment before deploying in live systems. Start with n8n Learn n8n with Amjid Get n8n Book What is Proxmox
by Yulia
This workflow is a modification of the previous template on how to create an SQL agent with LangChain and SQLite. The key difference – the agent has access only to the database schema, not to the actual data. To achieve this, SQL queries are made outside the AI Agent node, and the results are never passed back to the agent. This approach allows the agent to generate SQL queries based on the structure of tables and their relationships, without having to access the actual data. This makes the process more secure and efficient, especially in cases where data confidentiality is crucial. 🚀 Setup To get started with this workflow, you’ll need to set up a free MySQL server and import your database (check Step 1 and 2 in this tutorial). Of course, you can switch MySQL to another SQL database such as PostgreSQL, the principle remains the same. The key is to download the schema once and save it locally to avoid repeated remote connections. Run the top part of the workflow once to download and store the MySQL chinook database schema file on the server. With this approach, we avoid the need to repeatedly connect to a remote db4free database and fetch the schema every time. As a result, we reach greater processing speed and efficiency. 🗣️ Chat with your data Start a chat: send a message in the chat window. The workflow loads the locally saved MySQL database schema, without having the ability to touch the actual data. The file contains the full structure of your MySQL database for analysis. The Langchain AI Agent receives the schema, your input and begins to work. The AI Agent generates SQL queries and brief comments based solely on the schema and the user’s message. An IF node checks whether the AI Agent has generated a query. When: Yes: the AI Agent passes the SQL query to the next MySQL node for execution. No: You get a direct answer from the Agent without further action. The workflow formats the results of the SQL query, ensuring they are convenient to read and easy to understand. Once formatted, you get both the Agent answer and the query result in the chat window. 🌟 Example queries Try these sample queries to see the schema-driven AI Agent in action: Would you please list me all customers from Germany? What are the music genres in the database? What tables are available in the database? Please describe the relationships between tables. - In this example, the AI Agent does not need to create the SQL query. And if you prefer to keep the data private, you can manually execute the generated SQL query in your own environment using any database client or tool you trust 🗄️ 💭 The AI Agent memory node does not store the actual data as we run SQL-queries outside the agent. It contains the database schema, user questions and the initial Agent reply. Actual SQL query results are passed to the chat window, but the values are not stored in the Agent memory.
by PollupAI
Who is this for? This workflow is ideal for individuals focused on nutrition tracking, meal planning, or diet optimization—whether you’re a health-conscious individual, fitness coach, or developer working on a healthtech app. It also fits well for anyone who wants to capture their meal data via voice or text, without manually entering everything into a spreadsheet. What problem is this workflow solving? Manually logging meals and breaking down their nutritional content is time-consuming and often skipped. This workflow automates that process using Telegram for input, OpenAI for natural language understanding, and Google Sheets for structured tracking. It enables users to record meals by typing or sending voice messages, which are transcribed, analyzed for nutrients, and automatically stored for tracking and review. What this workflow does This n8n automation lets users send either a text or voice message to a Telegram bot describing their meal. The workflow then: Receives the Telegram message Checks if it’s a voice message • If yes: Downloads the audio file and transcribes it using OpenAI • If no: Uses the text input directly Sends the meal description to OpenAI to extract a structured list of ingredients and nutritional details Parses and stores the results in Google Sheets Responds via Telegram with a personalized confirmation message A testing interface also allows you to simulate prompts and view structured outputs for development or debugging. Setup Create a Telegram bot via BotFather and note the API token. Create an empty Google Sheet and store the sheet ID in the environment. Set up your OpenAI credentials in the n8n credential manager. Customize the “List of Ingredients and Nutrients” node with your prompt if needed. (Optional) Use the “Testing” section to simulate messages and refine outputs before going live. How to customize this workflow to your needs • Enhance prompts in the OpenAI node to improve the structure and accuracy of responses. • Add new fields in the Google Sheet and corresponding logic in the parser if you want more detail. • Adjust the Telegram response to provide motivational feedback, dietary tips, or summaries. • Upgrade to the “Pro” version mentioned in the contact section for USDA database integration and complete nutrient breakdowns. This is a lightweight, AI-powered meal logging automation that transforms voice or text into actionable nutrition data—perfect for making healthy eating easier and more data-driven. See my other workflows here
by Miha
Combine Tech News in a Personalized Weekly Newsletter This n8n template automates the collection, storage, and summarization of technology news from top sites, turning it into a concise, personalized weekly newsletter. If you like staying informed but want to reduce daily distractions, this workflow is perfect for you. It leverages RSS feeds, vector databases, and LLMs to read and curate tech content on your behalf—so you only receive what truly matters. How it works A daily scheduled trigger fetches articles from multiple popular tech RSS feeds like Wired, TechCrunch, and The Verge. Fetched articles are: Normalized to extract titles, summaries, and publish dates. Converted to vector embeddings via OpenAI and stored in memory for fast semantic querying. A weekly scheduled trigger activates the AI summarization flow: The AI is provided with your interests (e.g., AI, games, gadgets) and the desired number of items (e.g., 15). It queries the vector store to retrieve relevant articles and summarizes the most newsworthy stories. The summary is converted into a clean, email-friendly format and sent to your inbox. How to use Connect your OpenAI and Gmail accounts to n8n. Customize the list of RSS feeds in the “Set Tech News RSS Feeds” node. Update your interests and number of desired news items in the “Your Topics of Interest” node. Activate the workflow and let the automation run on schedule. Requirements OpenAI** credentials for embeddings and summarization Gmail** (or another email service) for sending the newsletter Customizing this workflow Want to use different sources? Swap in your own RSS feeds, or use an API-based news aggregator. Replace the in-memory vector store with Pinecone, Weaviate, or another persistent vector DB for longer-term storage. Adjust the agent's summarization style to suit internal updates, industry-specific briefings, or even entertainment recaps. Prefer chat over email? Replace the email node with a Telegram bot to receive your personalized tech newsletter directly in a Telegram chat.
by Jay Hartley
What this workflow does Downloads the daily top podcasts of a selected genre Summarizes the content of each podcast in a few paragraphs Sends the summaries and the direct link to each podcast in a formatted email Setup Create a free API key on Taddy here: https://taddy.org/signup/developers Input your user number and API key into the TaddyTopDaily node in the header parameters X-USER-ID and X-API-KEY respectively. Create access credentials for your Gmail as described here: https://developers.google.com/workspace/guides/create-credentials. Use the credentials from your client_secret.json in the Gmail node. In the Genre node, set the genre of podcasts you want a summary for. Valid values are: TECHNOLOGY, NEWS, ARTS, COMEDY, SPORTS, FICTION, etc. Look at api.taddy.org for the full list (they will be displayed in the help docs as PODCASTSERIES_TECHNOLOGY, PODCASTSERIES_NEWS, etc.) Enter your email address in the Gmail node. Change the schedule time for sending email from Schedule to whichever time you want to receive the email. Test: Hit Test Workflow. Check your email for the results. That's it! It should take less than 5 minutes total.