by Samir Saci
Tags: ESL, English Learning, Podcasts, RSS, AI Exercises, ElevenLabs Context Hi! I’m Samir, Supply Chain Engineer and Data Scientist based in Paris, and founder of the startup LogiGreen. I created this workflow for my mother, who is currently learning English, to turn the BBC 6 Minute English podcast into ready-to-use English lessons. The lesson includes vocabulary, exercises and discussion questions along with links to access the podcast content (audio and transcript). > Use this assistant to automatically share English lessons from a renowned podcast. 📬 For business inquiries, you can find me on LinkedIn Who is this template for? This template is designed for: ESL teachers** who want a fresh, structured lesson every week from real-life audio Independent learners** who want a guided way to study English with podcasts Language schools or content creators** who send regular English lessons by email What does this workflow do? This workflow acts as an AI-powered English lesson generator from podcast episodes. Runs every Sunday at 20:00 using a Schedule Trigger and reads the BBC 6 Minute English RSS feed Checks a Data Table of archived episodes and filters out those already sent (using their guid) Keeps the latest unsent episode and loads its web page content via HTTP Parses the HTML in a Code node to extract the episode description, full transcript and BBC vocabulary list Calls three AI nodes (OpenAI) to generate: a motivational email hook message fill-in-the-blank vocabulary exercises discussion questions related to the topic Combines all vocabulary words and sends them to ElevenLabs to generate a slow-paced audio track for listening practice Builds a prettify HTML email that includes: title, description, hook, vocabulary list, exercises, discussion questions and resource links Sends the final lesson by email via the Gmail node, with the vocabulary audio attached For example, this is the latest email generated by the workflow: P.S.: You can customise the footer to your school or company identity. 🎥 Tutorial I advise you to check the tutorial on my YouTube channel for the details on how to set up the nodes and customise the content: Next Steps Follow the stickers to set up all the nodes: Replace the Data Table reference with your own (storing at least guid, title, link, processed_date) Set up your OpenAI credentials in the three Model nodes Set up your ElevenLabs credentials and choose a voice in the audio node Configure your Gmail credentials and recipient email address in the Send Email node Adapt the RSS feed URL if you want to track another podcast or source Customise the HTML email (colours, logo, footer text) in the Prepare Email Code node Adjust the schedule (time or frequency) if you prefer another cadence Submitted: 18 November 2025 Template designed with n8n version 1.116.2
by WeblineIndia
Monthly Energy Generation Report (PostgreSQL → PDF → Email) This workflow automatically collects monthly energy generation data from a PostgreSQL database, converts it into a structured PDF report and emails it to stakeholders. It eliminates manual report creation and ensures timely delivery of performance summaries. Who’s it for Energy companies monitoring solar, wind or hydro generation Operations & maintenance (O\&M) teams needing monthly summaries Managers and executives who require periodic performance reports Data analysts who want automated reporting instead of manual exports How it works Monthly Trigger → Schedules the workflow to run once a month. Postgres Node → Fetches energy data from the energy_data table. Code Node (Transform Data) → Structures the raw records into JSON with metadata (date_range, records, note). HTTP Request (PDF.co API) → Converts structured data into a formatted PDF report. Gmail Node (Send Report) → Sends the PDF report (or link) via email to the configured recipient. How to set up Import the workflow JSON into n8n. Configure credentials: PostgreSQL connection (DB host, user, password, database, schema). Gmail OAuth2 credentials. PDF.co API key (for HTML → PDF conversion). Update: Database table (energy_data). Email recipients in the Gmail node. PDF template (if custom formatting is required). Activate workflow. Requirements n8n (self-hosted or cloud) PostgreSQL database with energy generation data PDF.co API account with valid API key Gmail account with OAuth2 access Internet access for API calls How to customize Change the SQL query in the Postgres node to filter specific plants or date ranges. Update the Code node to add extra fields (e.g., average power, anomalies). Modify the PDF.co request body to use a custom HTML template for branding. Replace Gmail with Outlook, SMTP, or Slack for distribution. Add-ons Add Slack/Teams node to notify teams when reports are sent. Store PDFs in Google Drive or S3 for archival. Add a dashboard (e.g., Grafana or Superset) that references the same DB for real-time view. Integrate with Jira to auto-create tasks for underperformance alerts. Use Case Examples Solar company emailing monthly reports to plant owners. Wind farm operator generating regulatory compliance reports. O&M teams automating KPI summaries for executives. Consulting firms monitoring multiple clients’ energy production. Common Troubleshooting | Issue | Possible Cause | Solution | | ------------------------------ | -------------------------------------- | ------------------------------------------------------- | | Workflow does not trigger | Cron not set correctly | Verify Schedule Trigger node interval is monthly | | No data returned from Postgres | Wrong schema/table or DB creds | Check DB connection and table name | | PDF not generated | Invalid/missing PDF.co API key | Generate a new key in PDF.co dashboard | | Email not sent | Gmail OAuth expired or wrong recipient | Reconnect Gmail credentials and confirm recipient email | | PDF output malformed | Incorrect JSON → HTML conversion | Check Code node formatting and PDF.co request body | Need Help? Our n8n workflow automation experts at WeblineIndia can help you: Set up the PostgreSQL connection securely, Customize the PDF layout with your company branding, Add more delivery channels (Slack, Teams, S3), Extend reporting logic (KPIs, charts, anomaly detection), And so much more.
by n8nwizard
📌 Overview This advanced multi-phase n8n workflow automates the complete research, analysis, and ideation pipeline for a YouTube strategist. It scrapes competitor channels, analyzes top-performing titles and thumbnails, identifies niche trends, gathers audience sentiment from comments, and produces data-driven content ideas—automatically writing them into a structured Google Sheets dashboard. This system is ideal for: YouTube creators Agencies Content strategists Automation engineers Anyone who wants to generate YouTube content ideas backed by real data 🧠 High‑Level Architecture The workflow is split into 5 phases, each building on the previous: Phase 1 — Niche Outliers (Input: User Form) Scrapes 3 high‑quality channels from your niche, extracts their outlier videos, and analyzes why they work. Phase 2 — Broad Niche Insights (Weekly) Scrapes the top trending content in your broad niche (e.g., "AI", "fitness", "personal finance") and logs weekly insights. Phase 3 — Niche Insights (Daily) Scrapes the top videos in your specific micro‑niche daily to keep track of content momentum. Phase 4 — Comment Analysis Analyzes real comments from your channel to understand what your audience likes, dislikes, and wants more of. Phase 5 — Content Ideation Generates 3 highly‑optimized title + thumbnail concepts using all prior insights. Everything is automatically logged into a Google Sheets dashboard. 🧩 Phase-by-Phase Breakdown ⭐ Phase 1 — Niche Outliers (Form Trigger) User enters 3 YouTube channel URLs in a form. Workflow scrapes each channel using Apify YouTube Scraper. Filters for top-performing videos. Extracts: title, views, likes, thumbnail, URL. AI analyzes: Power words in titles (OpenRouter/GPT 4.1-mini) Thumbnail attention hooks (OpenAI Vision) All insights are appended into the “Niche Outliers” sheet. Purpose: Understand what the best creators in your niche are doing. 🌐 Phase 2 — Broad Niche Insights (Weekly — Sundays @ 5 AM) Workflow scrapes the top videos for a broad niche (e.g., “artificial intelligence”). Analyzes: Title structure Power words Thumbnail cues Writes weekly insights to “Broad Niche Weekly” sheet. Purpose: Stay informed about macro‑level trends. 🎯 Phase 3 — Niche Insights (Daily @ 6 AM) Scrapes the top videos in your specific micro‑niche (e.g., “n8n automations”). Runs title + thumbnail analysis. Appends daily results to “Niche Daily”. Results feed directly into Phase 5. Purpose: Track daily momentum and trending formats. 💬 Phase 4 — Comment Analysis (Channel Feedback) Scrapes your channel’s latest 5 videos. Extracts up to 30 comments from each. Aggregates comments. AI identifies: What viewers love What viewers dislike What viewers are asking for Stores patterns in “Comment Analysis” sheet. Purpose: Understand real audience demand. 💡 Phase 5 — Content Ideation Using AI Using insights from all previous phases: Top titles Power words Thumbnail patterns Daily niche trends Audience comment analysis Channel positioning The Creative Agent produces: 3 optimized video titles 3 matching thumbnail concepts These are appended to the “Ideation” sheet. A Slack notification is sent when ideation is ready. Purpose: Fully automated content idea generation. 🗂️ Outputs in Google Sheets The workflow populates these tabs: 📌 Niche Outliers (top competitor videos) 📌 Broad Niche Weekly (weekly trend analysis) 📌 Niche Daily (daily trend analysis) 📌 Comment Analysis (audience sentiment) 📌 Ideation (final titles + thumbnails) 🔧 What This Workflow Automates ✔ Competitor analysis ✔ Thumbnail + title breakdowns ✔ Daily niche tracking ✔ Weekly niche tracking ✔ Viewer sentiment analysis ✔ Fully AI‑generated content ideas ✔ Automatic data logging to Google Sheets ✔ Slack notifications This is essentially a 24/7 AI YouTube strategist. ⚙️ Setup Requirements Apify API Key** (used in 5 scraper nodes) OpenRouter API Key** (for GPT 4.1-mini intelligence) OpenAI API Key** (for thumbnail image analysis) Google Sheets OAuth2 Credential** Make a copy of the provided sheet template Fill Set nodes: Phase II: Broad niche (e.g., "AI") Phase III: Micro niche (e.g., "n8n automations") Phase IV: Your Channel URL Phase V: Your Channel Description 🧪 Testing Guide Test the Form Trigger with 3 competitor channel URLs. Test both Schedule Triggers (weekly + daily) manually. Verify Sheets are receiving rows. Run the full pipeline end‑to‑end. Confirm Slack notification. Everything should chain together smoothly. 🎉 Final Result By the end of this workflow, you have a: 🧠 Data‑driven YouTube strategy system that: studies your niche finds outliers understands your audience detects trends generates smart content ideas every day
by Rakin Jakaria
Use cases are many: Manage your Gmail inbox, schedule calendar events, and handle contact details — all from one central AI-powered assistant. Perfect for freelancers managing clients, agency owners who need streamlined communication, or busy professionals who want a personal AI secretary handling their email and calendar. Good to know At time of writing, each Gemini request is billed per token. See Gemini Pricing for the latest info. The workflow requires Gmail, Calendar, Sheets, and Telegram integrations. Ensure you’ve set up OAuth2 credentials correctly before running. How it works Triggers: The workflow listens for **new Gmail messages or Telegram commands. Smart AI Processing**: Incoming emails are summarized, classified (Client, Sponsorship, or Not Business), and labeled automatically. Auto-Replies**: Depending on classification, the assistant sends pre-written replies (e.g., client acknowledgment, sponsorship rates, or polite rejection). Calendar Management**: Through natural language requests in Telegram, you can schedule, update, or delete calendar events with conflict-checking in place. Contact Handling**: If you send an email to someone not yet in your database, the agent will prompt you for their email, add it to Google Sheets, and reuse it for future tasks. Memory**: The AI maintains conversation context, so repeated tasks feel seamless and natural. How to use Send commands via Telegram like: “Schedule a meeting with Sarah on Monday at 3 PM” “Send an email to David about the proposal” Watch as the assistant checks your calendar, sends emails, and keeps your contacts updated — all automatically. Requirements Gmail account (with labels created for Client, Sponsorship Request, and Not Business) Google Calendar for scheduling Google Sheets for contact management Google Gemini API key Telegram bot for live interaction Customising this workflow You can expand it to: Handle Slack or WhatsApp messages in addition to Telegram. Add more classification categories (e.g., Invoices, Personal, Leads). Extend auto-replies with dynamic templates stored in Google Sheets. Log all interactions to Notion or Airtable for a CRM-style history of communications. 👉 Rakin Jakaria
by Rahul Joshi
📊 Description Monitor daily brand visibility and reputation with an automated AI-powered mention tracker. 🔍🤖 This workflow checks Hacker News every morning for new stories matching your brand keyword, classifies each mention’s sentiment and urgency using GPT-4o-mini, and delivers a clean daily summary to Slack. If no mentions are found, the workflow sends a simple “no mentions today” update instead—ensuring your team is always informed without manual monitoring. Perfect for reputation tracking, competitive intelligence, and early warning alerts. 📈💬 🔁 What This Template Does 1️⃣ Triggers every morning at 09:00 to begin the analysis. ⏰ 2️⃣ Loads brand name + keyword filters from configuration. 🏷️ 3️⃣ Fetches relevant mentions from Hacker News using the Algolia API. 🌐 4️⃣ Normalizes raw API data into clean fields (title, URL, snippet, author, points). 📄 5️⃣ Classifies each mention’s sentiment, stance, topic, and urgency using GPT-4o-mini. 🤖 6️⃣ Builds a ranked daily summary including top 10 mentions and sentiment totals. 📊 7️⃣ Sends the report to Slack, formatted cleanly and ready for team consumption. 💬 8️⃣ If no mentions exist, sends a simple “no new mentions today” message. 🚫 9️⃣ Includes an error handler that notifies Slack of any workflow failures. ⚠️ ⭐ Key Benefits ✅ Automatically tracks brand presence without manual searching ✅ AI-powered sentiment & urgency analysis for deeper insights ✅ Clean Slack summaries keep teams aligned and aware ✅ Early detection of negative or high-urgency mentions ✅ Zero manual monitoring — runs fully on schedule ✅ Suitable for brand monitoring, PR, marketing, and leadership teams 🧩 Features Daily schedule trigger Hacker News API (Algolia) integration Structured data normalization GPT-4o-mini classification (sentiment, stance, topic, urgency) Slack notifications (detailed report or no-mention message) Error-handling pipeline with Slack alerts Fully configurable brand keywords 🔐 Requirements Slack API credentials OpenAI API key (GPT-4o-mini) No authentication required for Hacker News API n8n with LangChain nodes enabled 🎯 Target Audience Brand monitoring & PR teams AI companies tracking public sentiment Founders monitoring mentions of their product Marketing teams watching trends & community feedback
by Fahmi Fahreza
Create Airtable records from new ClickUp Doc pages This workflow automates the process of turning content from ClickUp Docs into structured data in Airtable. When a new task is created in ClickUp with a link to a ClickUp Doc in its name, this workflow triggers, fetches the entire content of that Doc, parses it into individual records, and then creates a new record for each item in a specified Airtable base and table. Who's it for This template is perfect for content creators, project managers, and operations teams who use ClickUp Docs for drafting or knowledge management and Airtable for tracking and organizing data. It helps bridge the gap between unstructured text and a structured database. How it works Trigger: The workflow starts when a new task is created in a specific ClickUp Team. Fetch & Parse URL: It gets the new task's details and extracts the ClickUp Doc URL from the task name. Get Doc Content: It uses the URL to fetch the main Doc and all its sub-pages from the ClickUp API. Process Content: A Code node parses the text from each page. It's designed to split content by * * * and separate notes by looking for the "notes:" keyword. Find Airtable Destination: The workflow finds the correct Airtable Base and Table IDs by matching the names you provide. Create Records: It loops through each parsed content piece and creates a new record in your specified Airtable table. How to set up Configure the Set Node: Open the "Configure Variables" node and set the following values: clickupTeamId: Your ClickUp Team ID. Find it in your ClickUp URL (e.g., app.clickup.com/9014329600/...). airtableBaseName: The exact name of your target Airtable Base. airtableTableName: The exact name of your target Airtable Table. airtableVerticalsTableName: The name of the table in your base that holds "Vertical" records, which are linked in the main table. Set Up Credentials: Add your ClickUp (OAuth2) and Airtable (Personal Access Token) credentials to the respective nodes. Airtable Fields: Ensure your Airtable table has fields corresponding to the ones in the Create New Record in Airtable node (e.g., Text, Status, Vertical, Notes). You can customize the mapping in this node. Activate Workflow: Save and activate the workflow. Test: Create a new task in your designated ClickUp team. In the task name, include the full URL of the ClickUp Doc you want to process. How to customize the workflow Parsing Logic:* You can change how the content is parsed by modifying the JavaScript in the Parse Content from Doc Pages Code node. For example, you could change the delimiter from * * to something else. Field Mapping:** Adjust the Create New Record in Airtable node to map data to different fields or add more fields from the source data. Trigger Events:** Modify the Trigger on New ClickUp Task node to respond to different events, such as taskUpdated or taskCommentPosted.
by Feras Dabour
Social Media Foto Creation Bot with Approval Loop Create & Share AI Photos with Telegram, Gemini & Post to Facebook, Instagram & X Description This n8n workflow turns your Telegram messenger into a complete AI Photo Content Pipeline. You send your photo idea as a text or voice message to a Telegram bot, collaborate with an AI to refine the prompt and social media caption, let Gemini generate the image, and then automatically publish it after your approval to Facebook, Instagram, and X (Twitter) – including status tracking and Telegram confirmations. What You Need to Get Started This workflow connects several external services. You will need the following credentials: Telegram Bot API Key** Create a bot via BotFather and copy the bot token. This is used by the Listen for incoming events and other Telegram nodes. OpenAI API Key** Required for Speech to Text (OpenAI Whisper) to transcribe voice notes. Used by the AI Agent model (OpenAI Chat Model) for prompt creation. Google Gemini API Key** Used by the Generate an image node (model: models/gemini-2.5-flash-image) to create the AI image. Google Drive & Sheets Access** The generated image is temporarily stored in a Google Drive folder (Upload image1) and later retrieved by Blotato. Prompts and post texts are logged to Google Sheets (Save Prompt & Post-Text) for tracking. Blotato API Key** The layer for social media publishing. Uploads the image as a media asset (Upload media1) and creates posts for Facebook, Instagram, and X. How the Workflow Operates – Step by Step 1. Input & Initial Processing (Telegram + Voice Handling) This phase receives your messages and prepares the input for the AI. | Node Name | Role in Workflow | | :--- | :--- | | Listen for incoming events | Telegram Trigger node that starts the workflow on any incoming message. | | Voice or Text | Set node that structures the incoming message into a unified text field. | | A Voice? | IF node that checks if the message is a voice note. | | Get Voice File | If voice is detected, this downloads the audio file from Telegram. | | Speech to Text | Uses OpenAI Whisper to convert the voice note into a text transcript. | The output of this stage is always a clean text string containing your image idea. 2. AI Core & Refinement Loop (Prompt + Caption via AI) Here, the AI drafts the image prompt (for Gemini) and the social media caption (for all platforms) and enters an approval loop with you. | Node Name | Role in Workflow | | :--- | :--- | | AI Agent | Central logic agent. Creates a videoPrompt (used for image generation) and socialMediaText based on your idea, and asks for feedback. | | OpenAI Chat Model | The LLM backing the agent (e.g., GPT-4.1-mini). | | Window Buffer Memory | Stores recent turns, allowing the agent to maintain context during revisions. | | Send questions or proposal to user | Sends the AI's suggestion for review back to you. | | Approved from user? | IF node that checks if the output is the approved JSON (meaning you replied with "ok" or "approved"). | | Parse AI Output | Code node that extracts the videoPrompt and socialMediaText fields from the agent’s final JSON output. | 3. Content Generation & Final Approval Once the prompt and caption are set, the image is created and sent to you for final approval before publishing. | Node Name | Role in Workflow | | :--- | :--- | | Inform user about processing | Telegram node to confirm: "Okay. Your image is being prepared now..." | | Save Prompt & Post-Text | Google Sheets node that logs the videoPrompt and socialMediaText. | | Generate an image | Gemini node that creates the image based on the videoPrompt. | | Send a photo message | Sends the generated image to Telegram for review. | | Send message and wait for response | Telegram node that waits for your response to the image (e.g., "Good?" / "Approve"). | | Upload image1 | Temporarily saves the generated image to Google Drive. | | Download image from Drive | Downloads the image back from Drive. | | If1 | IF node that checks if the image was approved in the previous step (approved == true). | 4. Upload & Publishing (Blotato) After final approval, the image is uploaded to Blotato, and post submissions for the social media platforms are created. | Node Name | Role in Workflow | | :--- | :--- | | Upload media1 | Blotato Media node. Uploads the approved image as a media asset and returns a public url. | | Create instagram Post | Creates an Instagram post using the media URL and socialMediaText. | | Create x post | Creates an X (Twitter) post using the media URL and socialMediaText. | | Create FB post | Creates a Facebook post using the media URL and socialMediaText. | 5. Status Monitoring & Retry Loops (X, Facebook, Instagram) An independent loop runs for each platform, polling Blotato until the post is either published or failed. | Node Name | Role in Workflow | | :--- | :--- | | Wait, Wait1, Wait2 | Initial pauses after post creation. | | Check Post Status, Get post1, Check Post Status1 | Blotato Get operations to fetch the current status of the post. | | Published to X?, Published to Facebook?, Published to Instagram? | IF nodes checking for the "published" status. | | Confirm publishing to X, Confirm publishing to Facebook, Confirm publishing to Instagram | Telegram nodes that notify you of successful publication (often including the post link). | | In Progress?, In Progress?1, In Progress?2 | IF nodes that check for "in-progress" status and loop back to the Wait nodes (Give Blotat other 5s). | | Send X Error Message, Send Facebook Error Message, Send Instagram Error Message | Telegram nodes that notify you if a failure occurs. | 🛠️ Personalizing Your Content Bot The workflow is highly adaptable to your personal brand and platform preferences: Tweak the AI Prompt & Behavior: Where: In the AI Agent node, within the System Message. Options: Change the tone (casual, professional, humorous) and the level of detail required for the prompt generation or the social media captions. Change Gemini Model or Image Options: Where: In the Generate an image node. Options: Swap the model or adjust image options like Aspect Ratio or Style based on Gemini's API capabilities. Modify Which Platforms You Post To: Where: In the Blotato nodes: Create instagram Post, Create x post, Create FB post. Options: Disable or delete branches for unused platforms, or add new platforms supported by Blotato.
by Yusuke Yamamoto
This n8n template demonstrates a “Human-in-the-Loop” workflow where AI automatically drafts replies to inbound emails, which are then reviewed and approved by a human before being sent. This powerful pattern ensures both the efficiency of AI and the quality assurance of human oversight. Use cases are many: Streamline sales inquiry responses, manage first-level customer support, handle initial recruitment communications, or any business process that requires personalized yet consistent email replies. Good to know At the time of writing, the cost per execution depends on your OpenAI API usage. This workflow uses a cost-effective model like gpt-4o-mini. See OpenAI Pricing for updated info. The AI’s knowledge base and persona are fully customizable within the Basic LLM Chain node’s prompt. How it works The Gmail Trigger node starts the workflow whenever a new email arrives in the specified inbox. The Classify Potential Leads node uses AI to determine if the incoming email is a potential lead. If not, the workflow stops. The Basic LLM Chain, powered by an OpenAI Chat Model, generates a draft reply based on a detailed system prompt and your internal knowledge base. A Structured Output Parser is crucially used to force the AI’s output into a reliable JSON format ({"subject": "...", "body": "..."}), preventing errors in subsequent steps. The Send for Review Gmail node sends the AI-generated draft to a human reviewer and pauses the workflow, waiting for a reply. The IF node checks the reviewer’s reply for approval keywords (e.g., “approve”, “承認”). If approved, the ✅ Send to Customer Gmail node sends the final email to the original customer. If not approved, the reviewer’s feedback is treated as a revision request, and the workflow loops back to the Basic LLM Chain to generate a new draft incorporating the feedback. How to use Gmail Trigger** node: Configure with your own Gmail account credentials. Send for Review** node: Replace the placeholder email reviewer@example.com with the actual reviewer's email address. IF** node: You can customize the approval keywords to match your team’s vocabulary. OpenAI Nodes**: Ensure your OpenAI credentials are set up. You can select a different model if needed, but the prompt is optimized for models like GPT-4o mini. Requirements An OpenAI account for the LLM. A Gmail account for receiving customer emails and for the review process. Customising this workflow By modifying the prompt and knowledge base in the Basic LLM Chain, you can adapt this agent for various departments, such as technical support, HR, or public relations. The approval channel is not limited to Gmail. You can easily replace the review nodes with Slack or Microsoft Teams nodes to fit your internal communication tools.
by Ranjan Dailata
This workflow automates competitor keyword research using OpenAI LLM and Decodo for intelligent web scraping. Who this is for SEO specialists, content strategists, and growth marketers who want to automate keyword research and competitive intelligence. Marketing analysts managing multiple clients or websites who need consistent SEO tracking without manual data pulls. Agencies or automation engineers using Google Sheets as an SEO data dashboard for keyword monitoring and reporting. What problem this workflow solves Tracking competitor keywords manually is slow and inconsistent. Most SEO tools provide limited API access or lack contextual keyword analysis. This workflow solves that by: Automatically scraping any competitor’s webpage with Decodo. Using OpenAI GPT-4.1-mini to interpret keyword intent, density, and semantic focus. Storing structured keyword insights directly in Google Sheets for ongoing tracking and trend analysis. What this workflow does Trigger — Manually start the workflow or schedule it to run periodically. Input Setup — Define the website URL and target country (e.g., https://dev.to, france). Data Scraping (Decodo) — Fetch competitor web content and metadata. Keyword Analysis (OpenAI GPT-4.1-mini) Extract primary and secondary keywords. Identify focus topics and semantic entities. Generate a keyword density summary and SEO strength score. Recommend optimization and internal linking opportunities. Data Structuring — Clean and convert GPT output into JSON format. Data Storage (Google Sheets) — Append structured keyword data to a Google Sheet for long-term tracking. Setup Prerequisites n8n account with workflow editor access Decodo API credentials OpenAI API key Google Sheets account connected via OAuth2 Make sure to install the Decodo Community node. Create a Google Sheet Add columns for: primary_keywords, seo_strength_score, keyword_density_summary, etc. Share with your n8n Google account. Connect Credentials Add credentials for: Decodo API credentials - You need to register, login and obtain the Basic Authentication Token via Decodo Dashboard OpenAI API (for GPT-4o-mini) Google Sheets OAuth2 Configure Input Fields Edit the “Set Input Fields” node to set your target site and region. Run the Workflow Click Execute Workflow in n8n. View structured results in your connected Google Sheet. How to customize this workflow Track Multiple Competitors** → Use a Google Sheet or CSV list of URLs; loop through them using the Split In Batches node. Add Language Detection** → Add a Gemini or GPT node before keyword analysis to detect content language and adjust prompts. Enhance the SEO Report** → Expand the GPT prompt to include backlink insights, metadata optimization, or readability checks. Integrate Visualization** → Connect your Google Sheet to Looker Studio for SEO performance dashboards. Schedule Auto-Runs** → Use the Cron Node to run weekly or monthly for competitor keyword refreshes. Summary This workflow automates competitor keyword research using: Decodo** for intelligent web scraping OpenAI GPT-4.1-mini** for keyword and SEO analysis Google Sheets** for live tracking and reporting It’s a complete AI-powered SEO intelligence pipeline ideal for teams that want actionable insights on keyword gaps, optimization opportunities, and content focus trends, without relying on expensive SEO SaaS tools.
by Ronnie Craig
Healthcare Email Autoresponder - Daily Outreach 📧 A production-ready n8n workflow for automated healthcare email marketing with AI-powered personalization. 🎯 What This Workflow Does This automated email system sends daily personalized healthcare-themed emails to your contact list. Perfect for: Healthcare professionals building patient relationships Medical practices maintaining client engagement Wellness coaches staying connected with clients Health educators sharing daily motivation ✨ Key Features AI-Powered Personalization**: Uses OpenAI to customize each email with recipient's name Smart Rate Limiting**: Random 2-5 minute delays between emails to avoid spam filters Batch Processing**: Limits to 10 emails per run for better deliverability Email Tracking**: Updates Google Sheets to prevent duplicates and track progress Professional Templates**: Healthcare-themed content with customizable signatures Automated Scheduling**: Runs daily at 1 PM (customizable) 🛠️ Setup Instructions Prerequisites n8n instance (cloud or self-hosted) Gmail account for sending emails Google Sheets for contact management OpenAI API key Step 1: Import the Workflow Download the Healthcare_Email_Autoresponder_Community_Template.json file In n8n, go to Templates and click "Import from File" Select the downloaded JSON file The workflow will be imported as inactive Step 2: Configure Credentials Gmail OAuth2 Setup: Click on the "Send Email" node Create new Gmail OAuth2 credential Follow n8n's Gmail setup guide Test the connection Google Sheets Setup: Click on the "Healthcare_Contact_List" node Create new Google Sheets OAuth2 credential Replace YOUR_GOOGLE_SHEET_ID_HERE with your actual sheet ID Ensure your sheet has these columns: First Name Email Emailed (for tracking timestamps) OpenAI API Setup: Click on the "OpenAI Chat Model" node Create new OpenAI credential Add your OpenAI API key Select your preferred model (gpt-4o-mini recommended for cost efficiency) Step 3: Customize Your Email Template Click on the "AI Email Generator" node Edit the system message to include your details: Replace [YOUR NAME HERE] with your actual name Replace [YOUR TITLE HERE] with your professional title Replace [YOUR COMPANY HERE] with your company name Replace [YOUR PHONE NUMBER] with your phone number Replace [YOUR EMAIL] with your email address Replace [YOUR WEBSITE] with your website URL Step 4: Prepare Your Contact List Create a Google Sheet with the following structure: | First Name | Email | Emailed | |------------|-------------------|------------| | John | john@example.com | | | Jane | jane@example.com | | Important Notes: Leave the "Emailed" column empty initially The workflow will populate timestamps as emails are sent Only contacts with empty "Emailed" cells will receive emails Step 5: Test and Activate Test the workflow with a few sample contacts Check that emails are being generated and sent correctly Verify that Google Sheets is being updated with timestamps Once satisfied, activate the workflow 📊 Google Sheets Structure Your contact sheet should include these columns: First Name** (required): Used for personalization Email** (required): Recipient email address Emailed** (required): Timestamp tracking (leave empty initially) Optional columns you can add: Last Name Company Phone Notes ⚙️ Customization Options Change Email Frequency Edit the "Daily Trigger (1 PM)" node Modify the schedule (hourly, daily, weekly) Set preferred time zones Adjust Batch Size Edit the "Limit to 10 Contacts" node Change maxItems value (recommend staying under 50) Modify Wait Times Edit the "Random Wait (2-5min)" node Adjust the random delay formula Current: {{ Math.floor(Math.random() * 4) + 2 }} (2-5 minutes) Update Email Content Edit the system message in "AI Email Generator" node Change the joke, signature, or entire email structure Add seasonal content or special promotions 🔧 Troubleshooting Common Issues: Emails not sending Verify Gmail credentials are active Check email quota limits Ensure recipient emails are valid Google Sheets not updating Confirm sheet ID is correct Check column names match exactly Verify Google Sheets credentials AI not generating content Validate OpenAI API key Check API quota and billing Test with different model if needed Rate limiting issues Increase wait times between emails Reduce batch size Check Gmail sending limits 📈 Best Practices Start Small: Begin with 5-10 contacts to test deliverability Monitor Metrics: Track open rates and responses Respect Privacy: Include unsubscribe options Stay Relevant: Update content regularly Follow Regulations: Comply with CAN-SPAM and GDPR 🤝 Contributing to the Community This template is designed to be: Easy to understand**: Clear node names and documentation Production ready**: Includes error handling and rate limiting Customizable**: Template placeholders for personalization Well documented**: Comprehensive setup instructions Feel free to adapt this workflow for your specific healthcare niche! 📄 License This workflow template is provided free to the n8n community under MIT License. 🆘 Support For questions or issues: Check the n8n community forum Review n8n's official documentation Test each node individually to isolate problems Made with ❤️ for the n8n community
by Rahul Joshi
Description Synchronize OKRs (Objectives and Key Results) between Monday.com and Jira to automatically calculate progress variance, update dashboards, and share variance reports via Slack and Outlook. This workflow ensures teams have accurate, real-time visibility into performance metrics and project alignment — without manual reconciliation. 🎯📈💬 What This Template Does Step 1: Triggers daily at a scheduled time to fetch the latest OKRs from Monday.com. ⏰ Step 2: Extracts Key Results and their linked Jira epic keys from the OKR board. 🔗 Step 3: Fetches corresponding Jira epic details such as status, assignee, and last updated date. 🧩 Step 4: Merges Monday.com KR data with Jira epic progress through SQL-style joins. 📋 Step 5: Calculates real-time progress and variance against target goals. 📊 Step 6: Updates Monday.com KR items with actual progress, variance percentage, and status (“On Track”, “At Risk”, or “Ahead”). 🔄 Step 7: Aggregates all KR data into a consolidated report for communication. 📦 Step 8: Sends formatted variance reports to Slack and Outlook, with summaries of owner, progress, and variance metrics. 📢 Key Benefits ✅ Automates end-to-end OKR and Jira synchronization ✅ Eliminates manual progress tracking errors ✅ Provides daily visibility on team and project health ✅ Enables proactive risk detection via variance thresholds ✅ Keeps all stakeholders updated via Slack and Outlook ✅ Centralizes OKR performance metrics for reporting Features Daily scheduled trigger for automatic OKR sync Monday.com → Jira data integration via API Real-time variance computation logic Automatic updates of OKR fields in Monday.com SQL-style data merging and aggregation Slack notification with variance summaries Outlook email digest with formatted HTML tables Requirements Monday.com API credentials with board access Jira API credentials with permission to view epics Slack Bot token with chat:write permissions Microsoft Outlook OAuth2 credentials for sending emails Environment variables for board, channel, and recipient configuration Target Audience Product and engineering teams managing OKRs across platforms 🎯 Project managers tracking cross-tool performance metrics 📋 Leadership teams needing automated OKR reporting 💼 Operations and strategy teams monitoring execution health 🧭 Step-by-Step Setup Instructions Connect your Monday.com, Jira, Slack, and Outlook credentials in n8n. 🔑 Replace MONDAY_BOARD_ID, GROUP_ID, and column identifiers with your own. 🧩 Set environment variables for SLACK_CHANNEL_ID and REPORT_RECIPIENT_EMAIL. 💬 Adjust the cron expression to define your sync frequency (e.g., daily at 9 AM). ⏰ Test the workflow with a single OKR item to confirm successful synchronization. 🧠 Enable the workflow to automate daily OKR variance tracking and reporting. ✅
by Haruki Kuwai
Title (suggested): Extract business card data from Telegram to Google Sheets Who’s it for Teams that receive business cards digitally (sales, marketing, back-office) and want a plug-and-play way to capture contacts into a sheet without manual typing. What it does / How it works This workflow ingests a business card sent to your Telegram bot, detects whether the message contains an image or text, extracts key fields with an AI Vision Agent (company, full name, department, job title, postal code, address, phone, mobile, fax, email, website), and appends or updates a contact row in Google Sheets automatically. How to set up Connect Telegram (bot token) and enable file download. Connect your AI provider (OpenRouter or equivalent) used by the AI Vision Agent. Connect Google Sheets and select your spreadsheet + sheet tab. Rename nodes clearly and keep sticky notes: one overview note (this description) + step notes. Test by sending a sample card image to your bot and verify the row is appended/updated. Requirements Telegram Bot API credential AI chat/vision credential Google Sheets OAuth credential and an accessible spreadsheet How to customize the workflow Map fields to your sheet headers (add/remove columns as needed). Adjust the system prompt to prefer your locale or specific field formats. Change the matching key for update logic (e.g., company name or email). Add downstream steps (CRM push, dedupe rules, notifications). Security note: Do not hardcode API keys or include real IDs/emails. Use credentials and environment configs only. JSON [ { "company_name": "Example Company Ltd.", "department": "Sales", "job_title": "Sales Manager", "full_name": "Taro Yamada", "postal_code": "100-0001", "address": "1-1-1 Marunouchi, Chiyoda-ku, Tokyo", "phone_number": "+81-3-0000-0000", "mobile_phone_number": "+81-90-0000-0000", "fax_number": "+81-3-1111-1111", "email": "example@company.com", "website_url": "https://example.com" } ] Troubleshooting Nothing appears in Google Sheets Solution: Verify that your Google Sheets credentials are correctly authorized. Confirm the Spreadsheet ID and Sheet Name in the node match your target file. Make sure the Google Sheets node is connected downstream of the AI Vision Agent. If the workflow runs successfully but nothing is added, check whether the matching column (company_name) already exists — in appendOrUpdate mode it will only update that row. AI returns incomplete or invalid data Solution: Review the system prompt in the AI Vision Agent to ensure it instructs the model to return a structured JSON object with all required fields (company name, full name, department, job title, address, etc.). If the result is partial, verify the image quality of the uploaded business card — low contrast or skewed images can reduce OCR accuracy. You can reduce temperature in the AI node to make output more deterministic. Workflow doesn’t start automatically Solution: Check that the workflow is activated (toggle is ON in the top right of n8n). Verify the Webhook URL is correctly registered in Telegram’s bot settings. Run manually once to ensure all credentials and nodes are configured correctly.