by Abdullah Alshiekh
🧩 Problem Solved Eliminates the slow, inconsistent, and error-prone process of manually replying to Facebook comments by automating it with AI, ensuring fast, accurate, and on-brand customer engagement 24/7. 📝 Description This workflow automatically monitors your latest Facebook post for new comments. For each new comment, an AI agent instantly generates a friendly, personalized reply in Egyptian Arabic, using your Notion knowledge base to ensure all product info is accurate. It prevents spam by never replying to the same comment twice. Simple Flow: New Comment → Duplicate Check → AI Analysis → Post Reply → Log Action. 🎯 Key Benefits 24/7 Instant Replies: Engage customers immediately, anytime. Perfect Brand Voice: Consistent, empathetic, natural Egyptian Arabic tone in every reply. Always Accurate: Pulls facts directly from your knowledge base; never invents details. No Duplicate Replies: Robust checks ensure each comment gets only one response. Huge Time Saver: Frees your team from constantly monitoring comments. 🛠️ Core Features Facebook API Integration (Read & Reply) Notion Database Integration (Knowledge Base & Logging) AI Response Generation (Google Gemini) Duplicate Comment Prevention Automated Workflow Logic 🔧 Requirements Facebook Access Token with pages_read_engagement and pages_manage_posts permissions. Two Notion Databases: One for your product knowledge, one to log processed comments. Google Gemini API Key for AI. n8n Credentials for Facebook, Notion, and Gemini. ⚙️ Quick Customization Tone & Style: Edit the prompt in the Generate Customer Reply node. Product Info: Add fields to your Notion Knowledge Base database. Escalation: Add a step to flag angry comments for a human agent. 🧠 Perfect For E-commerce: Answering product questions on promo posts. Healthcare: Providing accurate drug info with compassion. Local Businesses: Replying to queries about hours/menu items. Any Business that wants fast, professional customer engagement on social media. Need help? Connect on LinkedIn
by Alex Gurinovich
This n8n workflow automates support ticket handling with AI-driven classification, response generation, and safety checks. Responses are based solely on your Mintlify documentation, ensuring accuracy, consistency, and reduced manual effort in customer support. ✅ Trigger: New Ticket Received The workflow is triggered whenever a new support ticket is created. 🔍 Check for Assignee If the ticket is already assigned to a human agent, the bot does nothing and exits. If the ticket is unassigned, the bot continues processing. 🔢 Bot Response Count Check The workflow checks how many times the bot has already responded to this ticket. If the bot has replied more than 3 times, it stops and waits for a human to take over. This prevents endless loops and flags potentially complex cases for review. 🧠 AI-Based Ticket Categorization An AI model analyzes the ticket content and classifies it into one of the following categories: 🧾 Billing → Sends a predefined billing-related message. 📢 Advertising → Automatically deletes the ticket. 🚨 Fraud → Sends a predefined fraud-related message. ❓ Other → Proceeds to generate a dynamic response. 🤖 Mintlify Integration For tickets categorized as "Other", the customer’s question is sent to the Mintlify API, which returns a documentation-based answer. ✍️ AI Response Formatter The raw response from Mintlify is passed to an AI model that: Summarizes and rewrites the answer in a clear, friendly tone Limits the response to 120 words Adds conversational elements like “Hi,” “Thanks,” and a proper closing 🛡️ AI Confidence Filter A second AI model reviews the formatted response to ensure it sounds confident and accurate. It looks for uncertainty phrases like: “I’m not sure” “I don’t have enough information” “It depends…” If the response is flagged as uncertain, the workflow stops and waits for a human agent to respond. 📤 Send Response & Update Ticket If the response passes the confidence check: The reply is sent to the customer The ticket status is updated to “Pending”
by Miquel Colomer
Do you want to control the DNS domain entries of your customers or servers? This workflow gets DNS information of any domain using the uProc Get Domain DNS records tool. You can use this workflow to check existing DNS records in real-time to ensure that any domain setup is correct. You need to add your credentials (Email and API Key - real -) located at Integration section to n8n. You can replace "Create Domain Item" with any integration containing a domain, like Google Sheets, MySQL, or Zabbix server. Every "uProc" node returns multiple items with the next fields per every item: type: Contains the DNS record type (A, ALIAS, AAAA, CERT, CNAME, MX, NAPTR, NS, PTR, SOA, SRV, TXT, URL). values: Contains the DNS record values.
by Joseph
Watch on Youtube▶️ Welcome to this complete step-by-step guide on how to build your own newsletter automation system using n8n, Bolt.new, and RapidAPI. Whether you're a solo founder, indie hacker, or community builder, this setup will allow you to collect subscribers, send them curated job updates, and manage unsubscriptions — all with full control and zero reliance on third-party newsletter tools. 🚀 Goal of This Guide By the end of this guide, you will have a fully working system that allows you to: Collect user subscriptions from a modern frontend interface Send welcome or rejection emails (using your own SMTP) Automatically scrape jobs via an API and send them to subscribers weekly or daily Manage unsubscriptions with confirmation and webhook logic Customize and manage all this using n8n workflows with no-code/low-code skills This system is perfect for niche job boards, community newsletters, or any project that needs automated content delivery to subscribers. 🧱 Tools You'll Be Using n8n** – for automation workflows and acting as your backend Bolt.new** – to build your newsletter landing page and subscription interface Google Sheets** – to act as your lightweight subscriber/job database RapidAPI** – to pull job listings from the Jobs Search API Custom SMTP Email (Optional)** – to send branded emails using your own domain 📄 Step 1: Set Up Your Google Sheets Database Make a copy of this Google Sheets template that will serve as your database: 🔗 Click here to copy the Google Sheet template](https://docs.google.com/spreadsheets/d/11vxYkjfwIrnNHN6PIdAOa_HZdTvMXI0lm_Jecac4YO0/edit?gid=0#gid=0) This includes: A Subscribers sheet to store new signups An Unsubscribers sheet to prevent duplicates A Jobs sheet to store scraped job listings ⚙ Step 2: Get Your API Key for Jobs Scraping We use this API from RapidAPI to pull job listings programmatically: 🔗 Jobs Search API on RapidAPI Sign up or log into RapidAPI Subscribe to the Jobs Search API Copy your API key — you'll need this in n8n ⚙ Step 3: Get Your API Key for Email Validation We use this API from Mails.so to confirm email's validity before adding them to our database: 🔗 Mails.so API Sign up or log into mails dot so Visit the dashboard, then click on API Copy the cURL command and import on http request node 🌐 Step 4: Set Up Your Frontend with Bolt.new You'll be building a beautiful, modern newsletter landing page using Bolt.new. Use this link for prompts to generate: Your landing page Email templates (welcome, already subscribed, unsubscribe confirmation) Terms & Privacy Policy pages Unsubscribe confirmation page 🔗 Access the Bolt.new Prompt Document This includes: A homepage form with input fields (Name, Email) and consent checkbox Logic to send data to n8n webhook using fetch() UI logic for showing webhook response (Success, Already Exists, Invalid Email) Unsubscribe page handling (Make your own copy so that you can edit it while we format the prompts) 📤 Step 5: Set Up Email Sending With Your Custom Domain (Optional but Recommended) To send branded HTML emails from your own domain, follow this tutorial to configure SMTP properly on n8n with your cPanel email account: 🔗 Guide: How to Set Up SMTP with cPanel Email on n8n This setup helps: Improve deliverability Avoid Gmail spam filters Send beautiful HTML emails you can customize fully 🔄 Step 6: Create n8n Workflows for Subscription Management In n8n, you'll need to build these workflows: ✅ 1. Handle Subscriptions Receives webhook from frontend with name and email Validates email (using mails.so) Checks if already subscribed Sends appropriate HTML email (Welcome, Already Exists, Invalid Email) Adds to Google Sheet database ✅ 2. Scrape Jobs and Email Subscribers Use Cron node to run daily/weekly Use RapidAPI to fetch new jobs Format jobs into readable HTML Send jobs to all active subscribers via SMTP ✅ 3. Handle Unsubscriptions Expose a webhook for /unsubscribe Confirm email, show a button On confirmation, add email to Unsubscribers sheet Show feedback and redirect user back to homepage after 2 seconds 🧠 What You're Learning Along the Way How to use n8n as a backend service (reliable, scalable, visual) How to use webhooks to connect frontend and backend logic How to scrape APIs, format JSON data, and convert it to HTML emails How to use Function nodes for data processing How to build logic with IF and Switch nodes How to design a minimal, clean frontend with Bolt.new How to control the entire newsletter system without external platforms Follow me on twitter @juppfy | or check out my agency website.
by Harshil Agrawal
This workflow allows you to send a message on Mattermost when a workflow is updated. Workflow Trigger node: The Workflow Trigger node will trigger the workflow when the workflow gets updated. Mattermost node: This node will send a message on Mattermost, notifying you about the update.
by Pauline
This workflow allows you to find and verify emails and enrich your contact from a Google Sheet with Dropacontact and add them to Lemlist. Start node: The start node exists by default when you create a new workflow. Google Sheet node: This node will list all the records from Google Sheet. Dropcontact node: This node will find the verified email of the contact and enrich it to be able to contact him lemlist node: This node will add a contact to an existing campaign
by Miquel Colomer
Who we are We are Aprende n8n, the first n8n Spanish course for all n8n lovers. If you want to learn more, you can find out more at Aprende n8n. Task goal This task allows extracting data from any email body with a NoCode snippet. An small explanation You receive an email when a user submits a form from your website. All those emails usually have the same structure as the next one: Name: Miquel Email: miquel@aprenden8n.com Subject: Welcome aboard Message: Hi Miquel! Thank you for your signup! This task allows to parse any email body and assign all values to the defined labels, getting an output like this: { "Name": "Miquel", "Email": "miquel@aprenden8n.com", "Subject": "Welcome aboard", "Message" "Hi Miquel! Thank you for your signup!" } After importing it When you import the import, you get the next task in your n8n: We recommend importing this workflow into your current task and adapting it. You define a couple of variables in the "Set values" SET: body: the email body you want to parse. You can add this as an expression from previous variables. labels: the keywords you want to detect and parse. Labels are case insensitive. We define the next values: Body Name: Miquel Email: miquel@aprenden8n.com Subject: Welcome aboard Message: Hi Miquel! Thank you for your signup! Labels Name,Email,Subject,Message A screenshot of the Set output is the next one If we check the "Function item" Node, we get the next content after executing the task: Capabilities The task has the next features: You can detect as many labels as you want. Label detection is case insensitive. You can use the snippet as an independent workflow to call it generically, adding the Function item to the workflow and passing body and labels as paremeters. Limitations This task has limitations: The parser only accepts the multiline values at the end of the email. Help and comments If you have any doubt about this snippet, please, contact us at miquel@aprenden8n.com. You can contact us at Aprende n8n or in the Spanish n8n community
by Eduard
This workflow extends n8n and uses R language graphic capabilities. This is a Telegram bot which fetches weather data via the openweathermap.org API, plots an image using ggoplot2 package from R and sends the image to the Telegram user.
by Eduard
The workflow starts by listening for messages from Telegram users. The message is then processed, and based on its content, different actions are taken. If it's a regular chat message, the workflow generates a response using the OpenAI API and sends it back to the user. If it's a command to create an image, the workflow generates an image using the OpenAI API and sends the image to the user. If the command is unsupported, an error message is sent. Throughout the workflow, there are additional nodes for displaying notes and simulating typing actions.
by n8n Team
This n8n workflow serves as a powerful cybersecurity and threat intelligence tool to look up URLs or IP addresses through industry standard threat intelligence vendors. It starts with either a form submission or a webhook trigger, allowing users to input data, URLs or IPs that require analysis. The workflow then splits into two paths depending on whether the input data is an IP or URL. If an IP was given, it sets the ip variable to the IP; however if a URL was given the workflow will perform a DNS lookup using Google Public DNS and sets the ip variable based on the results from Google. The workflow then checks the obtained IP addresses against GreyNoise services, with one branch utilizing GreyNoise RIOT IP Lookup to assess IP reputation and association with known benign services, and the other using GreyNoise IP Context to evaluate potential threats. The results from both GreyNoise services are merged to create a comprehensive analysis which includes the IP, classification (benign, malicious, or unknown), IP location, tags to identify activity or malware, category, and trust level. In parallel, a VirusTotal scan is initiated for the URL/IP to identify if it is malicious. A 5-second wait ensures proper processing, and the workflow subsequently polls the scan result to determine when the analysis is complete. The workflow then summarizes the analysis including the overall security vendor analysis results, blockList analysis, OpenPhish analysis, the URL, and the IP. Finally, the workflow combines the summarized intelligence from both GreyNoise and VirusTotal to provide a thorough analysis of the URL/IP. This summarized intelligence can then be emailed to the user that filled out the form via Gmail or it can be sent to the user via a Slack message. Setting up this workflow may require proper configuration of the form submission or webhook trigger, and ensuring that the GreyNoise and VirusTotal API credentials are correctly integrated. Users should also consider the potential volume of data and API rate limits, as excessive requests could lead to issues. Proper documentation and validation of input data are crucial to ensure accurate and meaningful results in the final report.
by n8n Team
This n8n workflow is designed for security monitoring and incident response when suspicious login events are detected. It can be initiated either manually from within the n8n UI for testing or automatically triggered by a webhook when a new login event occurs. The workflow first extracts relevant data from the incoming webhook payload, including the IP address, user agent, timestamp, URL, and user ID. It then splits into three parallel processing paths. In the first path, it queries GreyNoise's Community API to retrieve information about the investigated IP address. Depending on the classification and trust level received from GreyNoise, the alert is given a High, Medium, or Low priority. This priority is assigned based on the best practices documentation from GreyNoise on how to apply their data to analysis. Once a priority is assigned, a message is sent to a Slack channel to notify users about the alert. The second path involves fetching geolocation data about the IP address using IP-API's Geolocation API and merging it with data from the UserParser node. This data is then combined with the data obtained from GreyNoise. In the third path, the UserParser node queries the Userparser IP address and user agent lookup API to obtain information about the user's IP and user agent. This data is merged with the IP-API data and GreyNoise data. The workflow then checks if the IP address is considered an unknown threat by examining both the noise and riot fields from GreyNoise. If it is considered an unknown threat, the workflow proceeds to retrieve the last 10 login records for the same user from a Postgres database. If there are any discrepancies in the login information, indicating a new location or device/browser, the user is informed via email. Potential issues when setting up this workflow include ensuring that credentials are correctly entered for GreyNoise and UserParser nodes, and addressing any discrepancies in the data sources that could lead to false positives or negatives in threat detection. Additionally, the usage of hardcoded API keys should be replaced with credentials for security and flexibility. Thorough testing and validation with sample data are crucial to ensure the workflow performs as expected and aligns with security incident response procedures.
by Harshil Agrawal
This workflow allows you to create, add an attachment, and send a draft using the Microsoft Outlook node. Microsoft Outlook node: This node creates a draft message with HTML content. You can either set the content as Text or HTML. You can also add the recipients to the draft in this node. HTTP Request node: This node fetches the logo of n8n from a URL and returns the binary data. You might want to fetch files from your machine or another email or a database. You can replace this node with the relevant node. Microsoft Outlook1 node: This node adds the attachment that we receive from the previous node to the draft message that we created. Microsoft Outlook2 node: This node sends the draft message to a recipient. Since we didn't mention the recipient in the Microsoft Outlook node, we add the recipient in this node. You can also enter multiple recipients.