by n8n Team
This workflow turns a light red when an update is made to a GitHub repository. By default, updates include pull requests, issues, pushes just to name a few. Prerequisites GitHub credentials. Home Assistant credentials. How it works Triggers off on the On any update in repository node. Uses Home Assistant to turn on a light and then configure the light to turn red.
by Avkash Kakdiya
How it works This workflow automates SEO analysis by comparing your website with a competitor’s site. It reads input URLs from Google Sheets, scrapes structured SEO data from both sites, and expands into important internal pages for deeper insights. The collected data is processed and merged before being analyzed using Google Gemini AI. Finally, it generates a structured SEO gap report and saves it back into Google Sheets while updating the workflow status. Step-by-step Trigger and filter input data** Manual Trigger – Starts the workflow execution manually. Google Sheets (Get row(s)) – Fetches website data from the input sheet. If – Filters only rows where status is NEW. Prepare and fetch website data** Set (Edit Fields) – Maps your website and competitor URLs. HTTP Request (My Website HTTP) – Fetches your website HTML. HTTP Request (Competitor) – Fetches competitor website HTML. HTML (Extract Data) – Extracts SEO elements like title, H1, H2, links, and content. Extract and process internal pages** Code (All Links) – Filters important internal URLs from both websites. Google Sheets (Insert Links) – Stores extracted links. Split In Batches – Iterates through each page URL. HTTP Request + HTML + Code – Scrapes and formats SEO data for each page. Store and update structured SEO data** Google Sheets (Append & Update) – Saves page-level SEO data. Wait nodes – Controls execution timing and prevents rate limits. Analyze SEO gaps using AI** Merge – Combines your site and competitor data. Code – Structures merged dataset. Google Gemini (Message a model) – Generates SEO gap analysis. Code (Parse JSON) – Cleans and validates AI output. Save report and finalize workflow** Google Sheets (Append Report) – Stores SEO gap report. Google Sheets (Update Row) – Marks input row as DONE. Why use this? Automates complete SEO competitor analysis without manual effort Identifies keyword, content, and technical SEO gaps instantly Scales across multiple websites and competitors efficiently Provides AI-driven insights and actionable SEO improvement plans Centralizes all SEO data and reports inside Google Sheets
by Nskha
This n8n template provides a comprehensive solution for managing Key-Value (KV) pairs using Cloudflare's KV storage. It's designed to simplify the interaction with Cloudflare's KV storage APIs, enabling users to perform a range of actions like creating, reading, updating, and deleting namespaces and KV pairs. Features Efficient Management**: Handle multiple KV operations seamlessly. User-Friendly**: Easy to use with pre-configured Cloudflare API credentials within n8n. Customizable**: Flexible for integration into larger workflows (Copy / paste your prefered part). Prerequisites n8n workflow automation tool (version 1.19.0 or later). A Cloudflare account with access to KV storage. Pre-configured Cloudflare API credentials in n8n. Workflow Overview This workflow is divided into three main sections for ease of use: Single Actions: Perform individual operations on KV pairs. Bulk Actions: Handle multiple KV pairs simultaneously. Specific Actions: Execute specific tasks like renaming namespaces. Key Components Manual Trigger**: Initiates the workflow. Account Path Node**: Sets the path for account details, a prerequisite for all actions. HTTP Request Nodes**: Facilitate interaction with Cloudflare's API for various operations. Sticky Notes**: Provide quick documentation links and brief descriptions of each node's function. Usage Setup Account Path: Input your Cloudflare account details in the 'Account Path' node. you can get your account path by your cloudflare URL Choose an Action: Select the desired operation from the workflow. Configure Nodes: Adjust parameters in the HTTP request nodes as needed. (each node contain sticky note with direct link to it own document page) Execute Workflow: Trigger the workflow manually to perform the selected operations. Detailed Node Descriptions I covered in this Workflow the full api calls of Cloudflare KV product. API NODE: Delete KV Type**: HTTP Request Function**: Deletes a specified KV pair within a namespace. Configuration**: This node requires the namespace ID and KV pair name. It automatically fetches these details from preceding nodes, specifically from the "List KV-NMs" and "Set KV-NM Name" nodes. Documentation**: Delete KV Pair API API NODE: Create KV-NM Type**: HTTP Request Function**: Creates a new Key-Value Namespace. Configuration**: Users need to input the title for the new namespace. This node uses the account information provided by the "Account Path" node. Documentation**: Create Namespace API API NODE: Delete KV1 Type**: HTTP Request Function**: Renames an existing Key-Value Namespace. Configuration**: Requires the old namespace name and the new desired name. It retrieves these details from the "KV to Rename" and "List KV-NMs" nodes. Documentation**: Rename Namespace API API NODE: Write KVs inside NM Type**: HTTP Request Function**: Writes multiple Key-Value pairs inside a specified namespace. Configuration**: This node needs a JSON array of key-value pairs along with their namespace identifier. It fetches the namespace ID from the "List KV-NMs" node. Documentation**: Write Multiple KV Pairs API API NODE: Read Value Of KV In NM Type**: HTTP Request Function**: Reads the value of a specific Key-Value pair in a namespace. Configuration**: Requires the Key's name and Namespace ID, which are obtained from the "Set KV-NM Name" and "List KV-NMs" nodes. Documentation**: Read KV Pair API API NODE: Read MD from Key Type**: HTTP Request Function**: Reads the metadata of a specific Key in a namespace. Configuration**: Similar to the "Read Value Of KV In NM" node, it needs the Key's name and Namespace ID, which are obtained from the "Set KV-NM Name" and "List KV-NMs" nodes. Documentation**: Read Metadata API > The rest can be found inside the workflow with sticky/onflow note explain what to do. Best Practices Modular Use**: Extract specific parts of the workflow for isolated tasks. Validation**: Ensure correct namespace and KV pair names before execution. Security**: Regularly update your Cloudflare API credentials for secure access, and make sure to give your API only access to the KV. Keywords: Cloudflare KV, n8n workflow automation, API integration, key-value storage management.
by Rahi
🛠️ Workflow: Jotform → HubSpot Company + Task Automation Automatically create or update HubSpot companies and generate follow-up tasks whenever a Jotform is submitted. All logs are stored to Google Sheets for traceability, transparency, and debugging. ✅ Use Cases Capture marketing queries from your website’s Jotform form and immediately create tasks for your sales or SDR team. Enrich HubSpot companies with submitted domains, company names, and contact data. Automatically assign tasks to owners and keep all form submissions logged and auditable. Avoid manual handoffs — full automation from form submission → CRM. 🔍 How It Works (Step-by-Step) 1. Jotform Trigger The workflow starts when a new submission is received via the Jotform webhook. Captured fields include: name, email, LinkedIn profile, company name, marketing budget, domain, and any specific query. 2. Create or Update Company in HubSpot + Format Data The “Create Company” node ensures the submitted company is either created in HubSpot or updated if it already exists. A Formatter (Function) node standardizes the data — names, email, LinkedIn URL, domain, marketing budget, and query text. It composes a task title, generates a follow-up timestamp, and dynamically assigns an owner. 3. Loop & HTTP Request – Create HubSpot Task The workflow loops through each formatted item. A Wait node prevents rate limit issues. It then sends an HTTP POST request to HubSpot’s Tasks API, creating a task with: Subject and body including the submission details Task status, priority, and type Assigned owner and associated company 4. Loop & HTTP Request – Set Company Domain After tasks are created, another loop updates each HubSpot company record with the submitted domain. This ensures all HubSpot companies have proper website data for future enrichment. 5. Storing Logs (Google Sheets) All processed submissions, responses, errors, and metadata are appended or updated in a Google Sheets document. This provides a complete audit trail — ideal for debugging, reporting, and performance monitoring. 🧩 Node Structure Overview | Step | Node | Description | |------|------|--------------| | 1️⃣ | Jotform Trigger | Receives form submission data | | 2️⃣ | HubSpot Create Company | Ensures company record exists | | 3️⃣ | Formatter / Function Node | Cleans & structures data, assigns owner, generates task fields | | 4️⃣ | Wait / Delay Node | Controls API call frequency | | 5️⃣ | HTTP Request (Create Task) | Pushes task to HubSpot | | 6️⃣ | HTTP Request (Update Domain) | Updates company domain in HubSpot | | 7️⃣ | Google Sheets Node | Logs inputs, outputs, and status | 📋 Requirements & Setup 🔑 HubSpot Private App Token with permissions to create companies, tasks, and update records 🌐 Jotform Webhook URL pointing to this workflow 📗 Google Sheets Credentials (OAuth or service account) with write access ✅ HubSpot app must have crm.objects.companies.write and crm.objects.tasks.write scopes ⚠️ Add retry or error-handling branches for failed API calls ⚙️ Customization Tips & Variations Add contact association:** Modify the payload to also link the task with a HubSpot Contact (via email) so it appears in both company and contact timelines. Use fallback values:** In the Formatter node, provide defaults like “Unknown Company” or “No query provided.” Dynamic owner assignment:** Replace hash-based assignment with round-robin or territory logic. Conditional task creation:** Add logic to only create tasks when certain conditions are met (e.g., budget > 0). Error branches:** Capture failed HTTP responses and send Slack/Email alerts. Extended logs:** Add response codes, errors, and retry counts to your Google Sheet for more transparency. 🎯 Benefits & Why You’d Use This ⚡ Speed & Automation — eliminate manual data entry into HubSpot 📊 Data Consistency — submissions are clean, enriched, and traceable 👀 Transparency — every action logged for full visibility 🌍 Scalability — handle hundreds of submissions effortlessly 🔄 Flexibility — adaptable for other use cases (support tickets, surveys, partnerships, etc.) ✨ Example Use Case A marketing form on your website captures partnership or franchise inquiries. This workflow instantly creates a HubSpot company, logs the inquiry as a task, assigns it to a regional manager, and saves a record in Google Sheets — all within seconds. Tags: HubSpot Jotform CRM GoogleSheets Automation LeadManagement
by Influencers Club
How it works: Get multi social platform data for newsletter subscribers with their email and tag them to enter organic creator, partner and ambassador workflows. Step by step workflow to enrich subscriber emails with multi social (Instagram, Tiktok, Youtube, Twitter, Onlyfans, Twitch and more) profiles, analytics and metrics using the influencers.club API and tagging them on Mailchimp to route campaigns. Set up: Mailchimp (can be swapped for any email marketing sender eg. ActiveCampaign) Influencers.club API
by Rahul Joshi
📊 Description Automate post-purchase workflows by instantly fetching successful Stripe payments, matching them to corresponding automation templates in Google Sheets, and sending customers personalized access emails using AI-generated content. This system ensures each buyer receives their digital template, password, and onboarding details automatically after payment. 💳📩🤖 What This Template Does Step 1: Triggers daily at 7:00 AM IST to fetch all successful payment charges from Stripe. ⏰ Step 2: Retrieves payment intent and product details for each successful charge to enrich context. 💰 Step 3: Validates required fields (order reference, product name, customer name, email). ✅ Step 4: Matches purchased product with the automation record in Google Sheets via AI lookup. 🔍 Step 5: Combines Stripe and Sheet data into one record, ensuring accuracy and completeness. 🔄 Step 6: Filters out already-processed customers to avoid duplicate sends. 🧮 Step 7: Generates a personalized thank-you email using Azure OpenAI (GPT-4o-mini) including access links, password, and onboarding tips. 💌 Step 8: Sends the email through Gmail to the customer automatically. 📧 Step 9: Logs each transaction and email delivery into Google Sheets for tracking and auditing. 📊 Key Benefits ✅ Fully automated Stripe-to-email delivery flow ✅ Zero manual intervention — instant template delivery ✅ AI-personalized HTML emails with customer details ✅ Centralized purchase logging and analytics ✅ Eliminates duplicates and ensures smooth customer experience Features Scheduled daily trigger (7:00 AM IST) Stripe API integration for payment and product details Google Sheets lookup for automation files and passwords GPT-powered email content generation Gmail API integration for delivery Google Sheets logging for audit trail Requirements Stripe API credentials Google Sheets OAuth2 credentials Gmail OAuth2 credentials Azure OpenAI API credentials Target Audience SaaS or digital product sellers using Stripe Automation template marketplaces Small teams delivering digital assets via email Businesses seeking instant customer fulfillment
by Jean-Marie Rizkallah
🛡️ Jamf Policy Integrity Monitor 🎯 Overview A security-focused n8n workflow that monitors Jamf Pro policies for any unauthorized or accidental modification. It delivers configuration integrity and real-time visibility across managed Apple environments. ⚙️ Setup Instructions Add your Jamf Pro and Slack credentials in n8n. Import the workflow template. Configure your preferred schedule and alert channel. No coding required. The setup takes minutes. 🔍 How It Works The workflow connects to Jamf Pro API, detects configuration changes, and sends instant alerts to Slack. It maintains awareness of policy integrity while minimizing manual checks. The logic runs automatically in the background for continuous monitoring. 📢 Slack Notification Example :warning: Policy: Uninstall EDR modified :calendar: DateTime: Oct 5, 2025, 10:23:27 AM ✅ Why It Matters Jamf provides no built-in alerts when policies are modified. This workflow closes that visibility gap and gives your team instant awareness of policy changes without manual auditing. Ideal for security engineers, Jamf administrators, and compliance teams focused on operational assurance.
by Pawan
Who's it for? This template is perfect for educational institutions, coaching centers (like UPSC, GMAT, or specialized technical training), internal corporate knowledge bases, and SaaS companies that need to provide instant, accurate, and source-grounded answers based on proprietary documents. It's designed for users who want to leverage Google Gemini's powerful reasoning but ensure its answers are strictly factual and based only on their verified knowledge repository. How it works / What it does This workflow establishes a Retrieval-Augmented Generation (RAG) pipeline to build a secure, fact-based AI Agent. It operates in two main phases: 1. Knowledge Ingestion: When a new document (e.g., a PDF, lecture notes, or policy manual) is uploaded via a form or Google Drive, the Embeddings Google Gemini node converts the content into numerical vectors. These vectors are then stored in a secure MongoDB Atlas Vector Store, creating a private knowledge base. 2. AI Query & Response: A user asks a question via Telegram. The AI Agent uses the question to perform a semantic search on the MongoDB Vector Store, retrieving the most relevant, source-specific passages. It then feeds this retrieved context to the Google Gemini Chat Model to generate a precise, factual answer, which is sent back to the user on Telegram. This process ensures the agent never "hallucinates" or uses general internet knowledge, making the responses accurate and trustworthy. Requirements To use this template, you will need the following accounts and credentials: n8n Account Google Gemini API Key: For generating vector embeddings and powering the AI Agent. MongoDB Atlas Cluster: A free-tier cluster is sufficient, configured with a Vector Search index. Telegram Bot: A bot created via BotFather and a Chat ID where the bot will listen for and send messages. Google Drive Credentials (if using the Google Drive ingestion path). How to set up Set up MongoDB Atlas:** Create a free cluster and a database. Create a Vector Search Index on your collection to enable efficient searching. Configure Ingestion Path:** Set up the Webhook trigger for your "On form submission" or connect your Google Drive credentials. Configure the Embeddings Google Gemini node with your API Key. Connect the MongoDB Atlas Vector Store node with your database credentials, collection name, and index name. Configure Chat Path:** Set up the Telegram Trigger with your Bot Token to listen for incoming messages. Configure the Google Gemini Chat Model with your API Key. Connect the MongoDB Atlas Vector Store 1 node as a Tool within the AI Agent. Ensure it points to the same vector store as the ingestion path. Final Step:* Configure the Send a text message node with your *Telegram Bot Token and the Chat ID**. How to customize the workflow Change Knowledge Source:** Replace the Google Drive nodes with nodes for Notion, SharePoint, Zendesk, or another document source. Change Chat Platform:** Replace the Telegram nodes with a Slack, Discord, or WhatsApp Cloud trigger and response node. Refine the Agent's Persona:** Open the AI Agent node and edit the System Instruction to give the bot a specific role (e.g., "You are a senior UPSC coach. Answer questions politely and cite sources."). 💡 Example Use Case An UPSC/JEE/NEET coaching uploads NCERT summaries and previous year notes to Google Drive. Students ask questions in the Telegram group — the bot instantly replies with contextually accurate answers from the uploaded materials. The same agent can generate daily quizzes or concise notes from this curated content automatically.
by Abdul Matheen
Automated Invoice-Processing AI Agent for n8n Overview The Automated Invoice-Processing AI Agent in n8n is designed to streamline and optimize invoice management for finance teams and accounts payable (AP) professionals. This solution addresses the common challenge of verifying invoice data manually, cross-checking it against purchase orders (POs), and ensuring compliance before releasing payments. By intelligently fetching invoices from Google Drive, extracting key details, validating them against PO records from Google Sheets, and automating the next actions, this system reduces human intervention, minimizes errors, and accelerates the payment process. Target Audience This automation primarily serves finance and AP teams responsible for managing large volumes of vendor invoices. It also supports finance managers, procurement departments, and auditors who require accuracy in payment reconciliation, ensuring that invoices align with approved POs before processing. Business Problem Addressed Organizations frequently struggle with time-consuming manual invoice verification and data entry. Discrepancies between invoices and purchase orders can lead to payment delays, compliance risks, or duplicate payments. This n8n-based AI agent automates that process—ensuring that every invoice is validated, exceptions are flagged to the finance team promptly, and payments of smaller value (under defined thresholds) are processed automatically. Prerequisites Active n8n account or self-hosted instance Google Drive and Google Sheets connected via n8n credentials LLM (AI node) configured for document extraction (optional but recommended) A Google Sheet set up with existing PO data (including PO Number, Amount, and Date fields) Setup Instructions Connect Google Drive and Google Sheets integrations within n8n. Configure the workflow trigger to monitor a designated "Invoices" folder. Add a document-parsing node to extract invoice details such as PO Number, Invoice Date, and Amount. Implement conditional logic: If the invoice amount > 5000, the agent cross-references PO details from the Google Sheet. If it matches, it updates the PO sheet status to “Process Payment.” If not, an automated email notifies the finance team. If the amount ≤ 5000, the workflow marks it for direct payment. Test the workflow with sample invoices before full deployment. Customization Options Adjust the payment threshold value (e.g., 10,000 instead of 5,000). Customize the email notification template and recipient list. Integrate with accounting systems such as QuickBooks or SAP for end-to-end automation. Add audit logging nodes to create traceability for every action taken. This AI-driven automation brings speed, accuracy, and scalability to invoice verification—empowering finance professionals to focus on analytical and strategic tasks rather than repetitive manual work.
by Jaruphat J.
⚠️ Note: All sensitive credentials should be set via n8n Credentials or environment variables. Do not hardcode API keys in nodes. Who’s it for Marketers, creators, and automation builders who want to generate UGC-style ad images and short videos automatically from a Google Sheet. Ideal for e‑commerce SKUs, agencies, or teams that need many variations quickly. What it does (Overview) This template turns a spreadsheet row into ad images and optionally 5–8s videos. Zone 0 — Image-only pipeline (Gemini/OpenRouter)**: Creates an ad image from a product link and prompt, uploads it to Drive, and updates the sheet (no video step). Zone 1 — Create image (Fal nano‑banana) + prepare for video**: Generates an image via Fal.ai, polls status, fetches URL, then analyzes the image with LLM to prepare scene prompts. Zone 2 — Generate video (WAN2.2 & Veo3)**: Uses the generated image + structured scene prompts to create short clips, uploads them to Drive, and writes the video URL back to the sheet. Requirements Fal.ai API key** (env: FAL_KEY) Google Sheets / Google Drive** OAuth2 credentials OpenAI / Gemini (via OpenRouter)** for image analysis or alternative image generation A Google Sheet with columns, e.g.: product | presenter | prompt | img_url | video_url Google Drive files set to Anyone with link → Viewer so APIs can fetch them How to set up Credentials: Add Google Sheets + Google Drive (OAuth2), Fal.ai (Header Auth with Authorization: Key {{$env.FAL_KEY}}), and OpenAI/OpenRouter. Google Sheet: Create the columns above. Paste product image Drive links (the workflow converts them to direct links automatically). Import the workflow: Use the provided JSON. Confirm node credentials resolve. Run: Start with Zone 0 to verify image-only flow, then test Zone 1 + Zone 2 for full image→video. Zone 0 — Create Ad Image (Image-only) This path is for creating just an image and stopping. It reads the Gemini tab in the Sheet, generates an image via OpenRouter/Gemini, converts base64 to a file, uploads to Drive, and writes back img_url. Key nodes Get Data1 (Google Sheets)** → reads Gemini tab setImgeURL (Set)** → converts Drive URLs to direct (uc?export=view&id=...) CreateImagebyOpernRouter (Gemini)** → calls google/gemini-2.5-flash-image-preview:free wait20sec (Wait)** → small delay setBase64data (Code)** → splits data URI into { data, mimeType, fileName } Convert to File** → creates binary uploadImagetoGdrive (Google Drive)** → uploads image updateImageURL (Google Sheets)** → writes back img_url Zone 1 — Create Image (Fal nano‑banana) + Prepare for Video Reads product rows, normalizes Drive links, generates image with Fal nano‑banana, polls until complete, fetches the output image URL, then runs an image analysis (OpenAI Vision) to prepare structured text for the video step. Key nodes Get Data (Google Sheets)** → reads nanoBanana tab Edit Fields (Set)** → converts Drive links to direct (uc?export=view&id=...) Call Fal.ai API (nanoBanana)** → POST https://queue.fal.run/fal-ai/nano-banana/edit Get image status / If / Wait / Get the image** → job polling until complete Analyze image (OpenAI Vision)** → returns structured description (brand text, colors, type, short description) Zone 2 — Generate Video (WAN2.2 & Veo3) Creates a 5–8s UGC clip using the generated image + structured scene prompt. Key nodes Describe Each Scene for Video (AI Agent)** → expands analysis + user intent into detailed scene sections (Characters, Scene Background, Camera Movement, Movement in Scene, Sound Design) Structured Output Parser2 (Schema)** → enforces consistent JSON structure Veo3 (HTTP)** → POST /fal-ai/veo3/image-to-video with prompt + image_url Call Fal.ai API (WAN2.2) [Optional]** → POST /fal-ai/wan/v2.2-a14b/image-to-video Wait for the video / Get the video status / Video status / Get the video** → polling loop HTTP Request (Download File)** → downloads MP4 uploadImagetoGdrive1 (Google Drive)** → uploads video updateVideoURL (Google Sheets)** → writes back video_url Node settings (high‑level) Drive Link Parser (Set)** {{ (() => { const u = $json.product || ''; const q = u.match(/[?&]id=([-\w]{25,})/); const d = u.match(/\/d\/([-\w]{25,})/); const any = u.match(/[-\w]{25,}/); const id = q?.[1] || d?.[1] || (any ? any[0] : ''); return id ? 'https://drive.google.com/uc?export=view&id=' + id : ''; })() }} How to customize the workflow Adjust AI prompts to change ad style (funny, luxury, cozy, techy). Change video aspect ratio for TikTok/IG/Shorts (9:16, 1:1, 16:9). Extend Sheet schema for campaign labels, audiences, hashtags. Add distribution (Slack/LINE/Telegram) after Drive upload. Troubleshooting JSON parameter needs to be valid JSON** → Ensure expressions return objects, not strings. 403 on images** → Make Drive files public (Viewer) and convert links. Video never completes* → Check status_url, retry with -fast models or off‑peak times. Template metadata Uses:** Google Sheets, Google Drive, HTTP Request, Wait/If/Switch, Code, Convert to File, OpenAI/Gemini (optional), Fal.ai models (nano‑banana, WAN2.2, Veo3) Source workflow JSON:** Gemini\_NanoBanana\_Template.json (node names and connections match) Product Image Product Image - nano Banana Product Video - Veo3 Product Video - Wan2.2
by Bao Duy Nguyen
Who is this for? If you hate SPAM emails or don't want to clean them up frequently. What problem is this workflow solving? It automatically deletes SPAM emails for you, so you don't have to. Save a bit of your time. What this workflow does You can specify when to execute the workflow: daily, weekly, or monthly. Setup Select the preferred execution time Configure credentials for Gmail OAuth2 How to customize this workflow to your needs There's no need. It just works!
by Juan Carlos Cavero Gracia
This automation template turns any RSS feed into ready-to-publish social content using AI. It continuously ingests articles, scores their quality and relevance, crafts platform-native posts (Twitter/X threads and LinkedIn posts), routes items for review or archiving, logs everything to Google Sheets, and can publish automatically to X, Threads, and LinkedIn. Note: This workflow uses OpenAI models for analysis and content generation and integrates with Upload-Post for multi-platform publishing and Google Sheets for tracking. Costs depend on token usage and posting volume.* Who Is This For? Content Teams & Solo Creators:** Ship consistent, high-signal posts without manual rewriting. Newsletters & Media Brands:** Turn breaking stories into shareable, platform-native content. Agencies:** Scale curation across clients with review and auto-publish paths. Founders & PMMs:** Maintain a steady public presence with minimal effort. What Problem Does This Workflow Solve? Manual curation and rewriting of news is slow and inconsistent. This workflow: Scores Articles:** Filters noise with AI quality/relevance scoring. Auto-Writes Posts:** Generates concise X threads and business-ready LinkedIn copy. Routes Intelligently:** Sends good items to publish/review and archives the rest. Logs Everything:** Keeps a structured history in Google Sheets for analytics. How It Works RSS Polling: Monitors your chosen feed(s) on a schedule. Scoring AI: Rates quality and relevance; extracts summary, key topics, and angle. Parse & Enrich: Normalizes AI output and merges with article metadata. Quality Gates: Directs items to “publish/review” or “archive.” Content Generation: Produces an X thread and a LinkedIn post with clear hooks and insights. Publishing: Uploads to X, Threads, and LinkedIn via Upload-Post (optional). Sheets Logging: Writes summaries, scores, and outputs to Google Sheets. Setup OpenAI API: Add your OpenAI credentials (models like gpt-4.1/gpt-4o). Upload-Post Credentials: Connect the Upload-Post integration and target pages (e.g., LinkedIn org ID). Google Sheets: Add OAuth credentials and point “Store Content”/“New for Review”/“Archive” to your sheets. RSS Feed URL: Replace the sample feed with your preferred sources. Thresholds & Routing: Adjust quality/relevance filters to your standards. Publishing Mode: Toggle platforms (X, Threads, LinkedIn) and decide auto vs. review-first. Requirements Accounts:** n8n, OpenAI, Upload-Post, Google account (Sheets). API Keys:** OpenAI token, Upload-Post credentials, Google Sheets OAuth. Feeds:** One or more RSS URLs for your niche. Features AI Triage:** Quality/relevance scoring to prioritize high-value stories. Platform-Native Output:** Hooked X threads and professional LinkedIn posts. Review or Auto-Publish:** Safe gating before posting live. Analytics-Ready Logs:** Structured entries in Google Sheets. Modular & Extensible:** Swap feeds, add Slack/Discord alerts, or plug into CMS/Notion. Stay top-of-mind: convert fresh news into compelling, on-brand social content—automatically.