by Suleman Hasib
Template Overview This template is designed for individuals and businesses who want to maintain a consistent presence on the Fediverse while also posting on Threads or managing multiple Fediverse profiles. By automating the process of resharing statuses or posts, this workflow saves time and ensures regular engagement across accounts. Use Case The template addresses the challenge of managing activity across Fediverse accounts by automatically boosting or resharing posts from a specific account to your own. It is especially helpful for users who want to consolidate engagement without manually reposting content across multiple platforms or profiles. How It Works The workflow runs on a scheduled trigger and retrieves recent posts from a specified Fediverse account, such as your Threads.net account. It uses a JavaScript filter to identify posts from the current day and then automatically boosts or reshares them to your selected Mastodon profile. Preconditions You need a Mastodon account with developer access. Identify a Threads.net or other Fediverse account which you want to boost. Basic familiarity with APIs and setting up credentials in n8n. Setup Steps Step 1: Create a Developer Application on Mastodon Log in to your Mastodon account and navigate to Preferences > Development > New Application. Fill out the required information and create your application. Set Scopes to atleast read, profile, write:statuses. Click Submit. Note down the access token generated for this application. Step 2: Get the Account ID Use the following command to retrieve the account ID for the profile you want to boost: curl -s "https://mastodon.social/api/v1/accounts/lookup?acct=<ACCOUNTNAME>" Alternatively, paste the URL into a GET node on n8n. From the returned JSON, copy the "id" field value (e.g., {"id":"110564198672505618", ...}). Step 3: Update the "Get Statuses" Node Replace <ACCOUNTID> in the URL field with the ID you retrieved in Step 2: https://mastodon.social/api/v1/accounts/<ACCOUNTID>/statuses Step 4: Configure the "Boost Statuses" Node Authentication type will already be set to Header Auth. Grab the access token from Step 1. In the Credential for Header Auth field, create a new credential. Click the pencil icon in the top-left corner to name your credential. In the Name field, enter Authorization. In the Value field, enter Bearer <YOUR_MASTODON_ACCESS_TOKEN>. (Note: there is a space after "Bearer.") Save the credential, and it should automatically be selected as your Header Auth. Step 5: Test the Workflow Run the workflow to ensure everything is set up correctly. Adjust filters or parameters as needed for your specific use case. Customization Guidance Replace mastodon.social with your own Mastodon domain if you're using a self-hosted instance. Adjust the JavaScript filter logic to meet your specific needs (e.g., filtering by hashtags or keywords). For enhanced security, store the access token as an n8n credential. Embedding it directly in the URL is ++not recommended++. Notes This workflow is designed to work with any Mastodon domain. Ensure your Mastodon account has appropriate permissions for boosting posts. By following these steps, you can automate your Fediverse engagement and focus on creating meaningful content while the workflow handles the rest!
by Wildan Adli
This workflow acts as an autonomous Chief Solution Officer, automating the process of deep market research. Instead of simply tracking video views, it scrapes deep into YouTube data—including descriptions and top 20 comments—to identify the real "Decision Confusion" and "Operational Pain Points" of your target audience. By analyzing what competitors are missing and what their audience is actually complaining about, it generates five data-backed, strategic content ideas that focus on high-level business logic rather than generic advice. Use cases are many: Competitor Gap Analysis:** Identify specific topics your niche is ignoring but the audience is begging for. Content Strategy Automation:** Shift your output from basic tutorials to "System-Thinking" content that attracts decision-makers. Market Voice Extraction:** Capture the literal "voice of the customer" from thousands of comments without manual reading. Good to know Strategic Persona:** The AI Agent uses a "Sage + Ruler" archetype to ensure professional, objective, and high-value output. Deep Scraping:** Powered by Firecrawl, it bypasses basic metadata to read actual audience sentiment in the comments section. Sentence Case:** All outputs and headers follow n8n’s preferred capitalization standards. How it works Targeting: You define your niche or search keyword in the initial configuration node. Data Extraction: Firecrawl searches YouTube and scrapes the most relevant video details and comment threads. AI Logic: The OpenAI node analyzes the "Audience Voice" to find patterns of frustration and unmet needs. Strategizing: It converts these insights into 5 actionable content briefs with unique strategic angles. Storage: All insights and content ideas are automatically organized and saved into your Notion workspace. Setup steps Firecrawl: Get your API Key from firecrawl.dev and add it to the Header Auth in the HTTP nodes. OpenAI: Connect your OpenAI credentials (GPT-4o recommended for best results). Notion: Connect your Notion account and prepare two databases for "Insights" and "Ideas." Configuration: Enter your target keyword in the 'Set Niche' node and run the workflow. Requirements Firecrawl API Key OpenAI API Key Notion Integration
by Garri
Description This workflow is designed to automate the security reputation check of domains and IP addresses using multiple APIs such as VirusTotal, AbuseIPDB, and Google DNS. It assesses potential threats including malicious and suspicious scores, as well as email security configurations (SPF, DKIM, DMARC). The analysis results are processed by AI to produce a concise assessment, then automatically updated into Google Sheets for documentation and follow-up. How It Works Automatic Trigger – The workflow runs periodically via a Schedule Trigger. Data Retrieval – Fetches a list of domains from Google Sheets with status "To do". Domain Analysis – Uses VirusTotal API to get the domain report, perform a rescan, and check IP resolutions. IP Analysis – Checks IP reputation using AbuseIPDB. Email Security Validation – Verifies SPF, DKIM, and DMARC configurations via Google DNS. AI Assessment – Analysis data is processed by AI to produce a short summary in Indonesian. Data Update – The results are automatically updated to Google Sheets, changing the status to "Done" or adding notes if potential threats are found. How to Setup Prepare API Keys Sign up and obtain API keys from VirusTotal and AbuseIPDB. Set up access to Google Sheets API. Configure Credentials in n8n Add VirusTotal API, AbuseIPDB API, and Google Sheets OAuth credentials in n8n. Prepare Google Sheets Create a sheet with columns No, Domain, Customer, Keterangan, Status. Ensure initial data has the status "To do". Import Workflow Upload the workflow JSON file into n8n. Set Schedule Trigger Define the checking interval as needed (e.g., every 1 hour). Test Run Run the workflow manually to ensure all API connections and Google Sheets output work properly.
by Satyam Tripathi
Try It Out! This n8n template demonstrates how to build an autonomous AI news agent using Decodo MCP that automatically finds, scrapes, and delivers fresh industry news to your team via Slack. Use cases are many – automated news monitoring for your industry, competitive intelligence gathering, startup monitoring, regulatory updates, research automation, or daily briefings for your organization. How it works Define your news topics using the Set node – AI, MCP, web scraping, whatever matters to your business. The AI Agent processes those topics using the Gemini Chat Model, determining which tools to use and when. Here's where it gets interesting: Decodo MCP gives your AI agent the tools to search Google, scrape websites, and parse content automatically – all while bypassing geo-restrictions and anti-bot measures. The agent hunts for fresh articles from the last 48 hours, extracts clean data, and returns structured JSON results. Format Results cleans up the AI's messy output and removes duplicates. Your polished news digest gets delivered to Slack with clickable links and summaries. How to use Schedule trigger runs daily at 9 AM – adjust timing or swap for webhook triggers as needed. Customize topics in the Set node to match your industry. Scales effortlessly: add more topics, tweak search criteria, done. Requirements Decodo MCP credentials (free trial available) – grab the Smithery connection URL with keys and paste it straight into your n8n MCP node. Done. Gemini API key for the AI processing – drop it into the Google Gemini Chat Model node and pick whichever Gemini model fits your needs. Slack workspace for delivery – n8n's Slack integration docs have you covered. What the final output looks like Here's what your team receives in Slack every morning: Need help? Join the Discord or email support@decodo.com for questions. Happy Automating!
by Evervise
Transform database design from weeks to minutes with this intelligent multi-agent system. Perfect for agencies, consultancies, and SaaS companies offering database architecture as a lead magnet or service. 🤖 4 Specialized AI Agents: Agent 1 (Architect):** Designs complete schema with tables, relationships, indexes Agent 2 (Reviewer):** Validates design for performance, security, scalability Agent 3 (Optimizer):** Adds advanced features and scores the design (0-100) Agent 4 (SQL Generator):** Creates production-ready migration scripts 🔄 Smart Quality Loop: Automatically retries up to 3 times if score falls below B grade, feeding previous feedback to improve the design iteratively. ✨ What You Get: Complete database schema (JSON) Comprehensive score card with letter grade Review feedback with severity levels (Critical/High/Medium/Low) Production-ready SQL migration script Optional auto-execution in PostgreSQL/MySQL Iteration count and optimization recommendations 💼 Perfect For: Digital agencies offering database design services SaaS companies needing rapid prototyping Consultancies creating lead magnets Developers modernizing legacy systems Startups validating data models 🎯 Use as Lead Magnet: Offer free database blueprints to capture leads, then upsell implementation, custom automations, and ongoing optimization services. ⚙️ Technical Highlights: Optimized temperature settings per agent (0.1-0.5) Claude Sonnet 4.5 for maximum quality Structured JSON output for easy integration Error handling and graceful degradation Execution time: 60-90 seconds average Cost: ~$0.15-0.30 per run Use Cases Agency Lead Magnet Capture leads by offering free database architecture reviews and blueprints Rapid Prototyping Quickly generate database schemas for MVP development and validation Legacy System Modernization Help companies redesign outdated database structures with modern best practices Technical Consulting Provide instant database assessments and recommendations to clients Educational Tool Teach database design principles through AI-generated examples and feedback Pre-Sales Tool Demonstrate technical expertise to prospects before engagement Key Features ✅ Multi-agent AI collaboration with specialized roles ✅ Automatic quality control and iterative improvement (max 3 retries) ✅ Support for PostgreSQL, MySQL, MSSQL, MariaDB ✅ Production-ready SQL script generation ✅ Comprehensive scoring system (Schema/Performance/Scalability/Security) ✅ Optional automatic SQL execution ✅ Detailed feedback with actionable recommendations ✅ Customizable form fields for different industries ✅ Error handling and graceful failures ✅ Complete audit trail of all agent decisions Setup Instructions PREREQUISITES: Anthropic API key (Claude Sonnet 4.5 access) PostgreSQL/MySQL database (optional, for auto-execution) n8n version 1.0+ with LangChain nodes CONFIGURATION STEPS: Import the workflow JSON into your n8n instance Configure Anthropic API credentials: Add your Anthropic API key in n8n credentials Connect all 4 AI model nodes to your credential (Optional) Configure database connection: In "Execute SQL in PostgreSQL" node, add your database credentials Use a TEST/SANDBOX database, never production Or disable this node if you prefer manual execution Customize the form (optional): Edit form fields in "On form submission" node Add industry-specific questions Adjust required fields based on your needs Test the workflow: Use the form URL to submit a test request Check execution time and quality Verify all agents are responding correctly Customize agent prompts (optional): Adjust system messages for industry-specific requirements Modify scoring criteria in Agent 3 Add custom validation rules in Agent 2 Deploy: Share the form URL as your lead magnet Embed in website or landing pages Set up email notifications for submissions COST CONSIDERATIONS: Each execution costs ~$0.15-0.30 in API calls Failed attempts (retries) increase cost Consider rate limiting for public forms Requirements REQUIRED: Anthropic API Key (Claude access) n8n version 1.0+ LangChain nodes enabled OPTIONAL: PostgreSQL/MySQL database connection (for auto-execution) Email service (for result delivery) CRM integration (for lead capture) Tags #ai-agents #database-design #postgresql #mysql #lead-generation #automation #langchain #claude #schema-design #multi-agent #consulting-tool #saas-tool #development #code-generation #sql-generator 📖 Website: https://evervise.ai/ ✨ Support: mark.marin@evervise.com N8N Link
by Cheng Siong Chin
Intelligent workforce analytics and talent strategy report automation How It Works This workflow automates end-to-end workforce analytics and board-level talent strategy reporting using a multi-agent AI orchestration system. Designed for HR leaders, people analytics teams, and CHROs, it eliminates manual effort in compiling workforce insights and translating them into executive-ready reports. The pipeline begins with a scheduled trigger that loads employee datasets and aggregates HR records. It then builds a skill similarity index and prepares a structured analytics dataset. A Main Orchestrator Agent coordinates two specialised sub-agents: a Workforce Analytics Agent (using SHAP value analysis and statistical tools) and a Talent Strategy Agent (leveraging skill similarity search). Results are parsed into a Board Report JSON schema, stored in a report repository, and optionally delivered via webhook. The system enables data-driven talent decisions at scale. Setup Steps Add OpenAI or compatible LLM credentials for all Chat Model nodes. Configure employee dataset source (e.g., Google Sheets, database, or CSV node). Set the Schedule Trigger interval (daily/weekly) to match reporting cadence. Update the Prepare Report Storage node with your target storage path or bucket. Configure Optional Report Delivery webhook URL or email endpoint if needed. Verify the Board Report JSON Schema matches your organisation's reporting fields. Prerequisites OpenAI or compatible LLM API credentials Employee dataset (CSV, Google Sheets, or DB) Webhook endpoint or email (optional delivery) Use Cases Automated monthly board talent reports for CHROs Customisation Swap LLM models per agent for cost/performance balance Benefits Eliminates manual HR reporting effort
by Jasurbek
Overview Automatically anonymize CVs/resumes while preserving professional information. Perfect for recruitment agencies ensuring GDPR compliance and bias-free hiring. Features Supports multiple file formats (PDF, DOCX, etc.) Multi-language support (preserves original language) Removes PII: names, emails, phones, addresses Preserves: skills, experience, dates, achievements Outputs professionally formatted PDF Requirements OpenAI API key (GPT-4 recommended) Stirling PDF service (self-hosted or cloud) n8n version 1.0+ Setup Instructions Configure OpenAI credentials Set up Stirling PDF API endpoint Update API key in HTTP Request nodes Activate workflow Test with sample CV Usage POST to webhook endpoint with CV file as UploadCV field. Use Cases Recruitment agencies (GDPR compliance) HR departments (bias-free screening) Job boards (candidate privacy)
by explorium
Explorium Agent for Slack AI-powered Slack bot for business intelligence queries using Explorium API through MCP. Prerequisites Slack workspace with admin access Anthropic API key (You can replace with other LLM Chat) Explorium API Key 1. Create Slack App Create App Go to api.slack.com/apps Click Create New App → From scratch Give it name (e.g., "Explorium Agent") and select workspace Bot Permissions (OAuth & Permissions) Add these Bot Token Scopes: app_mentions:read channels:history channels:read chat:write emoji:read groups:history groups:read im:history im:read mpim:history mpim:read reactions:read users:read Enable Events Event Subscriptions → Enable Add Request URL (from n8n Slack Trigger node) Subscribe to bot events: app_mention message.channels message.groups message.im message.mpim reaction_added Install App Install App → Install to Workspace Copy Bot User OAuth Token (xoxb-...) 2. Configure n8n Import & Setup Import this JSON template Slack Trigger node: Add Slack credential with Bot Token Copy webhook URL Paste in Slack Event Subscriptions Request URL Anthropic Chat Model node: Add Anthropic API credential Model: claude-haiku-4-5-20251001 (You can replace it with other chat models) MCP Client node: Endpoint: https://mcp.explorium.ai/mcp Header Auth: Add Explorium API key Usage Examples @ExploriumAgent find tech companies in SF with 50-200 employees @ExploriumAgent show Microsoft's technology stack @ExploriumAgent get CMO contacts at healthcare companies `
by Swot.AI
Description This workflow lets you upload a PDF document and automatically analyze it with AI. It extracts the text, summarizes the content, flags key clauses or risks, and then delivers the results via Gmail while also storing them in Google Sheets for tracking. It’s designed for legal, compliance, or contract review use cases, but can be adapted for any document analysis scenario. Test it here: PDF Document Assistant 🔹 Instructions / Setup Webhook Input Upload a PDF document by sending it to the webhook URL. Extract from File The workflow extracts text from the uploaded PDF. Pre-processing (Code Node) Cleans and formats extracted text to remove unwanted line breaks or artifacts. Basic LLM Chain (OpenAI) Summarizes or restructures document content using OpenAI. Adjust the prompt inside to fit your analysis needs (summary, risk flags, clause extraction). Post-processing (Code Node) Further structures the AI output into a clean format (JSON, HTML, or plain text). AI Agent (OpenAI) Runs deeper analysis, answers questions, and extracts insights. Gmail Sends the results to a recipient. Configure Gmail credentials and set your recipient address. Google Sheets Appends results to a Google Sheet for record-keeping or audits. Respond to Webhook Sends a quick acknowledgment back to confirm the document was received. 🔹 Credentials Needed OpenAI API key (for Chat Model + Agent) Gmail account (OAuth2) Google Sheets account (OAuth2) 🔹 Example Use Case Upload a contract PDF → workflow extracts clauses → AI flags risky terms → Gmail sends formatted summary → results stored in Google Sheets.
by Feras Dabour
AI LinkedIn Content Bot with Approval Loop This n8n workflow transforms your Telegram messenger into a personal assistant for creating and publishing LinkedIn posts. You can simply send an idea as a text or voice message, collaboratively edit the AI's suggestion in a chat, and then publish the finished post directly to LinkedIn just by saying "Okay." What You'll Need to Get Started Before you can use this workflow, you'll need a few prerequisites set up. This workflow connects three different services, so you will need API credentials for each: Telegram Bot API Key: You can get this by talking to the "BotFather" on Telegram. It will guide you through creating your new bot and provide you with the API token. New Chat with Telegram BotFather OpenAI API Key: This is required for the "Speech to Text" and "AI Agent" nodes. You'll need an account with OpenAI to generate this key. [OpenAI API Platform](https://platform.openai.com ) Blotato API Key: This service is used to publish the final post to LinkedIn. You'll need a Blotato account and to connect your LinkedIn profile there to get the key. [Blotato platform for social media publishing] Once you have these keys, you can add them to the corresponding credentials in your n8n instance. How the Workflow Operates, Step-by-Step Here is a detailed breakdown of how the workflow processes your request and handles the publishing. 1\. Input & Initial Processing This phase captures your idea and converts it into usable text. | Node Name | Role in Workflow | | :--- | :--- | | Start: Telegram Message | This Telegram Trigger node initiates the entire process upon receiving any message from you in the bot. | | Prepare Input | Consolidates the message content, ensuring the AI receives only one clean text input. | | Check: ist it a Voice? | Checks the incoming message for text. If text is empty, it proceeds to voice handling. | | Get Voice File | If a voice note is detected, this node downloads the raw audio file from Telegram. | | Speech to Text | This node uses the OpenAI Whisper API to convert the downloaded audio file into a text string. | 2\. AI Core & Iteration Loop This is the central dialogue system where the AI drafts the content and engages in the feedback loop. | Node Name | Role in Workflow | | :--- | :--- | | AI: Draft & Revise Post | The main logic agent. It analyzes your request, applies the "System Prompt" rules, drafts the post, and handles revisions based on your feedback. | | OpenAI Chat Model | Defines the large language model (LLM) used for generating and revising the post. | | Window Buffer Memory | A memory buffer that stores the last turns of the conversation, allowing the AI to maintain context when you request changes (e.g., "Make it shorter"). | | Check if Approved | This crucial node detects the specific JSON structure the AI outputs only when you provide an approval keyword (like "ok" or "approved"). | | Post Suggestion Or Ask For Approval | Sends the AI's post draft back to your Telegram chat for review and feedback. | AI Agent System Prompt (Internal Instructions - English) The agent operates under a strict prompt that dictates its behavior and formatting (found within the AI: Draft & Revise Post node): > You are a LinkedIn Content Creator Agent for Telegram. > Keep the confirmation process, but change the output format as follows: > > Your Task > Analyze the user's message: > > * Topic > * Goal (e.g., reach, show expertise, recruiting, personal branding, leads) > * Target Audience > * Tonality (e.g., factual, personal, bold, inspiring) > > Create a LinkedIn post as ONE continuous text: > > * Strong hook in the first 1–2 lines. > * Clear main part with added value, story, example, or insight. > * Optional Call-to-Action (e.g., question to the community, invitation to exchange). > * Integrate hashtags at the end of the post (5–12 suitable hashtags, mix of niche + somewhat broader). > * Readable on LinkedIn: short paragraphs, emojis only sparingly. > > Present the suggestion to the user in the following format: > > Headline: Post Proposal: > Below that, the complete LinkedIn post (incl. hashtags at the end in the same text). > > Ask for feedback: > For example: > "Any changes? (Tone, length, formality, personal vs. professional, more technical content, different hashtags?)" > > If the user requests changes: > Adjust the post specifically based on the feedback. > Again, output only: > Post Proposal: > the revised complete post. > > If the user says “approved”, “ok”, “sounds good”, or similar: > Return exclusively this JSON, without additional text, without Markdown: > > > { > "Post": "The final LinkedIn post as one text, including hashtags at the end" > } > > > Important: > > * Never output JSON before approval, only normal suggestion text. > * The final output after approval consists of only one field: Post. 3\. Publishing & Status Check Once approved, the workflow handles the publication and monitors the post's status in real-time. | Node Name | Role in Workflow | | :--- | :--- | | Approval: Extract Final Post Text | Parses the incoming JSON, extracting only the clean text ready for publishing. | | Create post with Blotato | Uses the Blotato API to upload the finalized content to your connected LinkedIn account. | | Give Blotat 5s :) | A brief pause to allow the publishing service to start processing the request. | | Check post status | Checks back with Blotato to determine if the post is published, in progress, or failed. | | Published? | Checks if the status is "published" to send the success message. | | In Progress? | Checks if the post is still being processed. If so, it loops back to the next wait period. | | Give Blotat other 5s :) | Pauses the workflow before re-checking the post status, preventing unnecessary API calls. | 4\. Final Notification | Node Name | Role in Workflow | | :--- | :--- | | Send a confirmation message | Sends a confirmation message and the direct link to the published LinkedIn post. | | Send an error message | Sends a notification if the post failed to upload or encountered an error during processing. | 🛠️ Personalizing Your Content Bot The true power of this n8n workflow lies in its flexibility. You can easily modify key components to match your unique brand voice and technical preferences. 1\. Tweak the Content Creator Prompt The personality, tone, and formatting rules for your LinkedIn content are all defined in the System Prompt. Where to find it: Inside the AI: Draft & Revise Post node, under the System Message setting. What to personalize: Adjust the tone, change the formatting rules (e.g., number of hashtags, required emojis), or insert specific details about your industry or target audience. 2\. Switch the AI Model or Provider You can easily swap the language model used for generation. Where to find it: The OpenAI Chat Model node. What to personalize: Model: Swap out the default model for a more powerful or faster alternative (e.g., gpt-4 family, or models from other providers if you change the node). Provider: You can replace the entire Langchain block (including the AI Model and Window Buffer Memory nodes) with an equivalent block using a different provider's Chat/LLM node (e.g., Anthropic, Cohere, or Google Gemini), provided you set up the corresponding credentials and context flow. 3\. Modify Publishing Behavior (Schedule vs. Post) The final step is currently set to publish immediately, but you might prefer to schedule posts. Where to find it: The Create post with Blotato node. What to personalize: Consult the Blotato documentation for alternative operations. Instead of choosing the "Create Post" operation (which often posts immediately), you can typically select a "Schedule Post" or "Add to Queue" operation within the Blotato node. If scheduling, you will need to add a step (e.g., a Set node or another agent prompt) before publishing to calculate and pass a Scheduled Time parameter to the Blotato node.
by Oneclick AI Squad
This is an advanced n8n workflow for transforming product concepts into 3D showcase videos with AI packaging design and auto-rotation rendering. Workflow Features: 🎯 Core Capabilities: AI Product Concept Generation - Uses Claude Sonnet 4 to analyze product prompts and generate comprehensive 3D specifications Automated Packaging Design - DALL-E 3 generates professional packaging visuals Texture Map Generation - Creates PBR-ready texture maps for realistic materials 3D Scene Script Generation - Produces complete Blender Python scripts with: Product geometry based on shape Professional 3-point lighting (key, fill, rim) 360° rotation animation (8 seconds) Camera setup and render settings Preview Rendering - Generates photorealistic 3D preview images Video Processing - Handles encoding and upload to video hosting services Database Storage - Saves all showcase data for tracking Status Monitoring - Checks render progress with automatic retry logic 📋 Required Setup: API Credentials needed: Anthropic API (for Claude AI) OpenAI API (for DALL-E image generation) Replicate API (optional for additional rendering) Video hosting service (Cloudflare Stream or similar) PostgreSQL database 🔧 How to Use: Import the JSON - Copy the artifact content and import directly into n8n Configure Credentials - Add your API keys in n8n credentials manager Activate Workflow - Enable the webhook trigger Send Request to webhook endpoint: POST /product-showcase { "productPrompt": "A premium organic energy drink in a sleek aluminum can with nature-inspired graphics" } 📤 Output Includes: Product specifications (dimensions, materials, colors) Packaging design image URL Texture map URLs Downloadable Blender script 3D preview render Video showcase URL Rendering metadata
by Nikan Noorafkan
📊 Google Ads + OpenAI + Sheets — Monthly AI Performance Analysis Automate monthly ad performance insights with AI-powered recommendations 🧩 Overview This workflow automatically analyzes Google Ads performance every month, using the Google Ads API and OpenAI (GPT-4o) to uncover which ad themes, categories, and messages perform best. It then generates a structured AI report, saves it to Google Sheets, and sends a Slack summary to your marketing team. 💡 Perfect for digital marketers, agencies, and growth analysts who want automated campaign insights without manually crunching numbers. ⚙️ Features ✅ Automatically runs on the 1st of each month ✅ Fetches last 30 days of ad performance via Google Ads API (GAQL) ✅ Uses GPT-4o for natural-language insights & improvement ideas ✅ Groups ads by category and theme (e.g., “Free Shipping,” “Premium”) ✅ Generates a clean, formatted markdown report ✅ Archives reports in Google Sheets for trend tracking ✅ Notifies your Slack channel with AI-driven recommendations 🧠 Architecture | Component | Purpose | | ------------------- | ------------------------------------------------ | | n8n | Workflow engine | | Google Ads API | Source of ad performance data | | OpenAI (GPT-4o) | Analyzes CTR patterns and writes recommendations | | Google Sheets | Report archiving and history tracking | | Slack | Team notifications | 🧭 Workflow Logic (Summary) Monthly Trigger (1st of Month) ⬇️ 1️⃣ Get Performance Data (Google Ads API) Fetches 30-day CTR, clicks, impressions for all responsive search ads. ⬇️ 2️⃣ Prepare Performance Data Groups data by ad group and theme keywords, builds an AI prompt. ⬇️ 3️⃣ AI Agent (LangChain) + GPT-4o Analyzes patterns and generates actionable insights. ⬇️ 4️⃣ Generate Report (Code) Formats a Markdown report with AI recommendations and KPIs. ⬇️ 5️⃣ Save to Google Sheets Archives results for long-term analytics. ⬇️ 6️⃣ Send Report to Slack Delivers the summary directly to your marketing channel. 🔑 Environment Variables | Variable | Example | Description | | ------------------------ | ----------------------------- | ------------------------------ | | GOOGLE_ADS_CUSTOMER_ID | 123-456-7890 | Google Ads customer account ID | | GOOGLE_ADS_API_VERSION | v17 | Current Ads API version | | GOOGLE_SHEET_ID | 1xA1B2c3D4EFgH... | Target spreadsheet ID | | OPENAI_API_KEY | sk-xxxxx | OpenAI API key for GPT-4o | | SLACK_WEBHOOK_URL | https://hooks.slack.com/... | Slack incoming webhook | 🔐 Credential Setup | Service | Type | Required Scopes | | ----------------- | ----------------------------- | ---------------------------------------------- | | Google Ads | OAuth2 (googleAdsOAuth2Api) | https://www.googleapis.com/auth/adwords | | OpenAI | API key (openAiApi) | Full access | | Google Sheets | OAuth2 | https://www.googleapis.com/auth/spreadsheets | | Slack | Webhook | chat:write | 🧱 Node-by-Node Breakdown | Node | Purpose | Key Configuration | | ---------------------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | Monthly Trigger | Starts workflow on 1st of every month | Cron: 0 0 1 * * | | Get Performance Data | Queries Ads data | Endpoint: https://googleads.googleapis.com/v17/customers/{id}/googleAds:searchQuery: GAQL (CTR, clicks, impressions, last 30 days) | | Prepare Performance Data | Aggregates and builds AI prompt | Groups by ad group and theme, computes CTRs | | AI Agent – Analyze Performance | Passes formatted data to GPT-4o | System message: “You are a Google Ads performance analyst…” | | OpenAI Chat Model (GPT-4o) | Analytical reasoning engine | Model: gpt-4o, Temperature 0.2 | | Generate Report | Parses AI output, formats Markdown report | Adds recommendations + next steps | | Save Report to Sheets | Archives report | Sheet name: Performance Reports | | Send Report (Slack) | Sends summary | Uses report_markdown variable | 🧠 AI Report Example 30-Day Performance Analysis Report Executive Summary Analyzed: 940 ads Period: Last 30 days Top Performing Categories Running Shoes: 9.4% CTR (120 ads) Fitness Apparel: 8.2% CTR (90 ads) Top Performing Themes "Free Shipping" messaging: 9.8% CTR (58 ads) "Premium" messaging: 8.5% CTR (44 ads) AI-Powered Recommendations [HIGH] Emphasize “Free Shipping” across more ad groups. Expected Impact: +5 % CTR [MEDIUM] Test “Premium Quality” vs. “New Arrivals.” Expected Impact: +3 % CTR Next Steps Implement new ad variations A/B test messaging Re-analyze next month 🧩 Testing Procedure 1️⃣ Temporarily disable the cron trigger. 2️⃣ Run the workflow manually. 3️⃣ Confirm: Google Ads node returns JSON with results. AI Agent output is valid JSON. Report is written to Sheets. Slack message received. 4️⃣ Re-enable the monthly trigger once verified. 🧾 Output in Google Sheets | Date | Ads Analyzed | Top Category | Top Theme | Key Recommendations | Generated At | | ---------- | ------------ | ------------- | ------------- | ---------------------------------- | ----------------- | | 2025-10-01 | 940 | Running Shoes | Free Shipping | “Add Free Shipping copy to 10 ads” | 2025-10-01T00:05Z | 🪜 Maintenance | Frequency | Task | | --------- | ----------------------------------------- | | Monthly | Review AI accuracy and update themes list | | Quarterly | Refresh Google Ads API credentials | | As needed | Update GAQL fields for new metrics | ⚙️ API Verification Endpoint: POST https://googleads.googleapis.com/v17/customers/{customer_id}/googleAds:search Scopes: https://www.googleapis.com/auth/adwords GAQL Query: SELECT ad_group_ad.ad.id, ad_group_ad.ad.responsive_search_ad.headlines, ad_group.name, metrics.impressions, metrics.clicks, metrics.ctr FROM ad_group_ad WHERE segments.date DURING LAST_30_DAYS AND metrics.impressions > 100 ORDER BY metrics.clicks DESC LIMIT 1000 ✅ Fully valid query — verified for GAQL syntax, fields, and resource joins. ✅ OAuth2 flow handled by n8n’s googleAdsOAuth2Api. ✅ Optional: add "timeout": 60000 for large accounts. 📈 Metrics of Success | KPI | Target | | -------------------------- | ---------------- | | Report accuracy | ≥ 95 % | | Monthly automation success | ≥ 99 % | | CTR improvement tracking | +3–5 % over time | 🔗 References Google Ads API Docs LangChain in n8n OpenAI API Reference Google Sheets API Slack Incoming Webhooks 🎯 Conclusion You now have a fully automated Google Ads performance analysis workflow powered by: Google Ads API** for granular metrics OpenAI GPT-4o** for intelligent recommendations Google Sheets** for archiving Slack** for team-wide updates 💡 Result: A recurring, data-driven optimization loop that improves ad performance every month — with zero manual effort.