by InfraNodus
Optimize Your Top Performing Website Content with Google Analytics, Firecrawl, and InfraNodus This templates helps you extract** the top performing pages from your website using Google Analytics scrape** the content of the pages using Firecrawl API (HTTP node provided) build a knowledge graph* for all these pages with the *topics* and *gaps** identified using InfraNodus understand the main concepts and topical clusters in your top-performing content, so you can create more of it, while also identifying the content gaps — structural holes between the topics that you can use to generate new content ideas have access to a knowledge graph visualization of your top performing content to explore it using the interactive network interface How it works This template uses the InfraNodus to visualize and analyze your top performing content. It will extract the top pages from the Google Analytics data for the website you choose and scrape their text content using the high-quality Firecrawl API. Then it will ingest every page into an InfraNodus graph you specify. The graph can be used to explore the content visually. The insights from the graph, such as the main topics and gaps between them will be shown to you in the end of the workflow. You can use these insights to understand what kind of content you should focus on creating to get the highest number of views* and to establish *topical authority* in your area, which is good for *SEO* and *LLM optimization** — focusing on the topics identified in the top content discover the content gaps — which topics are not connected yet that you could link with new content ideas and publish — this caters to your audience's interests, but connects your existing ideas in a new way. So you deliver the content that's relevant but also novel. Here's a description step by step: Note:* you can replace the PDF to Text convertor node with a better quality *PDF convertor* from ConvertAPI which respects the original file layout and doesn't split text into small chunks Trigger the workflow Extract a list of top (25, 50) pages from your Google Analytics account (you'll need to connect it via the Google Cloud API) Fix the extracted data and add a correct URL prefix to each page (if your Analytics has relative paths only Loop through each page extracted Extract the text content of every page using the high-quality Firecrawl API Ingest the text content into the InfraNodus graph that you specify Once all the pages are ingested into the InfraNodus graph, access the AI insights endpoint in InfraNodus and get the information about the main topics and gaps Display this information to the user How to use You need an InfraNodus API account and key to use this workflow. Create an InfraNodus account Get the API key at https://infranodus.com/api-access and create a Bearer authorization key for the InfraNodus HTTP nodes. Requirements An InfraNodus account and API key Optional: A Google Analytics account for your property (alternatively, you can modify this workflow to provide a list of the most popular pages) Optional: A Google Cloud API access (to access the data from Google Analytic saccount — follow the n8n instructions) Optional: A Firecrawl API key API key for better quality web page scraping (otherwise, use the standard HTTP to Text node from n8n) Customizing this workflow You can customize this workflow by using a list of the URL pages you want to analyze from a Google sheet. Alternatively, you can use the Google SERP node to extract top search results for a query and get the main topics for them. For support and feedback, please, contact us at https://support.noduslabs.com To learn more about InfraNodus: https://infranodus.com
by Solido AI
How it works: This bot operates in a continuous WhatsApp monitoring loop. It analyzes messages to detect keywords in common questions (like hours, prices, and location) and sends automatic replies with predefined information. For unrecognized questions, it directs the user to manual assistance. Set up steps: The initial setup involves integrating with the WhatsApp API, registering keywords and their respective responses, and defining the fallback flow. It takes only a few minutes to have the bot running with essential information.
by Solido AI
How it works: This system functions by receiving expenses via webhook POST. It validates the data, stores it in Google Sheets, and, daily at 8 PM, generates and sends financial summaries. Automatic categorization simplifies the organization of expenses. Set up steps: Setup involves creating the Google Sheet, configuring the webhook, and defining the categorization rules. The process is quick and intuitive, taking about 10-15 minutes for the system to be ready to receive your expenses.
by KPendic
How it works This workflow simply exports all your CloudFlare domains to Google Sheet to get high overview of all of your settings. This could help for easy debugging, searching or similar needs. In flow simple pagging nodes are used to iterate over all your domains, because this list could be huge. For each host we are merging DNS & Settings and transforming them into columns for all our domains. Requirements For storing and processing of data in this flow you will need: CloudFlare.com API key/token - for retrieving your data (https://dash.cloudflare.com/:account/api-tokens) (need full access) Google Spreadsheet auth connected in your n8n Credentials Google Spreadsheet template - you can copy my sheet as starting point, start by copying it to your account Match Sheet ID in 'Export' node to your newly created. Official CloudFlare api Documentation For full details and specifications please use API documentation from: https://developers.cloudflare.com/api/ Potential API timeouts If you encounter CF API timeouts - I would suggest to only put somewhere in the loop simple sleep/wait node - for couple of seconds - and it should resolve timeouts. Google Sheet I've used simple Google Sheet feature conditional formatting to visually distinct my on|off toggles that was of my interest to easily get high overview for debuggint some of the settings on my hosts - but please use your own logic or change it completely.
by Kirill Khatkevich
This workflow is a comprehensive solution for digital marketers, performance agencies, and e-commerce brands looking to scale their creative testing process on Meta Ads efficiently. It eliminates the tedious manual work of uploading assets, creating campaigns, and setting up ads one by one. Use Case Manually launching weekly creative tests is time-consuming and prone to errors. This workflow solves that problem by creating a fully automated pipeline: from a creative asset in a folder to a complete, ready-to-launch (but paused) ad structure in your Meta Ads account. It's perfect for teams that want to: Save hours of manual work every week. Systematically test a high volume of creatives. Maintain a structured and consistent campaign naming convention. Keep a detailed log of all created assets for data-driven performance analysis. How it Works The workflow is structured into four logical blocks: 1. Configuration & Scheduling: The workflow runs on a weekly schedule. A central "Configuration" Set node at the beginning holds all key variables (Ad Account ID, Page ID, Pixel ID, making it incredibly easy to adapt the template for different projects. 2. Creative Ingestion & Processing: It scans a specific Google Drive folder for new image and video files. Using an IF node, it branches the logic based on the file type. Each file is uploaded to the Meta Ads library, and a corresponding Ad Creative is built with a pre-defined destination URL. 3. Campaign & Ad Set Assembly: The workflow creates a single new Campaign with an OUTCOME_SALES objective. It then creates a single Ad Set optimized for OFFSITE_CONVERSIONS (e.g., "Add to Cart"), using the Pixel ID from the configuration. A Merge node intelligently combines the single Ad Set ID with every creative processed in the previous block, preparing the data for the final step. 4. Ad Creation & Data Logging: The workflow iterates through the prepared data, creating a unique Ad for each creative. Upon the successful creation of each ad, a new row is appended to a Google Sheet, logging all relevant IDs (CampaignID, AdSetID, AdID, CreativeID) and metadata for a complete audit trail. Setup Instructions To use this template, you need to configure a few key nodes. 1. Credentials: Connect your Meta Ads account. Connect your Google account (for both Drive and Sheets). 2. The ⚙️ Configuration Node (Set node): This is the most important step. Open the first Set node and fill in your specific values: adAccountId: Your Meta Ad Account ID. pageId: The ID of the Facebook Page you're advertising for. pixelId: Your Meta Pixel ID for conversion tracking. 3. Google Sheets Node (Save Full Report to Sheet): Select your spreadsheet and the specific sheet where you want to save the reports. Make sure your sheet has columns with the following headers: CampaignID, AdSetID, AdID, CreativeID, FileName, MimeType, Timestamp. 4. Check URLs and IDs in HTTP Request Nodes: The template is configured to use the variables from the ⚙️ Configuration node. Double-check that the URLs in the Create Campaign, Create Ad Set, and Create ... Creative nodes correctly reference these variables (e.g., .../act_{{ $('⚙️ Configuration Meta Ads').item.json.adAccountId }}/campaigns). Verify the link in the Create Video Creative and Create Image Creative nodes points to your desired landing page. 5. Activate the Workflow: Set your desired schedule in the Schedule Trigger node. Save and activate the workflow. Further Ideas & Customization This workflow is a powerful foundation. You can easily extend it to: Create a second workflow** that runs a week later, reads the Google Sheet, and pulls performance data for all the ads created. A/B test ad copy** by adding different text variations from a spreadsheet. Add a Slack or Email notification** at the end to confirm that the weekly campaign launch was successful.
by David Ashby
🛠️ Clearbit Tool MCP Server Complete MCP server exposing all Clearbit Tool operations to AI agents. Zero configuration needed - all 3 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 Clearbit Tool operation • AI Expressions: Automatically populate parameters via $fromAI() placeholders • Native Integration: Uses official n8n Clearbit Tool tool with full error handling 📋 Available Operations (3 total) Every possible Clearbit Tool operation is included: 🔧 Company (2 operations) • Autocomplete a company • Enrich a company 👥 Person (1 operations) • Enrich a person 🤖 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 Clearbit 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 Clearbit 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 lin@davoy.tech
The Chinese Translator workflow automates the translation of text into Chinese characters, pinyin, and English translations via Line Messaging API. This workflow leverages OpenRouter.ai to call advanced language models such as Qwen for accurate translations and ensures smooth user interaction by providing loading animations and timely replies. Purpose This workflow aims to Provide users with real-time translations of input text into Chinese characters, pinyin, and English Deliver seamless user experience through interactive features like loading animations and quick reply messages Enable easy integration with Line Messaging API for scalable deployment Key Features Real-Time Translation : Translates user-inputted text instantly using OpenRouter.ai's standardized API. Comprehensive Output : Delivers Chinese characters, pinyin, and English translations for each word or phrase. Interactive User Experience : Incorporates loading animations to inform users that the workflow is processing their request. Line Integration : Utilizes Line Webhooks and Reply APIs to facilitate communication between users and the translation service. Data Flow Receiving Input Node: Line Webhook Captures incoming messages from Line users. Extracts the text content and reply token from the webhook payload. Loading Animation Node: Line Loading Animation Sends a loading animation back to the user, indicating that the workflow is processing the request. Enhances user experience by providing immediate feedback. Translation Processing Node: Use OpenRouter Sends the extracted text to OpenRouter.ai's API, utilizing the Qwen model for translation. Requests Chinese characters, pinyin, and English translations for the input text. Sending Response Node: Line Reply Formats the translation results into a readable text message. Sends the translated text back to the user via Line's Reply API. Setup Instructions Prerequisites Line Developer Account : Create a Line channel to obtain necessary credentials for webhooks and messaging. OpenRouter.ai Account : Set up an account and configure access to utilize their language models. Steps to Configure Set Up Line Webhook : Navigate to the Line Developers Console and create a new webhook URL. Copy the generated webhook URL and paste it into the Line Webhook node in n8n. Configure OpenRouter.ai : Obtain API credentials from OpenRouter.ai and integrate them into the Use OpenRouter node within the workflow. Adjust Workflow Settings : Ensure the timezone is set to Asia/Bangkok . Verify that all nodes are correctly connected and configured with appropriate credentials. Intended Audience This workflow is ideal for: Language Learners : Seeking quick translations and pronunciation guides for Chinese language studies. Travelers : Looking to communicate effectively while traveling in Chinese-speaking regions. Businesses : Aiming to provide multilingual support to customers and clients. Benefits Enhanced Learning : Provides comprehensive translations, including pinyin, aiding in language acquisition. User-Friendly Interface : Real-time loading animations and prompt replies ensure a smooth user experience. Scalable Deployment : Easily integrates with Line's extensive user base for widespread accessibility.
by Agent Studio
Who is it for Customer service or support teams who want to use their Zendesk articles in other tools. Content/Knowledge managers consolidating or migrating knowledge bases. Ops/automation specialists who want Markdown versions of articles (could be adapted to Notion, Google Sheets, or any Markdown-friendly system). How to get started Download the template and install it on your instance Set Zendesk and Airtable credentials Modify the Zendesk base_url and Airtable's table and base Run the workflow once manually to get your existing articles Finally, modify the Schedule Trigger (by default it runs every 30 days) and activate the workflow Prerequisites Airtable base** set up using this template. It includes the fields Title, Content, URL and Article ID. Zendesk account** with API access (read permissions for help center articles) Zendesk API credentials** (see instructions below) Airtable API credentials** (see instructions below) Getting Your Credentials Airtable: Sign up or log in to Airtable. Go to your account settings and generate a Personal Access Token (recommended scopes: data.records:read, data.records:write). In n8n, create new Airtable credentials using this token. Zendesk: Log in to your Zendesk dashboard. Go to Admin Center > Apps and Integrations > Zendesk API. Enable “Token Access,” and create an API token. In n8n, add Zendesk credentials with your Zendesk domain, email, and the API token. How it works 1. Triggers Manual:* For first setup, use the Manual Trigger to fetch *all** existing articles. Scheduled:* Automatically runs every N days to fetch *only new or updated** articles since the last run. 2. Fetch Articles from Zendesk Calls the Zendesk Help Center API, using pagination to handle large volumes. 3. Extract and Prepare Data Splits out each article, then collects fields: id, url, title, and body. Converts the article body from HTML to Markdown (for portability and easier reuse). 4. Upsert Into Airtable Inserts new articles, or updates existing ones (using Article ID as the unique key). Fields stored: Title, Content (Markdown), URL, Article ID. Airtable Template Use this Airtable template as your starting point. Make sure the table has columns: Title, Content, URL, Article ID. You can add more depending on your needs. Example Use Cases Migrating Zendesk articles to another knowledge base. Building an internal knowledge hub in Airtable or Notion. Creating Markdown backups for compliance or versioning. Service If you need help implementing the template or modifying it, just reach out 💌
by Lucas Peyrin
How it works This template provides a complete, ready-to-use web application for generating high-quality AI prompts. It features a user-friendly web form where you can describe your goal, and it leverages an AI model (Google Gemini) to create a structured, reusable prompt for you. The workflow is a full-stack application built entirely within n8n: Frontend (The Form): A Form Trigger node creates a beautiful, public-facing web form. Here, a user describes the prompt they need and selects which structural components to include (like system instructions, examples, or input variables). Backend (The AI Logic): A LangChain Chain node takes the user's request and constructs a "meta-prompt"—a set of instructions for the AI on how to generate the final prompt. The Google Gemini node executes this meta-prompt, creating a well-structured output with clear sections and tags. The Result (The Webpage): After generation, the user is automatically redirected to a new URL. This URL is handled by another Webhook node, which serves a custom-coded HTML page. This beautiful, dark-themed webpage displays the generated prompt and includes a one-click "Copy" button, making it easy to use the result immediately. This template is a perfect example of how to build interactive web tools with n8n, combining a user interface, backend logic, and a dynamic web response in a single workflow. Set up steps Setup time: ~1-3 minutes This workflow requires a Google AI credential to function. Configure Google AI Credentials: This workflow uses a Google Gemini model. You will need a Google AI API key. In n8n, go to Credentials and click Add credential. Search for Google Gemini and enter your API key. Go back to the workflow, open the Gemini 2.5 Flash node, and select your newly created credential from the dropdown. Activate the Workflow: Click the Active toggle in the top-right corner to turn the workflow on. Access Your Prompt Maker: Open the Prompt Request (Form Trigger) node. Copy the Public URL provided. This is the link to your new web application! Open the link in your browser, fill out the form, and see the magic happen. Note: This workflow uses environment variables like {{ $env.WEBHOOK_URL }} to build the redirect URL. These are typically set automatically by n8n and should work out-of-the-box on most standard n8n setups.
by Akhil Varma Gadiraju
n8n Workflow: Sync Workflows with GitLab How It Works This workflow ensures that your self-hosted n8n workflows are version-controlled in a GitLab repository. It compares each current workflow from n8n with its stored counterpart in GitLab. If any differences are detected, the GitLab file is updated with the latest version. Core Logic: Retrieve Workflows – Fetch all workflows from the n8n REST API. Compare with GitLab – For each workflow, fetch the corresponding file from GitLab and compare the JSON. Update if Changed – If differences exist, commit the updated workflow to GitLab using its API. Setup Before using the workflow, ensure the following: Prerequisites: n8n**: Self-hosted instance with access to the /rest/workflows API. GitLab**: A repository where workflows will be stored, and a Personal Access Token (PAT) with api and write_repository permissions. n8n Nodes Required**: HTTP Request (to call n8n and GitLab APIs) Code or Function nodes (for diffing and formatting) Looping (SplitInBatches or similar) Configuration: Set environment variables or workflow credentials for: GITLAB_TOKEN GITLAB_REPO GITLAB_BRANCH (e.g., main) GITLAB_FILE_PATH_PREFIX (e.g., n8n-workflows/) How to Use Import the Workflow into your n8n instance. Configure GitLab API Credentials: Set the GitLab PAT as a header in the HTTP Request node: Private-Token: {{ $env.GITLAB_TOKEN }} Map Workflows to GitLab Paths: Use the workflow name or ID to create the file path. Example: n8n-workflows/workflow-name.json Trigger the Workflow: Can be manually triggered, or scheduled to run at intervals (e.g., daily). Review Commits in GitLab: Each updated workflow will be committed with a message like: "Update workflow: Sample Workflow" Disclaimer This workflow does not handle merge conflicts or manual edits made directly in GitLab. Always ensure proper coordination if multiple sources are modifying workflows. Only structural changes are tracked. Non-functional metadata (like timestamps or IDs) may trigger false positives unless filtered. Use at your own risk. Test in a safe environment before applying to production workflows.
by Joseph
📄 Google Script Workflow: Upload File from URL to Google Drive (via n8n) 🔧 Purpose: This lightweight Google Apps Script acts as a server endpoint that receives a file URL (from n8n), downloads the file, uploads it to your specified Google Drive folder, and responds with the file’s metadata (like Drive file ID and URL). This is useful for large video/audio files that n8n cannot handle directly via HTTP Download nodes. 🚀 Setup Steps: 1. Create a New Script Project Go to https://script.google.com Click “New Project” Rename the project to something like: DriveUploader 2. Paste the Script Code Replace the default Code.gs content with the following (your custom script): function doPost(e) { const SECRET_KEY = 'your-strong-secret-here'; // Set your secret key here try { const data = JSON.parse(e.postData.contents); // 🔒 Check for correct secret key if (!data.secret || data.secret !== SECRET_KEY) { return ContentService.createTextOutput("Unauthorized") .setMimeType(ContentService.MimeType.TEXT); } const videoUrl = data.videoUrl; const folderId = 'YOUR_FOLDER_ID_HERE'; // Replace with your target folder ID const folder = DriveApp.getFolderById(folderId); const response = UrlFetchApp.fetch(videoUrl); const blob = response.getBlob(); const file = folder.createFile(blob); file.setName('uploaded_video.mp4'); // You can customize the name return ContentService.createTextOutput(file.getUrl()) .setMimeType(ContentService.MimeType.TEXT); } catch (err) { return ContentService.createTextOutput("Error: " + err.message) .setMimeType(ContentService.MimeType.TEXT); } } 3. Generate & Set Up Secret Key To allow authorized post requests to your script only, we need to generate a secret key from aany reliable key generator. You can head over to acte, click generate and copy the "Encryption key 256". Paste it in the 'your-strong-secret-here' placeholder in your script then click save const SECRET_KEY = 'your-strong-secret-here'; // Set your secret key here; 4. Replace Folder ID in Code Open the target Drive folder in your browser The folder ID is the part of the URL after /folders/ Example: https://drive.google.com/drive/u/0/folders/1Xabc12345678defGHIJklmn Paste that ID in the script: var folderId = "1Xabc12345678defGHIJklmn"; 5. Set Up Deployment as Web App Click “Deploy” > “Manage Deployments” > “New Deployment” Under Select type, choose Web app Description: Upload from URL to Drive Execute as: Me Who has access: Anyone Click Deploy Authorize the script when prompted Copy the Web App URL 📤 How to Use in n8n 1. HTTP Request Node Method: POST URL: (your web app URL) Secret Key: (Secret Key set in script) Body Content Type: JSON Paste code: { "videoUrl": "https://example.com/path/to/your.mp4", "secret": "your-strong-secret-here" } videoUrl: The file download URL secret: The generated and set up secret key 2. Rename Node A simple drive update node to rename the file using the file drive url returned from the script.
by Johan Denoyer
How it works 1) Extracts all company entries in Agile CRM 2) Search for company name in French INSEE OpenData database to extract address and government ID (SIREN) 3) Updates entries with data extracted from French Insee OpenData dabase Workflow also has a readonly feature to make sure entry is not overwritten. Setup steps Add your AgileCRM credentials Add your INSEE OpenData credentials Add two company custom fields in your Agile CRM (for SIREN data and ReadOnly support)