by noda
📄 Workflow Overview Title: Spotify Emotion-to-News Card Generator (APITemplate.io + Slack) What it does: This workflow analyzes the emotion of your recently played Spotify track using OpenRouter (LLM), fetches a related trending Google News article, generates a visual news card with APITemplate.io, and posts it to Slack. 👥 Who’s it for Music lovers, marketers, and developers who want to automatically turn their listening mood into a visual daily digest or Slack update. ⚙️ How it works Spotify Trigger — Fetch your recently played tracks. LLM (Emotion Analyzer) — Infer the main emotion from the track title and artist. Google News Query — Build an RSS URL based on the emotion keyword. RSS Reader — Retrieve trending news headlines. APITemplate.io — Render the top article into an image card. Slack — Post title, link, and card image into your channel. 🧰 Requirements Spotify API credentials OpenRouter API key APITemplate.io account (with template ID) Slack OAuth2 connection 🪄 How to customize Replace the APITemplate.io template ID with your own. Adjust the RSS URL language (hl=en-US → hl=ja-JP for Japanese news). Modify the Slack message text for your preferred channel tone. ⚠️ Disclaimer If you use community nodes (LangChain), this template is for self-hosted n8n only.
by Shrishti S Nagar
This workflow automates your LinkedIn content curation and posting using AI. Every week, it pulls the latest marketing insights from an RSS feed (like HubSpot’s), analyzes them, and turns the best article into a crisp, human-style LinkedIn post — complete with branded visuals and headline text using the Templated API. You can fully customize it for your own brand’s voice, niche, and platform. ⚙️ What It Does 📰 Fetches articles from any RSS feed you choose 🧩 Uses AI (Gemini) to: Pick the most relevant article for your target audience Rewrite it into a short, save-worthy post (<200 words) Optimize tone, clarity, and structure for readability 🖼️ Uses Templated API to: Generate branded visuals with your own layout or assets Auto-inject headline text into image templates Maintain consistent post design across your feed 🤖 Auto-posts to LinkedIn (only if AI confidence ≥7/10) 🪄 Setup Instructions Replace the RSS URL in the “RSS Read” node with your preferred feed. Connect your own credentials: Google Gemini (PaLM) API key via Credentials LinkedIn OAuth2 credentials Templated API credentials (optional, for image/headline generation) Review and tweak AI prompts in: “Best Article Finder” “Content Creator” “Post Optimizer” Adjust your posting frequency, tone, or feed to suit your brand. Activate and let it run automatically. 💡 Ideal For Solo marketers or consultants managing content calendars Startup marketing teams automating top-of-funnel content Founders building personal brands on LinkedIn Creators who want branded visuals with consistent design
by Lucio
If you want to reach a wider audience, having your video titles and descriptions in multiple languages can help you connect with more viewers. This template provides the configuration needed to generate translations and update them directly on YouTube. How it works Defines Video ID and Languages** You can get the ID from the video URL. If you’re unsure, click the Share button, it will provide the ID at between the "/" and the "?si=" Fetches video information** As long as the workflow has the video ID, it can retrieve the video information, whether the video is published or not. Check languages to translate** If no default language is set in the video details, the workflow will assume "en" (English) as the default. To overwrite the default language, replace 'en' in line 2 of the code. AI Agent Translator**: You can improve results by refining the prompt. Feel free to experiment, just don’t change the formatting structure. Updates Video Localization** The API requires to send current default version again along with the translations in the Body. Output URL** returns the URL for the video’s localization. It may take a few seconds to appear—refresh and try again if needed. ⚠ The translation will overwrite any existing translations for the same language. How to Use (First time only) Set up credentials for your user. Edit the node "Defines Video ID and Languages". Click the Execute Workflow button. Enjoy your translated video titles and descriptions! More details can be found in the sticky notes under each node. Requirements To implement this workflow, you will need to configure credentials for the following nodes: Fetch Video Information**: YouTube Auth This of course, assumes that you have a YouTube account. The account creation and setup takes time, but luckily it's the only slow part, once done, you are good to go. AI Agent Translator**: Google Gemini (PaLM) API Both credentials can be created directly inside the node by clicking it, then selecting “Create Credential to Connect With” and following the instructions provided by the n8n Assistant. If you already have the credentials, simply select them! No paid plan is required, free tiers are sufficient. Keep in mind the request limits if you extend or modify this workflow to do multiple videos at once.
by David Olusola
📉 Buy the Dip Alert (Telegram/Slack/SMS) 📌 Overview This workflow automatically notifies you when Bitcoin or Ethereum drops more than a set percentage in the last 24 hours. It’s ideal for traders who want to stay ready for buy-the-dip opportunities without constantly refreshing charts. ⚙️ How it works Schedule Trigger — runs every 30 minutes (adjustable). HTTP Request (CoinGecko) — fetches BTC & ETH prices and 24h % change. Code Node (“Dip Check”) — compares changes against your dip threshold. IF Node — continues only if dip condition is true. Notification Node — sends alert via Telegram, Slack, or SMS (Twilio). Example Output: Dip Alert — BTC –3.2%, ETH –2.8% Not financial advice. 🛠 Setup Guide 1) Dip threshold Open the Code node. Change the line: const DIP = -2.5; // trigger if 24h drop <= -2.5% Set your preferred dip value (e.g., –5 for a 5% drop). 2) Choose your alert channel Telegram: add your bot token & chat ID. Slack: connect Slack API & set channel name. Twilio: configure SID, token, from/to numbers. 3) Test Temporarily set DIP to 0 to force an alert. Run once from the Code node → confirm alert message text. Execute the Notification node → confirm delivery to your channel. 🎛 Customization Cadence: change Schedule Trigger (every 5m, 15m, hourly, etc.). Coins: extend the CoinGecko call (add solana, bnb) and update Code node logic. Multiple alerts: duplicate IF → Notification branch for different thresholds (minor vs major dip). Combine with “Threshold Alerts” workflow to cover both upside breakouts and downside dips. Storage: log alerts into Google Sheets for tracking dip history. 🧩 Troubleshooting No alerts firing: check CoinGecko API response in Execution Data. Wrong %: CoinGecko returns usd_24h_change directly — no math needed. Duplicate alerts: add a debounce using a Sheet/DB to store last fired time. Telegram not posting: confirm bot has access to your channel/group.
by Trung Tran
Beginner’s Tutorial: Manage Azure Storage Account Container & Blob with n8n > This beginner-friendly n8n workflow shows you how to generate AI images using OpenAI, store them in Azure Blob Storage, and manage blob containers, all with zero code. 👤 Who’s it for This workflow is perfect for: Beginners learning Azure + OpenAI integration** No-code developers** experimenting with image generation Cloud learners** who want hands-on Blob Storage use cases Anyone who wants to automate storing AI-generated content in the cloud ⚙️ How it works / What it does 🖱️ Trigger the workflow manually using the Execute Workflow node. ✏️ Use the Edit Fields node to input: containerName (e.g., demo-images) imageIdea (e.g., "a robot holding a coffee cup") 📦 Create a new Azure Blob container (Create container). 🤖 Use an OpenAI-powered Prompt Generation Agent to craft the perfect image prompt. 🎨 Generate an image using OpenAI’s DALL·E model. ☁️ Upload the generated image to Azure Blob Storage (Create Blob). 📂 List blobs in the container (Get many blobs). 🧹 Delete any blob as needed (Delete Blob). (Optional) 🗑️ Remove the entire container (Delete container). 🔧 How to set up 🧠 Set up OpenAI Create an OpenAI account and get your API key. In n8n, go to Credentials → OpenAI and paste your key. 🪣 Set up Azure Blob Storage Log in to your Azure Portal. Create a Storage Account (e.g., mystorageaccount). Go to Access Keys tab and copy: Storage Account Name Key1 In n8n, create a new Azure Blob Storage Credential using: Account Name = your storage account name Access Key = key1 value > 📝 This demo uses Access Key authentication. You can also configure Shared Access Signatures (SAS) or OAuth in production setups. Run the Workflow Enter your image idea and container name. Click “Execute Workflow” to test it. 📋 Requirements | Requirement | Description | |------------------------|--------------------------------------------------| | Azure Storage Account | With container-level read/write access | | OpenAI API Key | For image and prompt generation | | n8n Version | v1.0+ recommended | | Image Credits | OpenAI charges tokens for DALL·E image creation | 🛠️ How to customize the workflow 🧠 Adjust Prompt Generation Update the Prompt Agent to include: Specific style (3D, anime, cyberpunk) Brand elements Multiple language options 📁 Organize by Date/User Modify the containerName to auto-include: Date (e.g., images-2025-08-20) Username or session ID 📤 Send Image Output Add Slack, Telegram, or Email nodes to deliver the image Create public links using Azure’s blob permissions 🔁 Cleanup Logic Auto-delete blobs after X days Add versioning or backup logic
by Sergey Skorobogatov
GiggleGPTBot — Witty Telegram Bot with AI & Postgres 📝 Overview GiggleGPTBot is a witty Telegram bot built with n8n, OpenRouter, and Postgres. It delivers short jokes, motivational one-liners, and playful roasts, responds to mentions, and posts scheduled witty content. The workflow also tracks user activity and provides lightweight statistics and leaderboards. ✨ Features 🤖 AI-powered humor engine — replies with jokes, motivation, random witty lines, or sarcastic roasts. 💬 Command support — /joke, /inspire, /random, /roast, /help, /stats, /top. 🎯 Mention detection — replies when users tag @GiggleGPTBot. ⏰ Scheduled posts — morning jokes, daily motivation, and random wisdom at configured times. 📊 User analytics — counts messages, commands, reactions, and generates leaderboards. 🗄️ Postgres persistence — robust schema with tables for messages, responses, stats, and schedules. 🛠️ How It Works Triggers Telegram Trigger — receives all messages and commands from a chat. Schedule Trigger — runs hourly to check for planned posts. Processing Switch routes commands (/joke, /inspire, /random, /roast, /help, /stats, /top). Chat history fetches the latest context. Mention Analysis determines if the bot was mentioned. Generating an information response builds replies for /help, /stats, /top. AI nodes (AI response to command, AI response to mention, AI post generation) craft witty content via OpenRouter. Persistence Init Database ensures tables exist (user_messages, bot_responses, bot_commands, message_reactions, scheduled_posts, user_stats). Logging nodes update stats and store every bot/user interaction. Delivery Replies are sent back via Telegram Send nodes (Send AI response, Send info reply, Reply to Mention, Submit scheduled post). ⚙️ Setup Instructions Create a Telegram Bot with @BotFather and get your API token. Add credentials in n8n: Telegram API (your bot token) OpenRouter (API key from openrouter.ai) Postgres (use your DB, Supabase works well). Run the Init Database node once to create all required tables. (Optional) Seed schedule with the Adding a schedule node — it inserts: Morning joke at 06:00 Daily motivation at 09:00 Random wisdom at 17:00 (Adjust chat_id to your group/channel ID.) Activate workflow and connect Telegram Webhook or Polling. 📊 Database Schema user\_messages** — stores user chat messages. bot\_responses** — saves bot replies. bot\_commands** — logs command usage. message\_reactions** — tracks reactions. scheduled\_posts** — holds scheduled jokes/wisdom/motivation. user\_stats** — aggregates per-user message/command counts and activity. 🔑 Example Commands /joke → witty one-liner with light irony. /inspire → short motivational phrase. /random → unexpected witty remark. /roast → sarcastic roast (no offensive targeting). /stats → shows your personal stats. /top → displays leaderboard. /help → lists available commands. @GiggleGPTBot + message → bot replies in context. 🚀 Customization Ideas Add new command categories (/quote, /fact, /news). Expand analytics with reaction counts or streaks. Localize prompts into multiple languages. Adjust CRON schedules for posts. ✅ Requirements Telegram Bot token OpenRouter API key Postgres database 📦 Import this workflow, configure credentials, run the DB initializer — and your witty AI-powered Telegram companion is ready!
by NAZIA AI ACADEMY
How it works This workflow lets users generate AI images directly from Telegram messages using: Google Gemini API – to convert text to detailed, high-quality image prompts. Pollinations API – to generate free AI images from the prompts. Telegram Bot – to interact with users and return generated images instantly. It’s fully automated using n8n — from text message to stunning image, all in one flow. Perfect for creators, content marketers, or anyone wanting quick visuals on the go. Set up steps 🧩 Estimated setup time: ~10–15 minutes Create a Telegram Bot via @BotFather, copy your token, and set up the Telegram Trigger node in n8n with your credentials. Set up Google Gemini API via Google AI Studio or Cloud Console. Make sure your API key is added in the credentials section of the Gemini node. Customize prompt structure or image size in the Fields - Set Values or Prompt Agent node. (Optional) Enable Save to Disk if you want to keep a local copy of every image. Deploy and run the workflow — done 🎉 🛠️ All technical details and logic are fully documented inside the workflow using sticky notes. ⚠️ Requirements n8n (Self-hosted or Cloud) Telegram Bot Token Google Gemini API key (with billing enabled — includes some free usage) No key needed for Pollinations API — it's 100% free 🆓
by David Olusola
WordPress Daily News Digest Generator Overview: This automation automatically fetches trending tech news every morning, uses AI to create engaging blog posts from each article, and publishes them directly to your WordPress site. What it does: Fetches top 10 US technology news stories every day at 8 AM via NewsAPI Splits articles into individual items for processing Processes each article through a loop system AI creates expanded, engaging blog posts (600-800 words) from each news article Parses AI response to extract clean titles and content Publishes individual blog posts to WordPress automatically Setup Required: NewsAPI Configuration Get free API key from newsapi.org (1,000 requests/day free) Replace YOUR_API_KEY in the HTTP Request URL with your actual key Customize country/category parameters in URL if needed WordPress Connection Configure WordPress credentials in the "Publish to WordPress" node Enter your WordPress site URL, username, and password/app password AI Configuration Set up Google Gemini API credentials Connect the Gemini model to the "AI News Summarizer" node Customization Options Publishing Schedule: Modify schedule trigger (default: daily 8 AM) News Sources: Change country, category, or pageSize in NewsAPI URL Content Style: Adjust AI system message for different writing tones Post Status: Change from "publish" to "draft" for manual review Testing Run workflow manually to test all connections Verify news articles are fetched correctly Check that blog posts appear properly on your WordPress site Features: Automatic daily content creation AI-generated unique titles and expanded content Loop processing for multiple articles per day Duplicate content filtering (removes incomplete articles) SEO-optimized blog post formatting Automatic tagging and categorization Customization: Change news categories (technology, business, science, etc.) Adjust posting frequency (hourly, twice daily, etc.) Modify AI prompts for different writing styles Add custom categories and tags Change article limits (currently 5 articles max) Need Help? For n8n coaching or one-on-one consultation
by JJ Tham
Automate Google Ads Search Term Analysis and Send Insights to Slack Stop manually digging through endless Google Ads search term reports! 📊 This workflow puts your brand campaign analysis on autopilot, acting as an AI-powered performance marketer that works for you 24/7. This template fetches your recent search term data, uses AI to identify wasted ad spend and new keyword opportunities, and delivers a concise, actionable report directly to your Slack channel—complete with buttons to approve the changes. ⚙️ How it works This workflow connects to your Google Ads account to pull search term data from your brand campaigns. It then feeds this data to Google Gemini with a specific prompt to: Identify Non-Brand Keywords: Isolate all search terms that are not related to your brand. Calculate Wasted Spend: Find terms with zero conversions and sum up the total cost. Flag Opportunities: Highlight non-brand terms that are converting for manual review. Send to Slack: Format the findings into a beautiful, easy-to-read Slack message with interactive buttons to approve adding the wasteful terms as negative keywords. 👥 Who’s it for? PPC & SEM Managers: Save hours each week by automating the search query mining process. Performance Marketers: Instantly spot and plug budget leaks in your brand campaigns. Digital Marketing Agencies: Provide proactive, data-driven insights to clients with zero manual effort. 🛠️ How to set up This is an advanced workflow that requires several connection points. Setup involves connecting your Google Ads account, providing your Manager and Client IDs, specifying which campaign and brand terms to analyze, configuring the direct API call with your developer token, and finally connecting your Slack workspace. 👉 For a detailed, step-by-step guide, please refer to the yellow sticky note inside the workflow.
by jellyfish
This workflow automates the process of monitoring Twitter accounts for intelligence gathering. It fetches new tweets from specified accounts via RSS, uses a powerful AI model (Google Gemini) to analyze the content based on your custom prompts, and sends formatted alerts to a Telegram chat for high-priority findings. Key Features: Scheduled Execution: Runs automatically at your desired interval. Dynamic Configuration: Manage which Twitter accounts to follow and what AI prompts to use directly from a Postgres database. AI-Powered Analysis: Leverages Google Gemini to extract summaries, keywords, and assign an importance level to each tweet. Duplicate Prevention: Keeps track of the last processed tweet to ensure you only get new updates. Customizable Alerts: Sends well-structured and easy-to-read notifications to Telegram. Setup Required: Postgres Database: Set up a table to store your configuration (see the Sticky Note in the workflow for the required schema). RSSHub: You need access to an RSSHub instance to convert Twitter user timelines into RSS feeds. Credentials: Add your credentials for Postgres, Google AI (Gemini), and your Telegram Bot in n8n. Configuration: Update the placeholder values in the RSS and Telegram nodes (e.g., your RSSHub URL, your Telegram Chat ID).
by Fahmi Fahreza
Weekly SEO Watchlist Audit to Google Sheets (Gemini + Decodo) Sign up for Decodo HERE for Discount Automatically fetches page content, generates a compact SEO audit (score, issues, fixes), and writes both a per-URL summary and a normalized “All Issues” table to Google Sheets—great for weekly monitoring and prioritization. Who’s it for? Content/SEO teams that want lightweight, scheduled audits of key pages with actionable next steps and spreadsheet reporting. How it works Weekly trigger loads the Google Sheet of URLs. Split in Batches processes each URL. Decodo fetches page content (markdown + status). Gemini produces a strict JSON audit via the AI Chain + Output Parser. Code nodes flatten data for two tabs. Google Sheets nodes append Summary and All Issues rows. Split in Batches continues to the next URL. How to set up Add credentials for Google Sheets, Decodo, and Gemini. Set sheet_id and Sheet GIDs in the Set node. Ensure input sheet has a URL column. Configure your Google Sheets tabs with proper headers matching each field being appended (e.g., URL, Decodo Score, Priority, etc.). Adjust schedule as needed. Activate the workflow.
by Ninja - Abbas
Overview This workflow automates quiz delivery from a Google Sheet directly into a Telegram group. It ensures that quizzes are posted one by one as polls, and once a quiz is sent, its status in the sheet is automatically updated to prevent duplication. If no pending quiz is available, the workflow notifies a separate Telegram channel to refill the sheet. Target Audience This template is designed for teachers, community managers, and Telegram group admins who want an easy way to run quizzes, trivia games, or knowledge checks without manual posting. Problem It Solves Manually sending quizzes is repetitive and prone to mistakes (like re-posting the same question). This template ensures quizzes are sent in order, tracked, and managed automatically with minimal human effort. Requirements An active Google account with Google Sheets enabled A Telegram bot token (via BotFather) Chat IDs for both the quiz group and the notification group Google Sheet Structure Create a sheet with the following columns: quiz_number | question | option_a | option_b | option_c | option_d | status status**: Use 🟨 for pending quizzes, ✅ once completed Setup Instructions Copy the workflow into your n8n instance. Add your Google Sheets credentials. Replace the YOUR_SHEET_ID placeholder with your sheet ID. Set environment variables: TELEGRAM_BOT_TOKEN TELEGRAM_CHAT_ID (for the group) TELEGRAM_NOTIFY_CHAT_ID (for refill notifications) Run the workflow. Customization Options Adjust the sheet name if not using “Sheet1” Change emoji markers (🟨 / ✅) to your preferred system Modify the Telegram notification message