by Tom
Markdown to Notion Blocks Converter Transform markdown-formatted text into properly structured Notion page content with this comprehensive workflow. Overview This workflow automatically converts markdown text into Notion's block format and inserts it directly into a Notion page. Perfect for content creators, documentation teams, and anyone who needs to migrate markdown content to Notion. Features Complete Markdown Support**: Handles headers (H1-H4), paragraphs, lists, quotes, code blocks, and horizontal rules Rich Text Formatting**: Preserves bold, italic, and link formatting Smart Text Processing**: Generates plain text excerpts and maintains original content structure Direct Notion Integration**: Automatically inserts converted blocks into your specified Notion page Batch Processing**: Efficiently handles large content blocks What It Does Takes markdown-formatted text as input Parses and converts it to Notion's block structure Handles complex formatting including: Headers and subheaders Bulleted and numbered lists Code blocks with syntax highlighting Blockquotes Bold and italic text Links Horizontal dividers Uploads the converted content directly to your Notion page Use Cases Content Migration**: Move existing markdown documentation to Notion Automated Publishing**: Convert blog posts or articles from markdown to Notion Documentation Workflows**: Streamline technical documentation processes Content Syndication**: Publish the same content across multiple platforms Requirements Notion API credentials Target Notion page ID Markdown-formatted source content Setup Configure your Notion API credentials Replace the page ID in the HTTP request node with your target Notion page Connect your markdown data source (replace the mock data node) Execute the workflow
by Keith Rumjahn
Who's this for? If you own a website and need to analyze your keyword rankings If you need to create a keyword report on your rankings If you want to grow your keyword positions SerpBear is an opensourced SEO tool specifically for keyword analytics. Click here to read details of how I use it Example output of A.I. Key Observations about Ranking Performance: The top-performing keyword is “Openrouter N8N” with a current position of 7 and an improving trend. Two keywords, “Best Docker Synology” and “Bitwarden Synology”, are not ranking in the top 100 and have a stable trend. Three keywords, “Obsidian Second Brain”, “AI Generated Reference Letter”, and “Actual Budget Synology”, and “N8N Workflow Generator” are not ranking well and have a declining trend. Keywords showing the most improvement: “Openrouter N8N” has an improving trend and a relatively high ranking of 7. Keywords needing attention: “Obsidian Second Brain” has a declining trend and a low ranking of 69. “AI Generated Reference Letter” has a declining trend and a low ranking of 84. “Actual Budget Synology”, “N8N Workflow Generator”, “Best Docker Synology”, and “Bitwarden Synology” are not ranking in the top 100. Use case Instead of hiring an SEO expert, I run this report weekly. It checks the keyword rankings of the past week and gives me recommendations on what to improve. How it works The workflow gathers SerpBear analytics for the past 7 days. It passes the data to openrouter.ai for A.I. analysis. Finally it saves to baserow. How to use this Input your SerpBearcredentials Enter your domain name Input your Openrouter.ai credentials Input your baserow credentials You will need to create a baserow database with columns: Date, Note, Blog Created by Rumjahn
by Tony Duffy
. Read and store IOT sensor data with the MQTT Trigger and InfluxDB tonyduffy@protonmail.com This workflow is for users wanting a practical example of how to obtain data from remote IOT systems using the MQTT protocol in an n8n environment. The template provides typical n8n node implementation and configuration settings necessary to read and store IOT data. The workflow reads the temperature and humidity data from a remote IOT system in this case a DHT22 sensor connected to a ESP32 micro controller. The data is parsed into the correct JSON format and then ingested in an InfluxDB data bucket. From there the stored temperature and humidity values can be displayed in real time. The workflow can be easily modified to read any MQTT driven device data. Remote IOT Sensor Setup The ESP32 controller with the DHT22 sensor are running on a Wokwi simulator. The simulator uses micro python to publish a MQTT "wokwi-weather" topic with the temperature and humidity payloads to an online Mosquitto MQTT broker. The n8n MQTT trigger node subscribes to the topic on the broker and reads the payload values when any changes are published. The code node then prepares the payload for JSON format. The HTTP request node ingests the data in a InfluxDB bucket How to customise this workflow to your needs Wokwi IOT ESP32 simulator You will need to setup a free account at Wokwi.com Once created search for a project "Micro-Python MQTT Weather Logger (ESP32)" Then when the MQTT weather logger project is open change lines 28 and 29 to the following 28 MQTT_CLIENT_ID = "" 29 MQTT_BROKER = "test.mosquitto.org" You then can start the simulation by clicking on the green arrow and it will connect the mosquitto broker and the "wokwi-weather" topic will be published. By clicking on the DHT22 sensor the temperature and humidity bar will appear and you can change the values to send updated payload values to the broker. InfluxDB You will require access to functioning InfluxDB database to utilise this workflow Note : You will have to provide the following for the HTTP request node to connect to InfluxDB. The URL and port of the desired InfluxDB (In this case the InfluxDB is running locally on port 8086 ie. http://localhost:8086.) InfluxDB bucket for the data. ( In this case the created bucket name is "wokwi-data") The Organization ID of the InfluxDB. This can be obtained for the InfluxDB admin page A generated API token to read and write to the InfluxDB bucket. Created from the InfluxDB admin n8n workflow. The MQTT trigger node is configured to subscribe to the "wokwi-weather" topic on the test Mosquitto MQTT broker. It reads the temperature and humidity data sent by ESP32. The code node uses Javascript to move the temperature and humidity payloads to JSON format. This is flexible and can easily modified. The HTTP request node posts the JSON payloads to the InfluxDB bucket. When the above is configured the workflow should function correctly. Thanks to the many who have downloaded this template. Let me know on what you would like to build. Contact me at tonyduffy@protonmail.com
by damo
Overview This workflow allows users to generate AI music using the KIE. ai API integrated with the Suno V3.5 model. It provides a simple form interface for inputting parameters like music prompts, styles, and titles. The system automatically submits the request to the API, monitors the generation status in real time until completion, and retrieves the final music output. This is perfect for musicians, content creators, or developers looking to automate custom music creation with support for various modes and intelligent generation. Prerequisites A KIE. ai account and API key: Create an account at KIE.ai and obtain your API key. An active n8n instance (self-hosted or cloud-based) with support for HTTP requests and form submissions. Familiarity with AI music prompts to optimize results, such as describing mood, instruments, and rhythm. Setup Instructions Get API Key: Sign up at KIE. ai and generate your API key. Keep it secure and input it in the form—do not disclose it to others. Import Workflow: Copy the JSON from this template and import it into your n8n editor. Configure the Form: In the form node, set fields for: prompt: Describe the music content (e.g., "A calm and relaxing piano track with soft melodies"). style: Specify the genre (e.g., "Classical", "Jazz", "Pop"). title: Provide a title for the generated music (max 80 characters). api_key: Your KIE. ai key. Test the Workflow: Click "Execute Workflow" in n8n to activate the form. Access the form URL, fill in the parameters, and submit. The workflow will send a POST request to the API, wait and poll every 10 seconds for status updates, and display the music file once ready. View Results: The output node formats the results, showing playable music files. Customization Guidance Refine Prompts**: For better results, include detailed descriptions like emotions, rhythm, instruments, or lyrics. Example: "A peaceful piano meditation track with gentle waves in the background."
by Avkash Kakdiya
How it works: This project automatically verifies lead email addresses stored in Google Sheets using Hunter.io. It checks each email’s validity and writes back the results—including confidence scores, verification status, and metadata—so your outreach lists are always clean and reliable. This workflow runs daily, reads from a source sheet, verifies emails via API, and writes results into another sheet. No manual checking. No wasted leads. Step-by-step: Schedule Trigger:** The workflow is scheduled to run automatically once per day, but you can also run it manually when needed. Fetch Emails:** Reads emails from a Google Sheet (named Sheet1) with columns like Email, FirstName, LastName, and Company. Data Cleaning:** Filters out blank or invalid email formats before verification to save API usage. Hunter.io Verification:** Each email is passed to Hunter.io’s /email-verifier API, returning status (valid, invalid, risky), SMTP check, score (0–100), and disposable flag. Format Results:** The API response is converted into a human-readable summary like: ✅ Valid (96% confidence) or ❌ Invalid / Risky Write to Sheet:** The verified results are written back into your output Google Sheet—either appending new rows or updating existing ones. Setup instructions: Google Sheet:** Use a sheet named Sheet1 and ensure it includes these columns: Email, FirstName, LastName, Company. Hunter.io Key:** Sign up at hunter.io. Go to Dashboard → API → Copy your key In n8n, open the Email Verifier node → Create Credential → Paste your API key → Save
by Oneclick AI Squad
A lightweight no-code workflow that captures student check-in data via a mobile app or webhook, stores it in a Google Sheet, and instantly notifies the class teacher via email. 🎯 What This Does Students check in using a mobile app or QR code Their data is formatted and saved to a Google Sheet A notification email is sent to the class teacher in real time 🔧 Workflow Steps | Step | Description | | ------------------------------ | ----------------------------------------------------------- | | Student Check-in (Webhook) | Triggered via POST request from mobile app or QR scanner | | Format Data | Cleans and prepares incoming JSON into structured format | | Append or Update Row | Saves student check-in data into Google Sheets | | Email Teacher | Sends formatted check-in email to the class teacher | | Success Response | Returns a confirmation response to the mobile app or system | 📱 Example Check-in Input (Webhook Body) { "student_name": "Aarav Mehta", "student_id": "STU025", "class_name": "Grade 6B" } 📊 Google Sheets Format | Student Name | Student ID | Class | Date | Time | | ------------ | ---------- | -------- | ---------- | ----- | | Aarav Mehta | STU025 | Grade 6B | 2025-08-06 | 08:35 | Date and time are added dynamically in the workflow. ⚙️ Setup Requirements n8n Instance** – Deployed with public webhook support Google Sheets** – Sheet with columns as shown above Email SMTP Settings** – For sending teacher notification ✅ Quick Setup Instructions Import the workflow into your n8n instance Replace the webhook URL in your mobile app Set your Google Sheet ID and range Enter the teacher’s email in the “Email Teacher” node Test with mock data Deploy and use live!
by Agent Studio
This workflow is an experiment to integrate charts in AI Agents, using the new Structured Output from OpenAI and Quickchart.io. How it works Users chat with an AI Agent. Anytime the AI Agent considers a chart is needed, it calls a tool to generate a chart OpenAI generates a chart using the Quickchart definition This object is added at the end of a Quickchart.io URL (see documentation) The url is added in the conversation via the AI Agent as markdown. Set up steps Create an OpenAI API Key Create the OpenAI credentials Use the credentials for the HTTP Request node (as Predefined Credential type) Activate your workflow Start chatting For example, you can ask the AI Agent to generate a chart about the top 5 movies at the box office Start exploring the limits Shout-out Quickchart.io is an amazing open source project that provides a free API to test. Go check them out! Example of chart
by Oneclick AI Squad
📘 Student Absence Alerts & Attendance Tracking Automation Automatically alerts parents about student absences and tracks 30-day attendance patterns to identify risks and trends. 🔧 Main Components Daily Attendance Check – 10:30 AM** Triggers the workflow every day at 10:30 AM. Read Today’s Attendance** Retrieves current-day attendance records from the source Excel or database. Read Student Contacts** Reads contact details (email, phone) of students for alert delivery. Process Absent Students** Identifies students who are absent and unexcused for the day. Prepare Absence Email** Generates customized email content for absent students. Send Absence Email** Sends an absence alert email to the student’s parent/guardian. Prepare Absence SMS** Formats WhatsApp-friendly message for alerts. Send Absence WhatsApp** Sends the WhatsApp message using API (e.g., Facebook Graph). Generate Attendance Report** Prepares a daily attendance summary with absence level classifications. Save Attendance Report** Appends the generated report to a historical attendance sheet. ⚠️ Alert Logic Based on the past 30-day absence pattern, the system classifies students into: | Level | Absences in 30 Days | Status | | --------- | ------------------- | -------------- | | 🔴 High | 5+ | Critical Alert | | 🟡 Medium | 3–4 | Warning | | 🟢 Low | 1–2 | Low Risk | 📊 Tracking Features 🔢 Attendance Rate Calculation – Tracks each student's attendance percentage 🔍 Pattern Analysis – Detects recurring absenteeism trends 🚨 Risk Identification – Flags high-risk students for early intervention 📈 Historical Reporting – Maintains daily logs for future reference ✅ Essential Prerequisites Excel sheet or database with daily attendance logs Excel sheet or database with student contact details SMTP credentials for sending emails WhatsApp API integration (e.g., Facebook Graph or Twilio) Storage access for saving attendance reports 📁 Required Excel File Structures Attendance Sheet (daily_attendance.xlsx) | Student ID | Date | Status | | ---------- | ---------- | ------ | | ST101 | 2025-08-06 | Absent | Contacts Sheet (student_contacts.xlsx) | Student ID | Name | Email | Phone | | ---------- | ---------- | --------------------------------------------- | ------------- | | ST101 | Aryan Shah | aryan@example.com | +919123456789 | 🧾 Expected Input Format Example { "studentId": "ST101", "name": "Aryan Shah", "email": "aryan@example.com", "phone": "+919123456789", "status": "Absent", "date": "2025-08-06" } 🚀 Key Features ⏰ Scheduled Daily Execution – Automated tracking at 10:30 AM ✉️ Multi-Channel Notifications – Email + WhatsApp alerts to parents 📊 Absence Pattern Monitoring – 30-day trend analysis 🧠 Risk-Based Alerts – Smart classification into alert levels 🗂️ Daily Reports – Easy to audit attendance summary logs ⚙️ Quick Setup Guide Import Workflow JSON into n8n. Configure schedule trigger at 10:30 AM. Set Excel file paths in "Read Today’s Attendance" and "Read Student Contacts". Customize absence thresholds in the “Process Absent Students” node. Add SMTP details for the “Send Absence Email” node. Integrate WhatsApp API in the “Send Absence WhatsApp” node. Test with mock data and review reports. Activate the workflow. 🔧 Parameters to Configure | Parameter | Description | | ---------------------- | -------------------------------------- | | attendance_file_path | Path to today's attendance records | | contacts_file_path | Path to student contacts sheet | | smtp_user | Email username for SMTP server | | smtp_password | Password for SMTP server | | whatsapp_api_url | Endpoint for sending WhatsApp messages | | alert_thresholds | Absence count thresholds for alerts |
by Guillaume Duvernay
Unlock a new level of sophistication for your AI agents with this template. While the native n8n Think Tool is great for giving an agent an internal monologue, it's limited to one instance. This workflow provides a clever solution using a sub-workflow to create multiple, custom thinking tools, each with its own specific purpose. This template provides the foundation for building agents that can plan, act, and then reflect on their actions before proceeding. Instead of just reacting, your agent can now follow a structured, multi-step reasoning process that you design, leading to more reliable and powerful automations. Who is this for? AI and automation developers:** Anyone looking to build complex, multi-tool agents that require robust logic and planning capabilities. LangChain enthusiasts:** Users familiar with advanced agent concepts like ReAct (Reason-Act) will find this a practical way to implement similar frameworks in n8n. Problem solvers:** If your current agent struggles with complex tasks, giving it distinct steps for planning and reflection can dramatically improve its performance. What problem does this solve? Bypasses the single "Think Tool" limit:** The core of this template is a technique that allows you to add as many distinct thinking steps to your agent as you need. Enables complex reasoning:** You can design a structured thought process for your agent, such as "Plan the entire process," "Execute Step 1," and "Reflect on the result," making it behave more intelligently. Improves agent reliability and debugging:** By forcing the agent to write down its thoughts at different stages, you can easily see its line of reasoning, making it less prone to errors and much easier to debug when things go wrong. Provides a blueprint for sophisticated AI:** This is not just a simple tool; it's a foundational framework for building state-of-the-art AI agents that can handle more nuanced and multi-step tasks. How it works The re-usable "Thinking Space": The magic of this template is a simple sub-workflow that does nothing but receive text. This workflow acts as a reusable "scratchpad." Creating custom thinking tools: In the main workflow, we use the Tool (Workflow) node to call this "scratchpad" sub-workflow multiple times. We give each of these tools a unique name (e.g., Initial thoughts, Additional thoughts). The power of descriptions: The key is the description you give each of these tool nodes. This description tells the agent when and how it should use that specific thinking step. For example, the Initial thoughts tool is described as the place to create a plan at the start of a task. Orchestration via system prompt: The main AI Agent's system prompt acts as the conductor, instructing the agent on the overall process and telling it about its new thinking abilities (e.g., "Always start by using the Initial thoughts tool to make a plan..."). A practical example: This template includes two thinking tools to demonstrate a "Plan and Reflect" cycle, but you can add many more to fit your needs. Setup Add your own "action" tools: This template provides the thinking framework. To make it useful, you need to give the agent something to do. Add your own tools to the AI Agent, such as a web search tool, a database lookup, or an API call. Customize the thinking tools: Edit the description of the existing Initial thoughts and Additional thoughts tools. Make them relevant to the new action tools you've added. For example, "Plan which of the web search or database tools to use." Update the agent's brain: Modify the system prompt in the main AI Agent node. Tell it about the new action tools you've added and how it should use your customized thinking tools to complete its tasks. Connect your AI model: Select the OpenAI Chat Model node and add your credentials. Taking it further Create more granular thinking steps:** Add more thinking tools for different stages of a process, like a "Hypothesize a solution" tool, a "Verify assumptions" tool, or a "Final answer check" tool. Customize the thought process:* You can change *how the agent thinks by editing the prompt inside the fromAI('Thoughts', ...) field within each tool. You could ask for thoughts in a specific format, like bullet points or a JSON object. Change the workflow trigger:** Switch the chat trigger for a Telegram trigger, email, Slack, whatever you need for your use case! Integrate with memory:** For even more power, combine this framework with a long-term memory solution, allowing the agent to reflect on its thoughts from past conversations.
by Matheus Pedrosa
Who is this template for? This template is ideal for n8n instance administrators, developers, and DevOps teams who need a proactive and organized way to monitor the health of their automations. If you want to be notified about failures as soon as they happen, without having to manually check execution logs, this workflow is for you. What does this template do? This workflow automates error monitoring on your n8n instance. Every hour, it performs the following steps: Queries the n8n API to fetch all executions that have failed in the last hour. Groups the errors by workflow to consolidate the information. Builds a rich message for each failed workflow, including the error count. Sends an alert to a Slack channel with a button to open the workflow directly, allowing for immediate investigation. Requirements Before you start, you will need to have the following configured in your n8n instance: n8n API Credentials:** You need to generate an API key in your n8n instance settings so the workflow can query execution data. Slack Credentials:* A configured *Slack (OAuth2 API)** credential to allow n8n to send messages to your workspace. How to set it up Setup is simple and only takes a few minutes: Config Node: In the node named "Config", you must set the value for the baseUrl to your n8n instance's URL (e.g., https://n8n.yourdomain.com). This is crucial for generating the correct workflow links in the Slack message. Schedule Trigger: The workflow is pre-configured to run every hour. You can adjust the frequency in this node to fit your needs. "Get Failed Executions" Node (HTTP Request): Under Authentication, select 'Header Auth'. In the Credentials field, select your n8n API credential. "Post to Slack" Node (Slack): Select your Slack credential. In the Channel field, enter the name of the channel where error notifications should be sent (e.g., #n8n-alerts). Activate the Workflow! After these steps, just activate the workflow to start the automatic error monitoring. How to customize the workflow You can easily customize this template: Change the Schedule:** Modify the Schedule Trigger node to run at different intervals (every 15 minutes, once a day, etc.). Change the Notification Channel:** Instead of Slack, you can replace the last node to send notifications to Discord, Microsoft Teams, Telegram, or even by email. Add More Information:** You can modify the MakeMessage node that generates the message to include more details about the errors, such as the error message or the exact time of failure.
by ist00dent
This n8n template allows you to monitor hourly weather conditions in a specific city using OpenWeatherMap and log the results to a Google Sheet. It’s perfect for anyone needing periodic weather tracking—whether you're managing logistics, travel planning, or environmental monitoring. 🔧 How it works A Schedule Trigger activates the workflow every hour. The Get Weather Data from OpenWeatherMap node fetches real-time weather details using the city name you specify. An IF node checks if the weather description contains "rain" or the temperature is below a set threshold. If the condition is true, the data is formatted with city, temperature, humidity, and conditions. The Google Sheets node appends this formatted information to your designated sheet. 👤 Who is it for? This workflow is ideal for: Operations teams monitoring weather-sensitive logistics Researchers collecting climate data Developers and hobbyists learning how to connect APIs with Google Sheets 🗂️ Google Sheet Structure Your Google Sheet should have the following columns: city (string) temperature (K) (number) humidity (number) conditions (string) status (string) ⚙️ Setup Instructions Create a Google Sheet with the above columns. Set up your Google Service Account credentials in n8n. Replace the API key in the HTTP Request node with your own OpenWeatherMap credential. Specify your target city and ensure your OpenWeatherMap account is active. Adjust the frequency in the Schedule Trigger as needed (default: every hour).
by RedOne
This workflow is designed for e-commerce store owners, operations managers, and developers who use Shopify as their e-commerce platform and want an automated way to track and analyze their order data. It is particularly useful for businesses that: Need a centralized view of all Shopify orders Want to analyze order trends without logging into Shopify Need to share order data with team members who don't have Shopify access Want to build custom reports based on order information What Problem Is This Workflow Solving? While Shopify provides excellent order management within its platform, many businesses need their order data available in other systems for various purposes: Data accessibility**: Not everyone in your organization may have access to Shopify's admin interface Custom reporting**: Google Sheets allows for flexible analysis and report creation Data integration**: Having orders in Google Sheets makes it easier to combine with other business data Backup**: Creates an additional backup of your critical order information What This Workflow Does This n8n workflow creates an automated bridge between your Shopify store and Google Sheets: Listens for new order notifications from your Shopify store via webhooks Processes the incoming order data and transforms it into a structured format Stores each new order in a dedicated Google Sheets spreadsheet Sends real-time notifications to Telegram when new orders are received or errors occur Setup Create a Google Sheet Create a new Google Sheet to store your orders Add a sheet named "orders" with the following columns: orderId orderNumber created_at processed processed_at json customer shippingAddress lineItems totalPrice currency Set Up Telegram Bot Create a Telegram bot using BotFather (send /newbot to @BotFather) Save your bot token for use in n8n credentials Start a chat with your bot and get your chat ID (you can use @userinfobot) Configure the Workflow Set your Google Sheet ID in the "Edit Variables" node Enter your Telegram chat ID in the "Edit Variables" node Set up your Telegram API credentials in n8n Configure Shopify Webhook In your Shopify admin, go to: Settings > Notifications > Webhooks Create a new webhook for "Order creation" Set the URL to your n8n webhook URL (from the "Receive New Shopify Order" node) Set the format to JSON How to Customize This Workflow to Your Needs Additional data**: Modify the "Transform Order Data to Standard Format" function to extract more Shopify data Multiple sheets**: Duplicate the Google Sheets node to store different aspects of orders in separate sheets Telegram messages**: Customize the text in Telegram nodes to include more details or rich formatting Data processing**: Add nodes to perform calculations or transformations on order data Additional notifications**: Add more channels like Slack, Discord, or SMS Integrations**: Extend the workflow to send order data to other systems like CRMs, ERPs, or accounting software Final Notes This workflow serves as a foundation that you can build upon to create a comprehensive order management system tailored to your specific business needs.