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 Matt F.
Overview This automation template is designed to streamline your payment processing by automatically triggering upon a successful Stripe payment. The workflow retrieves the complete payment session and filters the information to display only the customer name, customer email, and the purchased product details. This template is perfect for quickly integrating Stripe transactions into your inventory management, CRM, or notification systems. Step-by-Step Setup Instructions Stripe Account Configuration: Ensure you have an active Stripe account. Connect your Stripe Credentials. Retrieve Product and Customer Data: Utilize Stripeβs API within the automation to fetch the purchased product details. Retrieve customer information such as: email and full name. Integration and Response: Map the retrieved data to your desired format. Trigger subsequent nodes or actions such as sending a confirmation email, updating a CRM system, or logging the transaction. Pre-Conditions and Requirements Stripe Account:** A valid Stripe account with access to API keys and webhook configurations. API Keys:** Ensure you have your Stripe secret and publishable keys ready. Customization Guidance Data Mapping:** Customize the filtering node to match your specific data schema or to include additional data fields if needed. Additional Actions:** Integrate further nodes to handle post-payment actions like sending SMS notifications, updating order statuses, or generating invoices. Enjoy seamless integration and enhanced order management with this automation template!
by PUQcloud
Setting up n8n workflow Overview The Docker MinIO WHMCS module uses a specially designed workflow for n8n to automate deployment processes. The workflow provides an API interface for the module, receives specific commands, and connects via SSH to a server with Docker installed to perform predefined actions. Prerequisites You must have your own n8n server. Alternatively, you can use the official n8n cloud installations available at: n8n Official Site Installation Steps Install the Required Workflow on n8n You have two options: Option 1: Use the Latest Version from the n8n Marketplace The latest workflow templates for our modules are available on the official n8n marketplace. Visit our profile to access all available templates: PUQcloud on n8n Option 2: Manual Installation Each module version comes with a workflow template file. You need to manually import this template into your n8n server. n8n Workflow API Backend Setup for WHMCS/WISECP Configure API Webhook and SSH Access Create a Basic Auth Credential for the Webhook API Block in n8n. Create an SSH Credential for accessing a server with Docker installed. Modify Template Parameters In the Parameters block of the template, update the following settings: server_domain β Must match the domain of the WHMCS/WISECP Docker server. clients_dir β Directory where user data related to Docker and disks will be stored. mount_dir β Default mount point for the container disk (recommended not to change). Do not modify the following technical parameters: screen_left screen_right Deploy-docker-compose In the Deploy-docker-compose element, you have the ability to modify the Docker Compose configuration, which will be generated in the following scenarios: When the service is created When the service is unlocked When the service is updated nginx In the nginx element, you can modify the configuration parameters of the web interface proxy server. The main section allows you to add custom parameters to the server block in the proxy server configuration file. The main\_location section contains settings that will be added to the location / block of the proxy server configuration. Here, you can define custom headers and other parameters specific to the root location. Bash Scripts Management of Docker containers and all related procedures on the server is carried out by executing Bash scripts generated in n8n. These scripts return either a JSON response or a string. All scripts are located in elements directly connected to the SSH element. You have full control over any script and can modify or execute it as needed.
by David Ashby
Complete MCP server exposing 1 Image Moderation 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 Image Moderation 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 Image Moderation 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.moderatecontent.com/moderate/ β’ AI Expressions: Automatically populate parameters via $fromAI() placeholders β’ Native Integration: Returns responses directly to the AI agent π Available Operations (1 endpoints) General (1 operation) Detect Nudity in Images π€ 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 Image Moderation 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 Joseph LePage
π€ AI-Powered RAG Chatbot with Google Drive Integration This workflow creates a powerful RAG (Retrieval-Augmented Generation) chatbot that can process, store, and interact with documents from Google Drive using Qdrant vector storage and Google's Gemini AI. How It Works Document Processing & Storage π Retrieves documents from a specified Google Drive folder Processes and splits documents into manageable chunks Extracts metadata using AI for enhanced search capabilities Stores document vectors in Qdrant for efficient retrieval Intelligent Chat Interface π¬ Provides a conversational interface powered by Google Gemini Uses RAG to retrieve relevant context from stored documents Maintains chat history in Google Docs for reference Delivers accurate, context-aware responses Vector Store Management ποΈ Features secure delete operations with human verification Includes Telegram notifications for important operations Maintains data integrity with proper version control Supports batch processing of documents Setup Steps Configure API Credentials: Set up Google Drive & Docs access Configure Gemini AI API Set up Qdrant vector store connection Add Telegram bot for notifications Add OpenAI Api Key to the 'Delete Qdrant Points by File ID' node Configure Document Sources: Set Google Drive folder ID Define Qdrant collection name Set up document processing parameters Test and Deploy: Verify document processing Test chat functionality Confirm vector store operations Check notification system This workflow is ideal for organizations needing to create intelligent chatbots that can access and understand large document repositories while maintaining context and providing accurate responses through RAG technology.
by David Ashby
π οΈ Dropcontact Tool MCP Server Complete MCP server exposing all Dropcontact 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 Dropcontact Tool operation β’ AI Expressions: Automatically populate parameters via $fromAI() placeholders β’ Native Integration: Uses official n8n Dropcontact Tool tool with full error handling π Available Operations (2 total) Every possible Dropcontact Tool operation is included: π Contact (2 operations) β’ Find B2B emails β’ Fetch Request Contact π€ 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 Dropcontact 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 Dropcontact 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 Google Translate 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 Google Translate Tool operation β’ AI Expressions: Automatically populate parameters via $fromAI() placeholders β’ Native Integration: Uses official n8n Google Translate Tool tool with full error handling π Available Operations (1 total) Every possible Google Translate 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 Google Translate 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 Translate 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 NeurochainAI
This template provides a workflow to integrate a Telegram bot with NeurochainAI's inference capabilities, supporting both text processing and image generation. Follow these steps to get started: > Purpose: Enables seamless integration between your Telegram bot and NeurochainAI for advanced AI-driven text and image tasks. Requirements Telegram Bot Token. NeurochainAI API Key. Sufficient credits to utilize NeurochainAI services. Features Text processing through NeurochainAI's inference engine. AI-powered image generation (Flux). Easy customization and scalability for your use case. Setup Import the template into N8N. Add your Telegram Bot Token and NeurochainAI API Key where prompted. Follow the step-by-step instructions embedded in the template for configuration. [NeurochainAI Website](https://www.neurochain.ai/ ) NeurochainAI Guides
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 Didac Fernandez
AI-Powered Financial Document Processing with Google Gemini This comprehensive workflow automates the complete financial document processing pipeline using AI. Upload invoices via chat, drop expense receipts into a folder, or add bank statements - the system automatically extracts, categorizes, and organizes all your financial data into structured Google Sheets. What this workflow does Processes three types of financial documents automatically: Invoice Processing**: Upload PDF invoices through a chat interface and get structured data extraction with automatic file organization Expense Management**: Monitor a Google Drive folder for new receipts and automatically categorize expenses using AI Bank Statement Processing**: Extract and organize transaction data from bank statements with multi-transaction support Financial Analysis**: Query all your financial data using natural language with an AI agent Key Features Multi-AI Persona System**: Four specialized AI personas (Mark, Donna, Victor, Andrew) handle different financial functions Google Gemini Integration**: Advanced document understanding and data extraction from PDFs Smart Expense Categorization**: Automatic classification into 17 business expense categories using LLM Real-time Monitoring**: Continuous folder watching for new documents with automatic processing Natural Language Queries**: Ask questions about your financial data in plain English Automatic File Management**: Intelligent file naming and organization in Google Drive Comprehensive Error Handling**: Robust processing that continues even when individual documents fail How it works Invoice Processing Flow User uploads PDF invoice via chat interface File is saved to Google Drive "Invoices" folder Google Gemini extracts structured data (vendor, amounts, line items, dates) Data is parsed and saved to "Invoice Records" Google Sheet File is renamed as "{Vendor Name} - {Invoice Number}" Confirmation message sent to user Expense Processing Flow User drops receipt PDF into "Expense Receipts" Google Drive folder System detects new file within 1 minute Google Gemini extracts expense data (merchant, amount, payment method) OpenRouter LLM categorizes expense into appropriate business category All data saved to "Expenses Recording" Google Sheet Bank Statement Processing Flow User uploads bank statement to "Bank Statements" folder Google Gemini extracts multiple transactions from statement Custom JavaScript parser handles various bank formats Individual transactions saved to "Bank Transactions Record" Google Sheet Financial Analysis Enable the analysis trigger when needed Ask questions in natural language about your financial data AI agent accesses all three spreadsheets to provide insights Get reports, summaries, and trend analysis What you need to set up Required APIs and Credentials Google Drive API** - For file storage and monitoring Google Sheets API** - For data storage and retrieval Google Gemini API** - For document processing and data extraction OpenRouter API** - For expense categorization (supports multiple LLM providers) Google Drive Folder Structure Create these folders in your Google Drive: "Invoices" - Processed invoice storage "Expense Receipts" - Drop zone for expense receipts (monitored) "Bank Statements" - Drop zone for bank statements (monitored) Google Sheets Setup Create three spreadsheets with these column headers: Invoice Records Sheet: Vendor Name, Invoice Number, Invoice Date, Due Date, Total Amount, VAT Amount, Line Item Description, Quantity, Unit Price, Total Price Expenses Recording Sheet: Merchant Name, Transaction Date, Total Amount, Tax Amount, Payment Method, Line Item Description, Quantity, Unit Price, Total Price, Category Bank Transactions Record Sheet: Transaction ID, Date, Description/Payee, Debit (-), Credit (+), Currency, Running Balance, Notes/Category Use Cases Small Business Accounting**: Automate invoice and expense tracking for bookkeeping Freelancer Financial Management**: Organize client invoices and business expenses Corporate Expense Management**: Streamline employee expense report processing Financial Data Analysis**: Generate insights from historical financial data Bank Reconciliation**: Automate transaction recording and account reconciliation Tax Preparation**: Maintain organized records with proper categorization Technical Highlights Expense Categories**: 17 predefined business expense categories (Cost of Goods Sold, Marketing, Payroll, etc.) Multi-format Support**: Handles various PDF layouts and bank statement formats Scalable Processing**: Processes multiple documents simultaneously Error Recovery**: Continues processing even when individual documents fail Natural Language Interface**: No technical knowledge required for financial queries Real-time Processing**: Documents processed within minutes of upload Benefits Time Savings**: Eliminates manual data entry from financial documents Accuracy**: AI-powered extraction reduces human error Organization**: Automatic file naming and categorization Insights**: Query financial data using natural language Compliance**: Maintains organized records for accounting and audit purposes Scalability**: Handles growing document volumes without additional overhead This workflow transforms tedious financial document processing into an automated, intelligent system that grows with your business needs.
by David Ashby
π οΈ Google Cloud Natural Language Tool MCP Server Complete MCP server exposing all Google Cloud Natural Language 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 Google Cloud Natural Language Tool operation β’ AI Expressions: Automatically populate parameters via $fromAI() placeholders β’ Native Integration: Uses official n8n Google Cloud Natural Language Tool tool with full error handling π Available Operations (1 total) Every possible Google Cloud Natural Language Tool operation is included: π§ Document (1 operations) β’ Analyze sentiment π€ 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 Cloud Natural Language 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 Cloud Natural Language 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 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