by Mutasem
How it works This workflow adds a priority to each Todoist item in your inbox, based on a list of projects that you add in the workflow. Setup Add your Todoist credentials Add your OpenAI credentials Set your project names and add priority
by Joseph LePage
✨😃 Automated Workflow Backups to Google Drive This workflow automates the process of backing up your n8n workflows to Google Drive daily. It creates timestamped folders, saves workflows as JSON files, and manages old backups by retaining only the most recent seven days of data. Notifications are sent via Telegram to keep you informed of the backup status. How It Works Backup Creation Process 🗂️ Triggering Backups**: The workflow starts with either a manual trigger or a scheduled trigger that runs daily. Folder Creation**: Creates a new folder in Google Drive with a timestamped name (e.g., n8n-Workflow-Backups-YYYY-MM-DD). Workflow Retrieval**: Fetches all workflows from your n8n instance. File Conversion**: Converts each workflow into a JSON file for storage. File Upload**: Saves the JSON files into the newly created Google Drive folder. Backup Management 🔄 Folder Search**: Searches for existing backup folders in Google Drive with names matching n8n-Workflow-Backups. Retention Policy**: Identifies folders older than seven days using a custom JavaScript function and deletes them permanently to free up space. Notifications 📲 Telegram Alerts**: Sends a message via Telegram once the backup process is complete, including the folder name and a link to access it in Google Drive. Setup Steps API Configuration 🔑 Google Drive Integration: Set up Google Drive OAuth2 credentials in n8n. Specify the root folder or desired location for backups. n8n API Access: Configure n8n API credentials to allow fetching workflows. Telegram Notifications: Add your Telegram bot credentials and chat ID for notification delivery. Workflow Customization ⚙️ Define the schedule for automatic backups (e.g., daily at midnight). Adjust the retention period if you need more or fewer days of backups. Customize the Telegram message format as needed. Testing & Deployment 🚀 Run the workflow manually to verify folder creation and file uploads. Check that old folders are deleted correctly after seven days. Confirm Telegram notifications are sent with accurate details. Use Case Scenarios This workflow is perfect for teams or individuals who want to ensure their n8n workflows are securely backed up and organized. It is especially useful for: Protecting against accidental data loss. Automating routine administrative tasks. By combining automated backups, retention management, and real-time notifications, this workflow ensures your n8n workflows are always safe and accessible!
by David Ashby
Complete MCP server exposing 3 Background Removal 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 Background Removal 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 Background Removal 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://api.remove.bg/v1.0 • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (3 total) 🔧 Account (1 endpoints) • GET /account: Fetch Account Balance 🔧 Improve (1 endpoints) • POST /improve: Submit Image for Improvement 🔧 Removebg (1 endpoints) • POST /removebg: Remove Image Background 🤖 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 Background Removal 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 AK Pasnoor
Put your productivity on autopilot with this workflow. How it works This workflow generates a beautifully formatted daily briefing email every morning at 6:00 AM by combining your Todoist tasks and Google Calendar events, summarizing them using GPT-4o, and sending them as a clean HTML email. It includes: Auto-fetching today's tasks and events Formatting them for context Generating a motivational summary with GPT-4o Converting the output into styled HTML Emailing it to you daily Set up steps Connect your Google Calendar and Todoist accounts Set your project ID in the Todoist node Customize the OpenAI prompt or email template if needed Enable the Schedule Trigger to automate daily runs All configuration logic and summaries are explained in sticky notes inside the workflow. No external tools required. Just plug, personalize, and automate your day!
by Floyd Mahou
How it works • Transcribes a WhatsApp voice or text message from a prospect using Whisper or GPT • Extracts key information (name, need, context, urgency) via AI • Matches the most relevant service pack by comparing the prospect’s need with Airtable data • Dynamically fills a branded template via APITEMPLATE (HTML or PDF) • Generates a clean, personalized business proposal — including dynamic links (payment, calendar, etc.) • Sends the final PDF back instantly via WhatsApp or email Set up steps • ⏱ Estimated setup time: 45–60 minutes • ✅ You’ll need: ◦ WhatsApp Business Cloud API access (with webhook configured) ◦ OpenAI API key (Whisper + GPT) ◦ Airtable (to store service packs and client input) ◦ APITEMPLATE account (template with placeholders like {{nom}}, {{prix}}, {{lien_reservation}}, etc.) ◦ n8n instance (cloud or self-hosted) • 📦 Create your service packs in Airtable with associated links (Stripe, Calendly…) • 🔗 The proposal auto-includes these links dynamically inside the PDF • 🚀 Workflow orchestrates the end-to-end process: from WhatsApp input to PDF delivery
by Abhishek Patoliya
This workflow allows you to scrape website content, clean the HTML, extract structured information using GPT-4o-mini, and store the results along with SEO keywords into Airtable. Ideal for building keyword lists and organizing web content for SEO research. Setup Instructions 1. Prerequisites n8n Community or Cloud instance Airtable account with a base and table ready OpenAI API Key with access to GPT-4o-mini 2. Airtable Structure Ensure your Airtable table has the following fields: | Field Name | Type | Notes | | ------------ | ------- | ------------------------------- | | Website Name | String | Name or URL of the website | | Data | String | Cleaned website text | | Keyword | String | Extracted SEO keyword list | | Status | Options | Values: Todo, In progress, Done | 3. Node Setup ✅ Form Trigger: Collects website URL from the user. ✅ HTTP Request: Fetches the website content. ✅ HTML Cleaner (Code Node): Strips out styles, tags, and whitespace to get clean text. ✅ Topic Extractor (AI Agent + GPT-4o-mini): Extracts topic-wise information from the cleaned website content. ✅ Text Cleaner (Code Node): Removes unwanted symbols like ### and **. ✅ Keyword Extractor (AI Agent + GPT-4o-mini): Generates a list of 90 important SEO keywords. ✅ Airtable Upsert: Stores the cleaned data, keywords, and status in Airtable. 4. Key Features ✅ Automatic website content scraping ✅ Clean HTML and extract plain text ✅ Use GPT-4o-mini for topic-wise information extraction ✅ Generate 90-keyword SEO lists ✅ Store and manage data in Airtable 5. Use Cases SEO Keyword Research Competitor Website Content Analysis Structured Website Data Collection Additional Workflow Recommendations ✅ Rename Nodes for Clarity | Current Name | Suggested Name | | ------------ | ------------------------------- | | Website Name | Website URL Input Form | | HTTP Request | Fetch Website Content | | Code | HTML to Plain Text Cleaner | | Split Out1 | Clean Text Splitter | | AI Agent1 | Topic Extractor (GPT-4o-mini) | | Code1 | Text Cleanup Formatter | | Split Out2 | Final Text Splitter | | AI Agent | Keyword Extractor (GPT-4o-mini) | | Airtable | Airtable Data Upsert | | Wait1 | Delay Before Merge | | Merge | Combine Data for Airtable |
by Bela
How it works: Webhook URL that responds to Requests with an AI generated Image based on the prompt provided in the URL. Setup Steps: Ideate your prompt URL Encode The Prompt (as shown in the Template) Authenticate with your OpenAI Credentials Put together the Webhook URL with your prompt and enter into a webbrowser In this way you can expose a public url to users, employee's etc. without exposing your OpenAI API Key to them. Click here to find a blog post with additional information.
by InfyOm Technologies
✅ What problem does this workflow solve? Tired of the back-and-forth involved in scheduling meetings? This workflow lets you offer a seamless, voice-based appointment booking experience. It automatically checks your Cal.com availability and either books a meeting or helps the caller choose another time—powered by ElevenLabs for a human-like voice interaction. ⚙️ What does this workflow do? Receives an inbound voice call (e.g., from a website or IVR system). Uses ElevenLabs to drive the voice interaction with natural, AI-generated speech. Checks real-time availability from your Cal.com calendar. Books a meeting if a slot is available. If not, asks the user to suggest a new time and checks availability again. Confirms the appointment with a verbal response and optional email or SMS. 🔧 Setup 🧠 ElevenLabs Custom Tools Setup Add two tools in Custom Tools in ElevenLabs with the following details. Name: bookSlot Description: Use this tool when the user confirms their slot and appointment. When you have the proper name and email of theirs. POST: {n8n_webhook_url} Name: checkAvailableSlot Description: Use this slot to check Available slots in our calendar. POST: {n8n_webhook_url} 🗣 ElevenLabs Prompt Configuration First Message: Thanks for calling InfyOm Technologies. How can I help you? Use the following System Prompt: 1. Personality You are a clear, helpful, and respectful assistant focused solely on booking appointments for clients. Identity**: A virtual appointment scheduler. Core Traits**: Polite, efficient, conversational, respectful. Role**: Guide users through choosing a time, checking availability, and finalizing the booking. 2. Tone Your tone is polite, professional, and engaging—friendly enough to feel human, but focused enough to stay on task. Use conversational cues like “Okay,” “Got it,” “Sounds good,” etc. Maintain a warm but efficient pace. Speak clearly and respectfully at all times. Ensure the conversation is on both topics. 3. Goal Your task is to book an appointment for the client. Step-by-step Conversation Flow Greeting & Purpose Greet politely and state the purpose. Example: “Hi! I’m here to help you book an appointment.” Request Preferred Time Ask: “Can you please tell me your preferred time slot for the appointment?” Understand the user's date, and if it is not clear, then ask for the full date with month and year. Check Availability Use the checkAvailableSlot tool with the user’s preferred time. If the slot is available: Confirm with the user: “That slot is available. Should I go ahead and book it for you?” If the user agrees, → Use bookSlot. If the slot is not available: Say: “It looks like that time isn’t available... Would you like to look for the same time on the next day?” Handle Next-Day Option If the user agrees, check availability for the same time on the next day using checkAvailableSlot. If available, → confirm and use bookSlot. If not, → politely inform and ask for a different time. Close the Call Confirm the booking if done. Example: “Great! Your appointment is booked. Thank you and have a wonderful day!” 4. Guardrails Do not** discuss anything unrelated to appointment booking. If the user asks for something outside your scope: Say: “I’m only here to help with appointment bookings. For other questions, please contact our support team.” Never speculate about unavailable data or functions. Never ask for a date format from the User, like Say date in Day Month and Year format. If you can't understand the user's date, then say Please speak the full date. 5. Tools You can use the following tools to help book appointments: checkAvailableSlot: Use this to check if the user’s requested time is open. bookSlot: Use this to confirm the appointment after the user agrees. End call Always says Thanks for reaching out to us. Have a nice day. 📅 Cal.com API Setup Go to cal.com and generate an API Key. Create new Cal API credentials in n8n. Set this API Key in the credentials. 🧠 How it Works ☎️ 1. Incoming Call An inbound call is received by the system, and the user begins the conversation with your voice AI agent. 🧏 2. Voice Interaction via ElevenLabs The caller is greeted and asked for their preferred appointment time. All conversations are powered by natural AI speech from ElevenLabs. 🗓 3. Availability Check (Cal.com) The requested time is validated against your Cal.com availability: ✅ If available, the appointment is booked instantly. ❌ If unavailable, the agent informs the caller and asks for another time. 🔁 4. Retry Loop (If Slot Unavailable) If the initial slot is unavailable: The agent asks for a new preferred time. The process repeats until a valid slot is found or a fallback message is delivered. ✅ 5. Appointment Confirmation Once booked, the AI confirms the appointment verbally. You may also configure it to send: 📧 Email confirmations 📱 SMS reminders (optional) 👤 Who can use it? This is perfect for: 🧑⚕️ Clinics or Therapists 🧑💼 Consultants & Coaches 🏢 Sales Teams 🧠 AI-first SaaS Tools If your business relies on scheduled meetings and you'd like to automate bookings using a conversational voice experience, this is your go-to no-code solution.
by Tom Cao
🔐 Advanced SSL Health Monitor 👤 Who is this for? This workflow is designed for DevOps engineers, IT administrators, and security professionals who need comprehensive SSL certificate monitoring and health assessment across multiple domains — featuring dual verification and professional reporting without relying on expensive monitoring services. 🧩 What It Does Daily Trigger runs the workflow every morning for proactive monitoring. URL Collection fetches the list of website URLs to monitor from your data source. Dual SSL Analysis: Free SSL Assessment Script — Get from sysadmin-toolkit on Github SSL-Checker.io API — External verification for cross-validation Comprehensive Health Check: Certificate expiration monitoring (customizable threshold) SSL configuration security assessment Protocol support analysis (TLS 1.3, 1.2, deprecated protocols) Cipher suite strength evaluation Vulnerability scanning (POODLE, BEAST, etc.) Compliance checking (PCI DSS, NIST, FIPS) Smart Alert System sends Discord notifications when: Certificates expire within threshold (default: 30 days) SSL configuration issues detected (weak ciphers, deprecated protocols) Security vulnerabilities found Compliance standards not met Grade drops below acceptable level (configurable) 🎯 Key Features 🔄 Dual Verification**: Cross-checks results between internal scanner and external API 📊 SSL Labs-Style Grading**: A+ to F rating system with detailed analysis 🛡️ Security Assessment**: Vulnerability detection and compliance checking 📱 Discord Integration**: Rich embed notifications with color-coded alerts ⚙️ Setup Instructions Data Source: Configure your URL source from Notion Ensure it contains a URL column with domains to monitor Credentials: Set up Discord webhook for alert notifications Configure any required API credentials for data sources Customize Thresholds: Expiration Alert: Days before expiry (default: 30 days) Grade Threshold: Minimum acceptable SSL grade (default: B) Alert Severity: Choose which issues trigger notifications Advanced Configuration: Modify vulnerability checks based on your security requirements Adjust compliance standards for your industry needs Customize Discord message formatting and alert channels 🧠 Technical Notes Dual-Check Reliability**: Combines custom Bubobot scanner with ssl-checker.io for maximum accuracy No Vendor Lock-in**: Uses free public APIs and open-source tools Professional Reporting**: Generates SSL Labs-quality assessments Security-First Approach**: Comprehensive vulnerability and compliance checking Flexible Alerting**: Discord integration with rich formatting and conditional logic This workflow provide a comprehensive SSL security monitoring solution that rivals enterprise-grade tools while remaining completely open-source and free.
by DataAnts
Dynamically Run SuiteQL Queries in NetSuite via HTTP Webhook in n8n > Important: This template uses a NetSuite community node, so it only works on self-hosted n8n. Cloud-based n8n instances currently do not support community nodes. Summary This workflow template allows you to dynamically run SuiteQL queries in NetSuite by sending an HTTP request to an n8n Webhook node. Once triggered, the workflow uses token-based authentication to execute your SuiteQL query and returns the results as JSON. This makes it easy to integrate real-time NetSuite data into dashboards, reporting tools, or other applications. Who Is This For? Developers & Integrators**: Easily embed NetSuite data retrieval into custom apps or internal tools. Enterprises & Consultants**: Integrate dynamic reporting or data enrichment from NetSuite without manual exports. System Administrators**: Automate routine queries and reduce manual intervention. Use Cases & Benefits 1. Dynamic Data Access Send any SuiteQL query on demand instead of hardcoding queries or manually running reports. 2. Seamless Integration Quickly pull NetSuite data into front-end systems (like Excel dashboards, custom web apps, or internal tools) by calling the webhook endpoint. 3. Simplified Reporting Automate data extraction and formatting, reducing the need for manual exports and improving efficiency. How It Works Trigger: An HTTP request to the webhook node initiates the workflow. Input Processing: The workflow reads the SuiteQL query from the incoming request parameter (suiteql). Query Execution: The NetSuite node uses your token-based authentication credentials to run the SuiteQL query. Response: Results are returned as JSON in the HTTP response, ready for further processing or immediate consumption. Prerequisites & Setup NetSuite Community Node This workflow requires the NetSuite community node. Make sure your self-hosted n8n instance supports community nodes. NetSuite Token-Based Authentication Enable TBA in NetSuite. Obtain the required consumer key, consumer secret, token ID, and token secret. n8n Webhook Copy the auto-generated webhook URL (e.g. http://<your-n8n-domain>/webhook/unique-id) from the Webhook node. Usage Send an HTTP GET or POST request to the webhook with your SuiteQL query. For example: curl "http://<your-n8n-domain>/webhook/unique-id?suiteql=SELECT%20*%20FROM%20account%20LIMIT%2010" The workflow will execute the query and return JSON data. Customization Change the Query**: Simply adjust the suiteql parameter in your HTTP request to run different SuiteQL statements. Data Transformation**: Insert nodes (e.g., Function, Set, or Format) to modify or reformat the data before returning it. Extend Integration**: Chain additional nodes to push the retrieved data to other services (Google Sheets, Slack, custom dashboards, etc.). Additional Notes Remember that this template is only compatible with self-hosted n8n because it uses a community node. - [netsuite community node](https://www.npmjs.com/package/n8n-nodes-netsuite ) If you have questions, suggestions, or need support, contact us at support@dataants.org.
by Ficky
Build a Redis-Powered CRUD App with HTML Frontend This workflow demonstrates how to use n8n to build a complete, self-contained CRUD (Create, Read, Update, Delete) application without relying on any external server or hosting. It not only acts as the backend, handling all CRUD operations through Webhook endpoints, but also serves a fully functional HTML Single Page Application (SPA) directly via a webhook response. Redis is used as a lightweight data store, providing fast and simple key-value storage with auto-incremented IDs. Because both the frontend (HTML app) and backend (API endpoints) are managed entirely within a single n8n workflow, you can quickly prototype or deploy small tools without additional infrastructure. This approach is ideal for: Rapidly creating no-code or low-code applications Running fully browser-based tools served directly from n8n Teaching or demonstrating n8n + Redis integration in a single workflow Features Add new item with auto-incremented ID Edit existing item Delete specific item Reset all data (clear storage and reset autoincrement id) Single HTML frontend for demonstration (no framework required) Setup Instructions 1. Prerequisites Before importing and running the workflow, make sure you have: A running n8n instance (self-hosted or cloud) A running Redis server (local or remote) 2. API Path Setup For the REST API, use a consistent path. For example, if you choose items as the path: 2a. Get All Items** Method: GET Endpoint: items 2b. Add Item** Method: POST Endpoint: items 2c. Edit Item** Method: PUT Endpoint: items 2d. Delete Item** Method: DELETE Endpoint: items 2e. Reset Items** Method: POST Endpoint: items-reset 3. Configure the API URL Set the API URL in the SET API URL node. Use your n8n webhook URL, for example: https://yourn8n.com/webhook/items 4. Run the HTML App Once everything is set: Open the webhook URL for the HTML app in a browser. The CRUD interface will load and connect to the API endpoints automatically. You can now add, edit, delete, or reset items directly from the web interface. Workflows 1. Render the HTML CRUD App This webhook serves a self-contained HTML Single Page Application (SPA) for basic CRUD operations. The HTML content is returned directly in the webhook response. This setup is ideal for lightweight, browser-based tools without external hosting. How to Use Open the webhook URL in a browser The CRUD interface will load and connect to the data source via API calls Before using, make sure to edit the api_url in the SET API URL node to match your webhook endpoint 2a. REST API: Get All Items This webhook handles retrieving all saved items from Redis. Each item is returned with its corresponding ID and associated data (e.g., name). This endpoint is used by the HTML CRUD App to display the full list of items. Method**: GET Function**: Fetches all items stored in Redis and returns them as a JSON array 2b. REST API: Add Item This webhook handles the Add Item functionality. This endpoint is typically called by the HTML CRUD App when adding a new item. Method**: POST Request Body**: { "name": "item name" } Function**: Generates an auto-incremented ID using Redis and saves the data under that ID 2c. REST API: Edit Item This webhook handles updating an existing item in Redis. Method**: PUT Request Body**: { "id": 1, "name": "Updated Item Name" } Function**: Finds the item by the given id and updates its data in Redis 2d. REST API: Delete Item This webhook handles deleting a specific item from Redis. Method**: DELETE Request Body**: { "id": 1 } Function**: Removes the item with the given id from Redis 2e. REST API: Reset Items This webhook handles resetting all data in the application. Method**: POST Function**: Deletes all stored items from Redis Resets the auto-increment ID by deleting the data in Redis
by Mal Chia
Who’s it for This workflow is perfect for HR teams, recruiters, or hiring managers who collect applicant information via a web form and want to automatically forward both candidate details and attached resumes into a dedicated Telegram channel or group. It streamlines manual email checks, speeding up review and collaboration. How it works On form submission: A Form Trigger node captures all applicant fields (name, age, WhatsApp number, education, desired role, availability date, expected salary, resume file, and additional comments). Date & Time: Formats the “fastest start date” into a human-readable string. Edit Fields: A Set node renames and reshapes incoming JSON into clear key/value pairs. If Have Resume: An If node routes submissions with an attached resume to one branch (sending both info and document) and submissions without a resume to a simpler info-only branch. Merge: Combines branches so both message types terminate in a single unified flow. Send a Resume & Send a Info: Two Telegram nodes post Markdown-formatted messages (and the PDF resume when available) to your specified Telegram chat. How to set up Install and enable the n8n-nodes-base.formTrigger and n8n-nodes-base.telegram community nodes (preview). Copy this JSON into your n8n instance (Workflow → Import from clipboard). Create environment variables for credentials: TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID In each Telegram node, reference these variables instead of hard-coding ({{$env.TELEGRAM_BOT_TOKEN}}, {{$env.TELEGRAM_CHAT_ID}}). Requirements n8n version ≥ 0.200.0 Community nodes: Form Trigger, Telegram A Telegram bot with chat permissions A hosted form endpoint or embedded form at path /mmc-newjob How to customize the workflow Form fields: Edit the **Form Trigger node’s formFields.values to add or remove fields. Telegram formatting: Tweak captions under **Send a Resume and Send a Info to adjust the MarkdownV2 styling. Conditional logic: Modify the **If Have Resume node to branch on other criteria (e.g., education level). Styling: Update the customCss section in **Form Trigger to match your brand’s look. Good to know Community nodes may be in preview; test thoroughly before production. Webhook URLs change when you rename the workflow—revisit your form’s embed or webhook settings after renaming. Consider adding an Error Trigger node to capture failures and notify your team.