by phil
This workflow automates the process of updating important Rank Math SEO fields (SEO Title, Description, and Canonical URL) directly via n8n. By leveraging a custom WordPress plugin that extends the WordPress REST API, this workflow ensures that you can programmatically manage SEO metadata for your posts and WooCommerce products efficiently. Bulk version available here. How it works: Sends a POST request to a custom API endpoint exposed by the Rank Math plugin. Updates SEO Title, Description, and Canonical URL fields for a specified post or product. Setup steps: Install and activate the Rank Math API Manager Extended plugin on WordPress. Provide the post or product ID you want to update in the workflow. Run the workflow to update the metadata automatically. Benefits: Full automation of SEO optimizations. Works for both standard posts and WooCommerce products. Simplifies large-scale SEO management tasks. To understand exactly how to use it in detail, check out my comprehensive documentation here. Rank Math API Manager Extended plugin on WordPress // ATTENTION: Replace the line below with <?php - This is necessary due to display constraints in web interfaces. <?php /** Plugin Name: Rank Math API Manager Extended v1.4 Description: Manages the update of Rank Math metadata (SEO Title, SEO Description, Canonical URL) via a dedicated REST API endpoint for WordPress posts and WooCommerce products. Version: 1.4 Author: Phil - https://inforeole.fr */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Rank_Math_API_Manager_Extended { public function __construct() { add_action('rest_api_init', [$this, 'register_api_routes']); } /** Registers the REST API route to update Rank Math meta fields. */ public function register_api_routes() { register_rest_route( 'rank-math-api/v1', '/update-meta', [ 'methods' => 'POST', 'callback' => [$this, 'update_rank_math_meta'], 'permission_callback' => [$this, 'check_route_permission'], 'args' => [ 'post_id' => [ 'required' => true, 'validate_callback' => function( $param ) { $post = get_post( (int) $param ); if ( ! $post ) { return false; } $allowed_post_types = class_exists('WooCommerce') ? ['post', 'product'] : ['post']; return in_array($post->post_type, $allowed_post_types, true); }, 'sanitize_callback' => 'absint', ], 'rank_math_title' => [ 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], 'rank_math_description' => [ 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', ], 'rank_math_canonical_url' => [ 'type' => 'string', 'sanitize_callback' => 'esc_url_raw', ], ], ] ); } /** Updates the Rank Math meta fields for a specific post. * @param WP_REST_Request $request The REST API request instance. @return WP_REST_Response|WP_Error Response object on success, or WP_Error on failure. */ public function update_rank_math_meta( WP_REST_Request $request ) { $post_id = $request->get_param('post_id'); // Secondary, more specific permission check. if ( ! current_user_can('edit_post', $post_id) ) { return new WP_Error( 'rest_forbidden', 'You do not have permission to edit this post.', ['status' => 403] ); } $fields = ['rank_math_title', 'rank_math_description', 'rank_math_canonical_url']; $results = []; $updated = false; foreach ( $fields as $field ) { if ( $request->has_param( $field ) ) { $value = $request->get_param( $field ); $current_value = get_post_meta($post_id, $field, true); if ($current_value === $value) { $results[$field] = 'unchanged'; } else { $update_status = update_post_meta( $post_id, $field, $value ); if ($update_status) { $results[$field] = 'updated'; $updated = true; } else { // This case is rare but could indicate a DB error or other failure. $results[$field] = 'failed'; } } } } if ( ! $updated && empty($results) ) { return new WP_Error( 'no_fields_provided', 'No Rank Math fields were provided for update.', ['status' => 400] ); } return new WP_REST_Response( $results, 200 ); } /** Checks if the current user has permission to access the REST API route. * @return bool */ public function check_route_permission() { return current_user_can( 'edit_posts' ); } } new Rank_Math_API_Manager_Extended(); . Phil | Inforeole
by Madame AI
Synchronize WooCommerce Inventory & Create Products with Gemini AI & BrowserAct This sophisticated n8n template automates WooCommerce inventory management by scraping supplier data, updating existing products, and intelligently creating new ones with AI-formatted descriptions. This workflow is essential for e-commerce operators, dropshippers, and inventory managers who need to ensure their product pricing and stock levels are synchronized with multiple third-party suppliers, minimizing overselling and maximizing profit. Self-Hosted Only This Workflow uses a community contribution and is designed and tested for self-hosted n8n instances only. How it works The workflow is typically run by a Schedule Trigger (though a Manual Trigger is also shown) to check stock automatically. It reads a list of suppliers and their inventory page URLs from a central Google Sheet. The workflow loops through each supplier: A BrowserAct node scrapes the current stock and price data from the supplier's inventory page. A Code node parses this bulk data into individual product items. It then loops through each individual product found. The workflow checks WooCommerce to see if the product already exists based on its name. If the product exists: It proceeds to update the existing product's price and stock quantity. If the product DOES NOT exist: An If node checks if the missing product's category matches a predefined type (optional filtering). If it passes the filter, a second BrowserAct workflow scrapes detailed product attributes from a dedicated product page (e.g., DigiKey). An AI Agent (Gemini) transforms these attributes into a specific, styled HTML table for the product description. Finally, the product is created in WooCommerce with all scraped details and the AI-generated description. Error Handling:* Multiple *Slack** nodes are configured to alert your team immediately if any scraping task fails or if the product update/creation process encounters an issue. Note: This workflow does not support image uploads for new products. To enable this functionality, you must modify both the n8n and BrowserAct workflows. Requirements BrowserAct** API account for web scraping BrowserAct** n8n Community Node -> (n8n Nodes BrowserAct) BrowserAct* templates named *“WooCommerce Inventory & Stock Synchronization”* and *“WooCommerce Product Data Reconciliation”** Google Sheets** credentials for the supplier list WooCommerce** credentials for product management Google Gemini** account for the AI Agent Slack** credentials for error alerts Need Help? How to Find Your BrowseAct API Key & Workflow ID How to Connect n8n to Browseract How to Use & Customize BrowserAct Templates How to Use the BrowserAct N8N Community Node Workflow Guidance and Showcase STOP Overselling! Auto-Sync WooCommerce Inventory from ANY Supplier
by Mario
Purpose This workflow synchronizes three entities from Notion to Clockify, allowing tracked time to be linked to client-related projects or tasks. Demo & Explanation How it works On every run active Clients, Projects and Tasks are retrieved from both Notion and Clockify before being compared by the Clockify ID, which is again stored in Notion for reference Potential differences are then applied to Clockify If an item has been archived or closed in Notion, it is also marked as archived in Clockify All entities are processed sequentially, since they are related hierarchically to each other By default this workflow runs once per day or when called via webhook (e.g. embedded into a Notion Button) Prerequisites A set of Notion databases with a specific structure is required to use this workflow You can either start with this Notion Template or adapt your system based on the requirements described in the big yellow sticky note of this workflow template Setup Clone the workflow and select the belonging credentials Follow the instructions given in the yellow sticky notes Activate the workflow Related workflows: Backup Clockify to Github based on monthly reports Prevent simultaneous workflow executions with Redis
by David Ashby
Complete MCP server exposing all Google Ads Tool operations to AI agents. Zero configuration needed - all 2 operations pre-built. ⚡ 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 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 • MCP Trigger: Serves as your server endpoint for AI agent requests • Tool Nodes: Pre-configured for every Google Ads Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n Google Ads Tool tool with full error handling 📋 Available Operations (2 total) Every possible Google Ads Tool operation is included: 📢 Campaign (2 operations) • Get many campaigns • Get a campaign 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Resource IDs and identifiers • Search queries and filters • Content and data payloads • Configuration options Response Format: Native Google Ads Tool API responses with full data structure Error Handling: Built-in n8n error management and retry logic 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • Other n8n Workflows: Call MCP tools from any workflow • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Complete Coverage: Every Google Ads Tool operation available • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n error handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
by Cheng Siong Chin
How It Works Automated daily scraping of competitor websites, pricing pages, job postings, and press releases feeds into an AI analyzer powered by OpenAI or Claude to extract trends, insights, and key metrics. The analyzed results are stored in Google Sheets for historical tracking and longitudinal comparison, and are automatically shared with stakeholders via email or WhatsApp. This workflow eliminates manual competitive research, enabling product teams and executives to monitor market movements efficiently and make timely, data-driven decisions. Setup Steps Configure the daily schedule trigger. Define competitor URLs using workflow variables. Add and configure the OpenAI or Claude API key. Authenticate Google Sheets using the appropriate credentials. Connect Gmail and WhatsApp Business API tokens. Test each scraper individually before enabling full automation. Prerequisites OpenAI/Claude API account, Google Sheets access, Gmail account, WhatsApp Business API, web scraping enabled Use Cases Market share monitoring, pricing strategy updates, competitor talent movement tracking, industry trend reports Customization Modify scrape targets, adjust AI prompt for different metrics, change alert frequency Benefits Real-time competitive visibility, reduced manual research 15+ hours/week, faster decision-making
by David Ashby
Complete MCP server exposing all DeepL Tool operations to AI agents. Zero configuration needed - all 1 operations pre-built. ⚡ 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 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 • MCP Trigger: Serves as your server endpoint for AI agent requests • Tool Nodes: Pre-configured for every DeepL Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n DeepL Tool tool with full error handling 📋 Available Operations (1 total) Every possible DeepL Tool operation is included: 🔧 Language (1 operations) • Translate a language 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Resource IDs and identifiers • Search queries and filters • Content and data payloads • Configuration options Response Format: Native DeepL Tool API responses with full data structure Error Handling: Built-in n8n error management and retry logic 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • Other n8n Workflows: Call MCP tools from any workflow • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Complete Coverage: Every DeepL Tool operation available • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n error handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
by David Ashby
Complete MCP server exposing all Mailcheck Tool operations to AI agents. Zero configuration needed - 1 operations pre-built. ⚡ 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 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 • MCP Trigger: Serves as your server endpoint for AI agent requests • Tool Nodes: Pre-configured for every Mailcheck Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n Mailcheck Tool tool with full error handling 📋 Available Operations (1 total) Every possible Mailcheck Tool operation is included: 🔧 Email (1 operations) • Check an email 🤖 AI Integration Parameter Handling: AI agents automatically provide values for: • Resource IDs and identifiers • Search queries and filters • Content and data payloads • Configuration options Response Format: Native Mailcheck Tool API responses with full data structure Error Handling: Built-in n8n error management and retry logic 💡 Usage Examples Connect this MCP server to any AI agent or workflow: • Claude Desktop: Add MCP server URL to configuration • Custom AI Apps: Use MCP URL as tool endpoint • Other n8n Workflows: Call MCP tools from any workflow • API Integration: Direct HTTP calls to MCP endpoints ✨ Benefits • Complete Coverage: Every Mailcheck Tool operation available • Zero Setup: No parameter mapping or configuration needed • AI-Ready: Built-in $fromAI() expressions for all parameters • Production Ready: Native n8n error handling and logging • Extensible: Easily modify or add custom logic > 🆓 Free for community use! Ready to deploy in under 2 minutes.
by Mark Shcherbakov
Video Guide I prepared a detailed guide to help you set up your workflow effectively, enabling you to extract insights from YouTube for content generation using an AI agent. Youtube Link Who is this for? This workflow is ideal for content creators, marketers, and analysts looking to enhance their YouTube strategies through data-driven insights. It’s particularly beneficial for individuals wanting to understand audience preferences and improve their video content. What problem does this workflow solve? Navigating the content generation and optimization process can be complex, especially without significant audience insight. This workflow automates insights extraction from YouTube videos and comments, empowering users to create more engaging and relevant content effectively. What this workflow does The workflow integrates various APIs to gather insights from YouTube videos, enabling automated commentary analysis, video transcription, and thumbnail evaluation. The main functionalities include: Extracting user preferences from comments. Transcribing video content for enhanced understanding. Analyzing thumbnails via AI for maximum viewer engagement insights. AI Insights Extraction: Automatically pulls comments and metrics from selected YouTube creators to evaluate trends and gaps. Dynamic Video Planning: Uses transcriptions to help creators outline video scripts and topics based on audience interest. Thumbnail Assessment: Provides analysis on thumbnail designs to improve click-through rates and viewer attraction. Setup N8N Workflow API Setup: Create a Google Cloud project and enable the YouTube Data API. Generate an API key to be included in your workflow requests. YouTube Creator and Video Selection: Start by defining a request to identify top creators based on their video views. Capture the YouTube video IDs for further analysis of comments and other video metrics. Comment Analysis: Gather comments associated with the selected videos and analyze them for user insights. Video Transcription: Utilize the insights from transcriptions to formulate content plans. Thumbnail Analysis: Evaluate your video thumbnails by submitting the URL through the OpenAI API to gain insights into their effectiveness.
by Lucas Peyrin
Overview This template provides a powerful and configurable utility to convert JSON data into a clean, well-structured XML format. It is designed for developers, data analysts, and n8n users who need to interface with legacy systems, generate structured reports, or prepare data for consumption by Large Language Models (LLMs), which often exhibit improved understanding and parsing with XML-formatted input. Use Cases This workflow is ideal for solving several common data transformation problems: Preparing Data for AI Prompts:** LLMs like GPT-4 often parse XML more reliably than JSON within a prompt. The explicit closing tags and hierarchical nature of XML reduce ambiguity, leading to better and more consistent responses from the AI. Interfacing with Legacy Systems:** Many enterprise systems, SOAP APIs, and older software exclusively accept or produce data in XML format. This template acts as a bridge, allowing modern JSON-based services to communicate with them seamlessly. Generating Structured Reports:** Create XML files for reporting or data interchange standards that require a specific, well-defined structure. Improving Data Readability:** For complex nested data, a well-formatted XML can be easier for humans to read and debug than a compact JSON string. How it works This workflow acts as a powerful, configurable JSON to XML converter. It takes a JSON object as input and performs the following steps: Recursively Parses JSON: It intelligently navigates through the entire JSON structure, including nested objects and arrays. Handles Data Types: Primitive Arrays (e.g., ["a", "b", "c"]) are joined into a single string with a safe delimiter. Complex Arrays (of objects) are converted into indexed XML tags (<0>, <1>, etc.). Dates are automatically detected and formatted into a readable YYYY-MM-DD HH:mm:ss format. Generates XML String: It constructs a final XML string based on the logic and configuration set inside the Code node. The output is provided in a single xml field, ready for use. Set up steps Setup time: ~1 minute This workflow is designed to be used as a sub-workflow (or "child workflow"). In your main workflow, add an Execute Workflow node. In the Workflow parameter of that node, select this "JSON to XML Converter" workflow. That's it! You can now send JSON data to the Execute Workflow node and it will return the converted XML string in the xml field. Customization Options The true power of this template lies in its customizability, all managed within the configuration section at the top of the Code node. This allows you to fine-tune the output XML to your exact needs. REMOVE_EMPTY_VALUES**: Set to true (default) to completely omit tags for null, undefined, or empty string values, resulting in a cleaner XML. Set to false to include empty tags like <myTag></myTag>. Newline Formatting**: Control the spacing and readability of the output with four distinct settings: NEWLINES_TOP_LEVEL: Adjusts the newlines between root-level elements. NEWLINES_ARRAY_ITEMS: Controls spacing between items in a complex array (e.g., between <0> and <1>). NEWLINES_OBJECT_PROPERTIES: Manages newlines between the properties of an object. NEWLINES_WITHIN_TAGS: Adds newlines between an opening/closing tag and its content for an "indented" look. Prerequisites An active n8n instance. Basic familiarity with JSON and XML data structures. Understanding of how to use the Execute Workflow node to run sub-workflows.
by Hojjat Jashnniloofar
Overview This n8n templates helps you to authomatically search Linkeding jobs. It uses AI (Gemini or OpenAPI) to match your resume with each job description and write a sample cover letter for each job and update the job google sheet. You can receive daily matched linkedin job alerts by telegram. Prerequisites AI API Key from one model like: Google Gemini OpenAI Telegram Bot Token - Create via @BotFather Google Sheets - OAuth2 credentials Google Drive - OAuth2 credentials Setup 1. Upload your resume Upload your CV in PDF format in google drive and configure google drive node to read your resume from list of google drive files. You need to configure Google Drive OAuth2 and grant access to your drive before that. You can find useful infomration about how to configure Googel OAuth2 API key in n8n documents. 2. Create Google sheet You need to create a google sheet document consist of two sheets, one sheet for define job filter criteria and second sheet to store job search result. You can download this Google Sheet Template and copy in your personal space. Then you can add your job filter in Google sheet. You can search job by keywords, location, remote type, job type and easy apply. You need to configure Google Sheet OAuth2 and grant access to your drive before that. 3. Conifgure Telegram Bot You need to create a new Telegram Bot in @BotFather and insert API Key in Telegram node and you need to TELEGRAM_CHAT_ID to your telegram ID.
by Naser Emad
Create sophisticated shortened URLs with advanced targeting and tracking capabilities using the BioURL.link API Overview This n8n workflow provides a powerful webhook-based URL shortening service that integrates with BioURL.link's comprehensive link management platform. Transform any long URL into a smart, trackable short link with advanced targeting features through a simple HTTP POST request. Key Features Smart URL Shortening**: Create custom short URLs with optional passwords and expiry dates Geo-targeting**: Redirect users to different URLs based on their geographic location Device Targeting**: Serve different content to iPhone, Android, or other device users Language Targeting**: Customize redirects based on user language preferences Deep Linking**: Automatically redirect mobile users to app store or native apps Custom Meta Tags**: Set custom titles, descriptions, and images for social media sharing Analytics & Tracking**: Integrate tracking pixels and campaign parameters Splash Pages**: Create branded landing pages before redirects How It Works Webhook Trigger: Send a POST request to the /shorten-link endpoint API Integration: Workflow processes the request and calls BioURL.link's API Response: Returns the shortened URL with all configured features Setup Requirements BioURL.link account and API key Replace "Bearer YOURAPIKEY" in the HTTP Request node with your actual API key Customize the JSON body parameters as needed for your use case Use Cases Marketing campaigns with geo-specific landing pages Mobile app promotion with automatic app store redirects A/B testing with device or language-based targeting Social media sharing with custom preview metadata Time-sensitive promotions with expiry dates Password-protected internal links Technical Details Trigger**: Webhook (POST to /shorten-link) API Endpoint**: https://biourl.link/api/url/add Response**: Complete shortened URL data Authentication**: Bearer token required Perfect for marketers, developers, and businesses needing advanced URL management capabilities beyond basic shortening services.
by David Ashby
Complete MCP server exposing 1 IP2WHOIS Domain Lookup 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 IP2WHOIS Domain Lookup 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 IP2WHOIS Domain Lookup 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.ip2whois.com/v2 • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Returns responses directly to the AI agent 📋 Available Operations (1 total) 🔧 General (1 endpoints) • GET /: Lookup WHOIS Data 🤖 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 IP2WHOIS Domain Lookup 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.