by Milo Bravo
Event Registration + Auto-Enrichment Intelligence Who is this for? Event organizers, conference planners, and marketing teams fighting registration drop-off who want 4-field forms with LinkedIn-level attendee intelligence. What problem is this workflow solving? Multi-page forms kill conversions: 80-90% drop-off on page 2 No attendee insights post-reg Manual enrichment wastes hours Abandoned carts = lost revenue This captures 4 fields but enriches 15+ data points automatically. What this workflow does 3 Webhook Intelligence Suite: POST /event-registration**: 4-field form → enrichment → HubSpot POST /reg-beacon**: Abandoned cart tracking pixel POST /validate-promo**: AJAX promo code validation Requires 2 sub-workflows: 1) Abandoned Cart Recovery 2) Participant Re-engager Enrichment Waterfall: Clearbit → LinkedIn (Proxycurl) → Google+AI → Full profile Outputs: HubSpot contacts with company/role/title Data Tables: enriched_profiles / reg_analytics Slack alerts + email confirmations Setup (12 minutes) Data Tables**: enriched_profiles, reg_analytics, promo_codes HubSpot**: API key + custom properties APIs**: Clearbit, Proxycurl, SerpAPI, Gemini Host**: reg-page/index.html (update webhook URLs) SMTP/Slack**: Notifications Fully configurable, no code changes needed. How to customize to your needs Forms**: Swap HTML for Typeform/Webflow Enrichment**: Add Apollo/Hunter for emails CRM**: HubSpot → Salesforce → Airtable Promos**: Tiered discounts / early-bird Companion**: Abandoned Cart + Re-engager templates ROI: 3x registration completion** (4 fields vs 12+) 65% enriched profiles** (company/role/title) 20% revenue recovery** (abandoned carts) Need help customizing?: Contact me for consulting and support: LinkedIn / Message Keywords: event registration, attendee enrichment, abandoned cart recovery, conference automation, HubSpot
by Alena - Prodigy AI Sol
How it works A weekly cron triggers the flow The Reddit node fetches top posts from a +-separated list of subreddits you define A code node normalises each item into {url, title, publishedAt} while preserving Reddit-specific fields like ups, upvote_ratio, and num_comments A deduplication step drops repeats by normalised URL and then by title A scoring step ranks candidates by ups x upvote_ratio and passes the winner plus the top 10 candidates to GPT-4 A LangChain agent writes three platform-specific drafts in a single call: a short Telegram blurb with a link Gmail sends you one email containing a draft with APPROVE / DECLINE buttons (sendAndWait, double-confirm) On APPROVE, a Gate node fans out to three parallel branches that post to Telegram, and each result is appended to its own tab in Google Sheets On DECLINE, reviewer feedback is injected into the agent and it picks another topic to retry Set up steps Setup takes about 15 to 20 minutes Connect a Reddit OAuth2 credential with read access Connect an OpenAI API credential (defaults to gpt-4.1-mini; swap to any model you prefer) Connect a Gmail OAuth2 credential for the approval email and set sendTo to your own address Connect a Telegram Bot API credential and replace @your_telegram_channel in the Post to Telegram node with your real channel handle (your bot must be an admin of the channel) Connect a Google Sheets OAuth2 credential and pick your destination spreadsheet + correct tab in each of the four Google Sheets nodes Edit the default subreddit list inside the Reddit node to match your niche Optional: adjust the GPT prompt inside the Social Posts Generator to match your tone per platform Detailed per-step notes live inside the workflow as sticky notes
by Msaid Mohamed el hadi
🤖 Instagram Automation Suite: AI Chatbot & Content Powerhouse Workflow Overview This cutting-edge n8n workflow is a comprehensive automation solution designed to streamline various Instagram operations. It combines an intelligent AI chatbot for direct message management, automated user following, and an advanced content generation system, all integrated to enhance your Instagram presence and efficiency. This workflow automatically: Manages Instagram Direct Messages via Telegram Chatbot: Listens for new messages on Telegram. Routes messages from a specific Instagram user (Wolf23000) for processing. Utilizes an AI agent (powered by OpenRouter's cutting-edge models) to determine the intent of the message (e.g., chat back, run an Instagram-related action like getting profile info, posting, or following). Sends AI-generated responses back to the user via Telegram. Automates Instagram User Following: Scheduled to run at regular intervals (hourly). Processes a list of usernames (likely from a Google Sheet, though not explicitly shown in the provided JSON, it's a common pattern for "Auto Follow users from sheet" sticky note). Initiates following actions on Instagram for the specified users. Generates & Schedules Instagram Posts: Scheduled to run monthly. Leverages an AI agent (powered by OpenRouter) to generate 30 or 31 Instagram post ideas for the current month, based on a predefined "Instagram personality profile." Each post idea includes an imagePrompt (for AI image generation), a caption with emojis and hashtags, and a scheduledDate. Refines these post ideas by enhancing the imagePrompt to be more vivid and detailed for AI image generation, and polishing the caption for optimal engagement. Updates a Google Sheet ("posts generation plan") with the generated content, including the enhanced image prompts and the resulting image URLs (presumably from a separate image generation step not fully detailed in the provided JSON, but implied by image_url updates). Key Benefits Intelligent DM Management: Automate responses and actions for Instagram direct messages, ensuring timely and relevant interactions without manual effort. Effortless Audience Growth: Automatically follow target users, expanding your reach and potential engagement on Instagram. AI-Powered Content Creation: Generate a full month's worth of diverse, engaging Instagram post ideas tailored to a specific personality, complete with image prompts and captions. Content Optimization: Automatically enhance image prompts for better AI image generation and refine captions for maximum impact. Time-Saving: Significantly reduce the manual workload associated with Instagram management, from direct messages to content planning and execution. Consistent Brand Voice: Maintain a consistent and engaging presence on Instagram with AI-generated content aligned with your defined personality. Setup Requirements To set up and run this workflow, you'll need the following: n8n Installation: Install n8n (cloud or self-hosted). The latest stable version, as of July 2025, is v1.101.1. Import the workflow configuration. Configure API credentials for all integrated services. Set up scheduling preferences for continuous operation. System Requirements for Self-Hosting: A modern multi-core processor (2 cores minimum, 4 recommended), 2 GB RAM (4 GB or more recommended), and 20 GB of free SSD storage. Node.js version 16 or later (18.x LTS recommended) is required. PostgreSQL is the recommended database for production. Telegram API Access: Create a Telegram bot via BotFather and obtain your API token. Configure the Telegram Trigger node with your bot's API credentials to receive messages. Pricing: Telegram's API is free to use. OpenRouter API Access: Create an OpenRouter account and generate an API key. This key ({{your open router api key }} as seen in the code) is used to access their chat models (e.g., google/gemini-2.5-flash-preview) for AI agent operations. Pricing: OpenRouter offers a variety of models with different pricing structures, including some free models like DeepSeek R1. Most models operate on a pay-per-usage basis, with costs clearly displayed for each model and prompt. Instagram Session ID: You'll need a valid Instagram session ID ({{ your instagram session ID }} as seen in the code) for the workflow to interact with Instagram. This usually involves extracting it from your browser's cookies after logging into Instagram. Caution: Instagram's terms of service generally prohibit automated interactions, and using session IDs for scraping or automation can lead to account suspension. Use with extreme caution and at your own risk. Apify token setup: *You'll need to replace {{ your apify token }} with you apify token in https requests Google Sheets Credentials: A Google Cloud API key with access to Google Sheets. Set up OAuth2 authentication in n8n for read/write access to your "posts generation plan" spreadsheet (Document ID: 1XHNwAXR4USThaAzX1Y6M5PF2P8WqCBU8mi34FBLkV6M). This sheet is used to store and manage generated post ideas. Pricing: The Google Sheets API is generally free for most common use cases, with generous per-minute quotas (300 read and 300 write requests per minute per project, 60 per user per project). No additional charges are incurred for exceeding these limits. https://docs.google.com/spreadsheets/d/1Ze5SC1g6Q5VzMAKYx0zmqlT00Db1HOchUth1jrPyM2Y/edit?usp=sharing https://docs.google.com/spreadsheets/d/1XHNwAXR4USThaAzX1Y6M5PF2P8WqCBU8mi34FBLkV6M/edit?usp=sharing Predefined Instagram Personality JSON: The workflow relies on a detailed JSON object defining an "Instagram personality" (e.g., user_id, username, full_name, bio, content_preferences, personality_traits, unfulancer_attributes). This JSON needs to be correctly set within the Code nodes (Variables, Variables1, Variables2) to guide the AI content generation. Workflow Architecture [Telegram New Message Trigger] ⬇️ [Variables (Set OpenRouter API Key, Instagram Personality, Session ID)] ⬇️ [Switch (Filter messages from 'Wolf23000' and ensure message text exists)] ⬇️ [Edit Fields (Extract message text)] ⬇️ [AI Agent (Determine action based on message intent)] ⬇️ [Structured Output Parser (Parse AI agent's JSON output)] ⬇️ [Switch1 (Route based on AI agent's determined action: chat_back, run_agent, get_instagram_profile)] ⬇️ ┌─────────────┬─────────────┬─────────────┐ │ │ │ │ ▼ ▼ ▼ ▼ [Send a text message1 (Chat back)] [Send a text message (Run agent confirmation)] [Send a text message2 (Get profile confirmation)] ▲ │ [Schedule Trigger (Hourly for Instagram follow)] ⬇️ [Variables (Set OpenRouter API Key, Instagram Personality, Session ID)] ⬇️ [Code (Prepare usernames for following)] ⬇️ [Code1 (Process followed usernames)] ⬇️ [Schedule Trigger2 (Monthly for Instagram post generation)] ⬇️ [AI Agent1 (Generate monthly Instagram post ideas)] ⬇️ [OpenRouter Chat Model (AI Model for content generation)] ⬇️ [Code2 (Parse AI agent's JSON output)] ⬇️ [Schedule Trigger3 (Daily for post generation refinement and auto-posting)] ⬇️ [AI Agent2 (Enhance image prompts and captions)] ⬇️ [OpenRouter Chat Model2 (AI Model for prompt refinement)] ⬇️ [Update row in sheet1 (Update Google Sheet with enhanced content)] ⬇️ [Get row(s) in sheet2 (Retrieve data from Google Sheet)] Connect With Me Exploring AI-Powered Social Media Automation? 📧 Email: mohamedgb00714@gmail.com 💼 LinkedIn: Mohamed el Hadi Msaid Supercharge your Instagram presence with intelligent automation and AI-driven content\! 🚀
by Typhoon Team
This n8n template demonstrates how to use Typhoon OCR + LLM to digitize business cards, enrich the extracted details, and save them directly into Google Sheets or any CRM. It works with both Thai and English business cards and even includes an optional step to draft greeting emails automatically. Use cases: Automatically capture leads at events, enrich contact details before saving them into your CRM, or simply keep a structured database of your professional network. Good to know Two versions of the workflow are provided: 🟢 Without Search API → cost-free option using only Typhoon OCR + LLM 🔵 With Search API → adds Google Search enrichment for richer profiles (may incur API costs via SerpAPI) The Send Email step is optional — include it if you want to follow up instantly, or disable it if not needed. Typhoon provides a free API for anyone to sign up and use → opentyphoon.ai How it works A form submission triggers the workflow with a business card image (JPG/PNG). Typhoon OCR extracts text from the card (supports Thai & English). Typhoon LLM parses the extracted text into structured JSON fields (e.g., name, job title, organization, email). Depending on your chosen path: Version 1: Typhoon LLM enriches the record with job type, level, and sector. Version 2: The workflow calls the Search API (via SerpAPI) to add a profile/company summary. The cleaned and enriched contact is saved to Google Sheets (can be swapped with your preferred CRM or database). (Optional) Typhoon LLM drafts a short, friendly greeting email, which can be sent automatically via Gmail. How to use The included form trigger is just one example. You can replace it with: A webhook for uploads A file drop in cloud storage Or even a manual trigger for testing You can easily change the destination from Google Sheets to HubSpot, Notion, Airtable, or Salesforce. The enrichment prompt is customizable — adjust it to classify contacts based on your organization’s needs. Requirements Typhoon API key Google Sheets API credentials + a prepared spreadsheet (Optional) Gmail API credentials for sending emails (Optional) SerpAPI key for the Search API enrichment path Customising this workflow This AI-powered business card reader can be adapted to many scenarios: Event lead capture: Collect cards at conferences and sync them to your CRM automatically. Sales enablement: Draft instant greeting emails for new contacts. Networking: Keep a clean and enriched database of your professional connections.
by PollupAI
Who is this for This workflow is designed for Customer Success Managers and Sales Teams who manage high-volume pipelines in HubSpot. If you have prospects who stop responding after the contract is sent, this automation helps you recover them without manual follow-up. What it does This template automatically identifies deals that have "stalled" in your pipeline (specifically in the Contract Sent stage) and initiates a personalized re-engagement sequence. Monitors Pipeline: Runs on a schedule to find deals marked as stalled in HubSpot. Smart Filtering: Identifies all associated contacts for a deal and selects the first available contact. This ensures the email goes to a real person involved in the deal. Spam Prevention: Fetches the Last Contacted date from HubSpot. If there has been any activity (call, email, meeting) in the last 7 days, the workflow skips that contact. This safety gate prevents automation from interfering with active conversations. AI Personalization: Uses GPT-5-mini (via OpenAI) to generate a helpful check-in email. The prompt is context-aware, using the contact's name and deal stage to sound personal rather than generic. Multi-Channel Sync: Sends the approved email via Gmail, alerts the internal team in Slack, and logs the email body to the HubSpot Activity Timeline. How to set up Credentials: Connect your HubSpot, OpenAI, Slack, and Gmail accounts in n8n. Configuration: Open the Config: Setup Variables node and enter your Sender Name, Company Name, and Calendar Link. Slack Channel: Open the Slack: Notify CSM node and select the channel where you want your team to be alerted (e.g., #sales-alerts). HubSpot Settings: By default, this targets the contractsent stage. Ensure your HubSpot pipeline matches this ID. Requirements n8n** (Cloud or Self-hosted) HubSpot** account OpenAI** API Key Gmail* & *Slack** accounts How to customize the workflow Target Different Stages: To re-engage leads in other phases (e.g., "Qualification" or "Onboarding"), open the **HubSpot: Search Stalled Deals node and change the dealstage filter to your desired pipeline stage ID. Adjust the Safety Gate: The workflow blocks emails if there has been contact in the last **7 days. To change this window (e.g., to 30 days for cold leads), open the Filter: Last Activity Check node and edit the time value in the expression. Modify the AI Persona: Open the **AI: Generate Email node to edit the System Prompt. You can adjust the tone (formal vs. casual), lengths constraints, or language to match your brand voice.
by Țugui Dragoș
This workflow is a comprehensive, production-grade automation for B2B lead management and multichannel outreach, designed for Sales Development Representatives (SDRs), growth teams, and sales operations. It covers the entire SDR pipeline: from lead ingestion and validation, through enrichment, scoring, AI-powered outreach, reply handling, analytics, and reporting. Key Features: Lead validation (email, suppression, geo/GDPR) Multi-source data enrichment Lead scoring and tiering (HIGH/MEDIUM/LOW) AI-generated personalized cold emails (with A/B subject testing) Multichannel outreach (Email, LinkedIn, WhatsApp) with rate limiting and compliance AI-based reply simulation and intent classification Automated routing (qualification, follow-up, manual review) Full event logging to database Aggregated analytics and daily reporting Human-readable AI summary and Slack notifications What This Workflow Does 1. Lead Ingestion & Validation Loads leads from a source (test data, CRM, webhook, etc.) Validates email format and checks against suppression lists (blocked domains/emails) Applies geo and GDPR compliance logic (blocks/flags leads from restricted countries) 2. Data Enrichment Enriches each lead via one or more external APIs (company info, tech stack, revenue, etc.) Handles enrichment failures gracefully and logs them for analytics 3. Lead Scoring & Segmentation Scores leads based on industry, country, company size, revenue, and pain points Segments leads into HIGH, MEDIUM, or LOW tiers for tailored outreach 4. AI-Powered Outreach Generation Uses OpenAI (or compatible LLM) to generate personalized cold email content Creates A/B tested subject lines for each email Generates LinkedIn and WhatsApp message variants for multichannel outreach 5. Multichannel Outreach Execution Sends emails via SMTP (with rate limiting and quiet hours) Simulates LinkedIn and WhatsApp sends (can be replaced with real integrations) Logs all outreach events to a Postgres database 6. Reply Simulation & AI Classification Simulates a variety of lead replies (interested, not interested, follow-up, unclear) Uses AI to classify reply intent and suggest next actions 7. Automated Routing & Follow-up Routes leads based on AI classification: Interested: Schedules meeting, logs qualification, proposes follow-up Follow-up Later: Schedules future follow-up Not Interested: Marks as closed/lost Unclear: Flags for manual review and notifies team via Slack 8. Event Logging & Analytics Logs every significant event (enrichment, outreach, reply, status change) to a database Aggregates results by lead score, channel, and status Calculates key metrics (qualification rate, enrichment success, multichannel rate, etc.) 9. Reporting & Team Notification Generates a daily analytics row and stores it in the database Uses AI to create a human-readable summary of the run Posts a detailed summary to a Slack channel Use Cases Automated SDR Workflows:** Replace manual lead research, outreach, and follow-up with a fully automated, auditable process. Growth Experiments:** Run A/B tests on messaging, subject lines, and channels at scale. Sales Analytics:** Get transparent, granular reporting on every step of the SDR funnel. Compliance-First Outreach:** Ensure all outreach respects geo, GDPR, and suppression rules. AI-Driven Personalization:** Use LLMs to generate highly relevant, non-generic outreach at scale. Installation & Setup 1. Import the Workflow Download or copy the workflow from the n8n Template Store. In your n8n editor, click Import and paste the workflow JSON, or use the "Use Template" button. 2. Configure Required Credentials Postgres:** Set up a Postgres credential for event and analytics logging. SMTP:** Add your email provider's SMTP credentials for sending emails. OpenAI:** Add your OpenAI API key for AI-powered nodes. Slack:** Add your Slack API credential for notifications. Enrichment APIs:** Add credentials for any external enrichment APIs you use. 3. Customize Lead Source Replace the test data in the Load Test Leads node with your real lead source (e.g., webhook, CRM, Google Sheets, etc.). 4. Adjust Compliance & Suppression Logic Update the suppression lists and geo/GDPR logic in the relevant nodes to match your organization's requirements. 5. Review Multichannel Logic The workflow simulates LinkedIn and WhatsApp sends. Replace these with real integrations if needed. 6. Database Preparation Ensure your Postgres database has the following tables (or adjust node configs): lead_events (for all event logs) analytics_daily (for daily summary rows) meetings (for scheduled meetings) execution_runs (for workflow run metadata) 7. Test the Workflow Run the workflow manually with sample data. Check the database and Slack for logs and notifications. Review AI-generated content for tone and compliance. Configuration Details Rate Limiting:** Email, LinkedIn, and WhatsApp sends are rate-limited and respect quiet hours. A/B Testing:** Each email uses a randomly selected subject variant for ongoing optimization. AI Models:** Uses OpenAI GPT-4o-mini by default; can be swapped for other models. Event Logging:** Every action (enrichment, outreach, reply, status change) is logged with timestamp and payload for full traceability. Analytics:** Aggregates by lead score, channel, and status; calculates rates and averages. Slack Notifications:** Posts a summary of each run, including key metrics and AI-generated insights. Advanced Customization Add/Replace Enrichment APIs:** Plug in any HTTP-based enrichment service. Custom Lead Scoring:** Adjust the scoring logic in the Compute Lead Score node to fit your ICP. Custom AI Prompts:** Edit the system messages in AI nodes for your brand voice. Additional Channels:** Integrate SMS, phone, or other channels as needed. Webhook Triggers:** Replace manual trigger with webhook for real-time automation. Requirements n8n version 1.123.0 or later Postgres database (or adapt for your DB) SMTP email provider OpenAI API key (or compatible LLM) Slack workspace (for notifications) (Optional) Enrichment API keys Template Store Submission Notes All credentials are handled via n8n's credential system (no hardcoded secrets). The workflow is modular, well-commented, and ready for production use. All event and analytics logging is auditable and GDPR-compliant. Please review and test all integrations in your environment before using in production. Example Analytics Output | Metric | Value | |-----------------------|---------| | Total Leads | 100 | | Qualified | 22 | | Follow-up Scheduled | 15 | | Closed Lost | 40 | | Manual Review | 3 | | Qualification Rate | 22% | | Enrichment Success | 90% | | Multichannel Rate | 60% | Ready to automate your SDR pipeline? Import this workflow and start scaling your B2B outreach today!
by 荒城直也
Workflow Overview Zoom Attendance Evaluator with Follow-up is an n8n automation workflow that automatically evaluates Zoom meeting attendance and sends follow-up emails to no-shows and early leavers with recordings and materials. Who's it for Companies and organizations that regularly host online seminars and webinars Educational institutions conducting online classes Anyone looking to streamline participant attendance management and follow-up processes How it works Scheduled execution: Runs automatically every hour Fetch meeting data: Retrieves recent Zoom meetings and participant information Evaluate attendance: Automatically classifies participants into four categories: No-show: 0 minutes attended Early-leaver: Less than 50% attendance Partial attendance: 50-80% attendance Full attendance: Over 80% attendance Automatic follow-up: Sends automated emails with recording links and materials to no-shows and early leavers Record keeping: Logs all follow-ups to Google Sheets for tracking Requirements Zoom account: OAuth2 authentication setup required SMTP email server: Configuration needed (Gmail, SendGrid, etc.) Google Drive: For storing handout materials Google Sheets: For attendance logging Credentials for each service configured in n8n How to customize the workflow Adjust attendance thresholds: Modify the 50% and 80% values in the "Evaluate Attendance" node code Change execution frequency: Configure the time interval in the "Schedule Trigger" node Customize email template: Edit subject and body in the "Prepare Email Data" node Next session registration link: Replace the placeholder URL in the code with your actual registration link This workflow completely automates post-meeting follow-up tasks, helping improve participant engagement and reduce manual work.
by WeblineIndia
Quick Overview This workflow manually logs daily Gold and Silver prices from GoldAPI into Google Sheets, summarizes historical monthly averages, generates seasonal insights with Groq (LLM), builds QuickChart bar charts, and emails a formatted report via Gmail. How it works Starts manually and loads a two-item asset list (Gold/XAU and Silver/XAG) to process in a loop. For each commodity, calls the GoldAPI endpoint to fetch the latest INR price and converts it into a per-10g value with date and month fields. Checks Google Sheets for an existing row for the same commodity and date, keeps the higher of the two prices, and appends or updates the row in the historical sheet. Reads the full historical dataset from Google Sheets and calculates monthly average, minimum, and maximum prices grouped by month and commodity. Formats the monthly averages into a text block and sends it to a Groq-hosted chat model to generate a structured JSON insight summary for gold, silver, and the overall trend. Creates QuickChart URLs for separate Gold and Silver monthly-average bar charts and emails the AI summary and chart images using Gmail. Setup Add a GoldAPI key and set it in the HTTP request header (x-access-token) for the GoldAPI call. Connect Google Sheets OAuth credentials and select the target spreadsheet and sheet tab where rows are stored (e.g., the 04_HistoricalData sheet). Ensure the sheet has columns for ID, Date, Month, Price, and Commodity, and that ID is used as the upsert/matching key. Add Groq API credentials for the Groq chat model used to generate the JSON insights. Connect Gmail OAuth credentials and replace the placeholder recipient address ("RECEIVER MAIL ID") and subject as needed.
by Aslamul Fikri Alfirdausi
This n8n template demonstrates how to build O'Carla, an advanced all-in-one Discord AI assistant. It intelligently handles natural conversations, professional image generation, and visual file analysis within a single server integration. Use cases are many: Deploy a smart community manager that remembers past interactions, an on-demand artistic tool for your members, or an AI that can "read" and explain uploaded documents and images! Good to know API Costs:** Each interaction costs vary depending on the model used (Gemini vs. OpenRouter). Check your provider's dashboard for updated pricing. Infrastructure:* This workflow requires a separate Discord bot script (e.g., Node.js) to forward events to the n8n Webhook. It is recommended to host the bot using *PM2** for 24/7 uptime. How it works Webhook Trigger: Receives incoming data (text and attachments) from your Discord bot. Intent Routing: The workflow uses conditional logic to detect if the user wants an image (via keyword gambar:), a vision analysis (via attachments), or a standard chat. Multi-Model Intelligence: Gemini 2.5: Powers rapid and high-quality general chat reasoning. Llama 3.2 Vision (via OpenRouter): Specifically used to describe and analyze images or text-based files. Flux (via Pollinations): Uses a specialized AI Agent to refine prompts and generate professional-grade images. Contextual Memory: A 50-message buffer window ensures O'Carla maintains the context of your conversation based on your Discord User ID. Clean UI Output: Generated image links are automatically shortened via TinyURL to keep the Discord chat interface tidy. How to use Connect your Google Gemini and OpenRouter API keys in the respective nodes. Replace the Webhook URL in your bot script with this workflow's Production Webhook URL. Type gambar: [your prompt] in Discord to generate images. Upload an image or file to Discord to trigger the AI Vision analysis. Requirements n8n instance (Self-hosted or Cloud). Google Gemini API Key. OpenRouter API Key. Discord Bot Token and hosting environment. Customising this workflow O'Carla is highly flexible. You can change her personality by modifying the System Message in the Agent nodes, adjust the memory window length, or swap the LLM models to specialized ones like Claude 3.5 or GPT-4o.
by Felix Kemeth
Overview Staying up to date with fast-moving topics like AI, machine learning, research, or your specific industry can be tricky. To solve this for myself (for me, it is mostly AI and automation topics), I built and use this n8n workflow: it pulls fresh articles using NewsAPI based on my topics of interest, lets an AI agent pick the 5 most relevant ones, enriches them with a Tavily search engine, and sends a clean, readable newsletter straight to Telegram - in the language you specify. In this post, I'll: Explain what the workflow does and why it's useful Show you how to import and configure it step by step Highlight the main advantages and common customisations Outline concrete next steps and improvements After following this guide, you'll end up with a fully automated weekly newsletter that delivers relevant news on the topics you care about - without any manual work. This is ideal if you already run n8n and want a mostly no‑code way to get a curated weekly digest in Telegram. What this workflow does At a high level, this workflow: Runs on a schedule (weekly at 9:00 on Sundays by default) Automatically finds recent, relevant news via NewsAPI for your topics of interest Lets AI select the top 5 most relevant news Uses a Tavily-powered AI agent to fact-check and enrich each article Aggregates the final results into a compact newsletter in the language you specify Sends them as a Markdown-formatted Telegram message The result: every week you get an AI-picked, enriched mini-newsletter with the latest news based on your own interests - delivered in Telegram. Requirements To run this workflow, you need: NewsAPI key** Create an account here and generate an API key - it is free. Tavily API key** You can sign up here and create an API key. They also have a generous free tier. OpenAI API key** Get one from OpenAI - we need this for the LLM agent calls. Telegram bot + chat ID** A Telegram bot (via BotFather) and the chat/channel ID where you want the newsletter. It is also free. See for example here how to set that up. How it works The exact logic of the workflow is as follows: Schedule Trigger** Runs the workflow on a fixed interval (in this version: weekly, at 9:00 on Sundays). Set topics and language** A Set node that defines topics (my default is AI,n8n - use a comma-separated list) and language (here I have English, but choose what you prefer). Change these to match your interests (e.g. health,fitness, macroeconomics,markets, climate,policy, or anything you care about). Call NewsAPI** HTTP Request node calling the NewsAPI API. It uses as arguments: from: last 7 days¹ q: the query, built from your topics (topics like AI,n8n become AI OR n8n expected by the API)² sortBy: relevancy - the most relevant ones at the top of the results returned Auth is handled via an httpQueryAuth credential, where your NewsAPI key is passed as a query parameter. AI Topic Selector** An OpenAI - Message a model node using gpt-5.1 via your OpenAI API key with the following prompt: You are an assistant that selects the most relevant news articles for a user. Instructions: Choose the 5 most relevant non-overlapping articles based on the user topics. For each article, provide: title short summary (1–2 sentences) source name url Output the results in the language specified by the user. Output as a "articles" JSON array of objects, each with "title", "summary", "source" and "url". User topics of interest: {{ $('Set topics and language').item.json.topics }} Output language: {{ $('Set topics and language').item.json.language }} NewsAPI articles: {{ $json.articles.map( article => `Title: ${article.title} Description: ${article.description} Content: ${article.content} Source: ${article.source.name} URL: ${article.url}` ).join('\n---\n') }} The prompt instructs the model to read your topics and language, look at all articles from the NewsAPI call (it returns a maximum of 100), select the 5 most relevant, non-overlapping articles, and output a JSON array with title, summary, source and url. Split Out** Splits out the AI message so each article becomes its own item. This lets the downstream AI agent work on each article individually. Under the hood, we parse the JSON array returned by the AI into individual items, so that each article becomes its own item in n8n. This lets the AI Agent node enrich each article separately. Newsletter AI Agent** An AI Agent node with gpt-5.1 as model, again accessed via your OpenAI API key. The agent takes the initial title, summary, source and url, uses the Tavily search tool to find 2–3 reliable, recent sources, and writes a concise 1–3 sentence article in the language you specified. The prompt for the model is shown below. You are a research writer that updates short news summaries into concise, factual articles. Input: Title: {{ $json["title"] }} Summary: {{ $json["summary"] }} Source: {{ $json["source"] }} Original URL: {{ $json["url"] }} Language: {{ $('Set topics and language').item.json.language }} Instructions: Use Tavily Search to gather 2–3 reliable, recent, and relevant sources on this topic. Update the title if a more accurate or engaging one exists. Write 1–3 sentences summarizing the topic, combining the original summary and information from the new sources. Return the original source name and url as well. Output (JSON): { "title": "final article title", "content": "concise 1–3 sentence article content", "source": "the name of the original source", "url": "the url of the original source" } Rules: Ensure the topic is relevant, informative, and timely. Translate the article if necessary to comply with the desired language {{ $('Set topics and language').item.json.language }}. In particular, the prompt instructs the model to Use Tavily Search to gather 2–3 reliable, recent, and relevant sources on this topic. Update the title if a more accurate or engaging one exists Write 1–3 sentences summarizing the topic, combining the original summary and information from the new sources Reply in a pre-defined JSON format including the original source name and url. The Output Parser enforces a structured JSON output with title, content, source and url as fields. Because the model is allowed to adjust titles, you may occasionally see slightly different titles than in the original feed; if you prefer minimal changes, you can tighten the prompt to only allow small tweaks. Aggregate** Aggregate node collecting the output field from the agent. Combines the individual article objects back into one array to be used for messaging. Send a text message** A Telegram - Send a text message node that uses your Telegram bot credentials and chatId. Renders each article as title, content plus Source: source. > To adjust this workflow for your needs, open the Set topics and language node to tweak topics (comma-separated, like AI,startups,LLMs or web dev,TypeScript,n8n) and switch the language to any target language, then inspect the Schedule Trigger to adjust interval and time, e.g. weekly at 07:30. These two tweaks control the content topics of your newsletter and when you will receive it. Why this workflow is powerful End-to-end automation** From news discovery to curated delivery, everything is automated. AI-driven topic relevance** Instead of naïvely listing every headline the AI filters for relevance to your topics and avoids overlapping or duplicate stories. Grounded in facts** By using NewsAPI and Tavily, the newsletter stays fact-based, i.e. you get short, factual summaries grounded in multiple sources. Flexibility** A single parameter (language) lets you specify the output language, while the Schedule Trigger lets you set the frequency. Low friction and mobile-first** Using Telegram as a consumption surface provides quick, low-friction reading, with push notifications as notifiers. Next steps Here are concrete directions to take this workflow further: RAG-workflow for better topic selection** Use a Retrieval-Augmented Generation pattern to let the model better choose topics that align with your evolving preferences. Right now, all news articles go into the prompt, which may bias the model to pick articles that appear first. Prompt iteration and evaluation framework** Systematically experiment with different selection criteria (e.g. "more technical", "more beginner-friendly"), tone and length of the newsletter. Logging using n8n data tables** Persist previous newsletter to avoid repetition and for better debugging. Using the source links provided in the newsletter, track which articles were clicked to enable 1:1 personalization. Email with HTML template** For more flexibility, send the newsletter via email. Trigger based on news relevance** Instead of (or in addition to) a fixed schedule, compute a "relevance score" or "novelty score" across articles. Trigger only when the score crosses a threshold. Incorporating other news APIs or RSS feeds** Add more sources such as other news APIs and RSS feeds from blogs, newsletters, or communities. Adjust for arxiv paper search and research news** Swap NewsAPI for arxiv search or other academic sources to obtain a personal research digest newsletter. Add 1:1 personalization by tracking URL clicks** Use n8n data tables to track which URLs have been clicked. Use this information as input to future AI runs to refine the news suggestions. Audio and video news** Use audio or video models for better news communication. Wrap-up This workflow shows how I use n8n, NewsAPI, Tavily, OpenAI, and Telegram to create a personal weekly newsletter. It’s mostly no-code, easy to customize, and something I rely on myself to stay informed without spending time browsing news manually. Contact me here, visit my website, or connect with me on LinkedIn. Footnotes we do that here with the JS expression ={{ DateTime.fromISO($json.timestamp).minus({ days: 7 }) }} we do that here with the JS expression {{ $json.topics.replaceAll("," , " OR ") }}
by PDF Vector
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. Intelligent Document Monitoring and Alert System This workflow creates an automated monitoring system that watches for new PDF reports across multiple sources, extracts key insights using AI, and sends formatted alerts to your team via Slack or email. By combining PDF Vector's parsing capabilities with GPT-powered analysis, teams can stay informed about critical documents without manual review, ensuring important information never gets missed. Target Audience & Problem Solved This template is designed for: Finance teams** monitoring quarterly reports and regulatory filings Compliance officers** tracking policy updates and audit reports Research departments** alerting on new publications and preprints Operations teams** monitoring supplier reports and KPI documents Executive assistants** summarizing board materials and briefings It solves the problem of information overload by automatically processing incoming documents, extracting only the most relevant insights, and delivering them in digestible formats to the right people at the right time. Prerequisites n8n instance with PDF Vector node installed PDF Vector API credentials with parsing capabilities OpenAI API key for insight extraction Slack workspace admin access (for Slack alerts) SMTP credentials (for email alerts) FTP/Cloud storage access for document sources Minimum 50 API credits for continuous monitoring Step-by-Step Setup Instructions Configure Document Sources Set up FTP credentials in n8n for folder monitoring Or configure Google Drive/Dropbox integration Define the folder paths to monitor Set file naming patterns to watch (e.g., "report.pdf") Set Up API Integrations Add PDF Vector credentials in n8n Configure OpenAI credentials with appropriate model access Set up Slack app and add webhook URL Configure SMTP settings for email alerts Configure Monitoring Schedule Open the "Check Every 15 Minutes" node Adjust frequency based on your needs: // For hourly checks: "interval": 60 // For real-time monitoring (every 5 min): "interval": 5 Customize Alert Channels Slack Setup: Create dedicated channels (#reports, #alerts) Configure webhook for each channel Set up user mentions for urgent alerts Email Setup: Define recipient lists by document type Configure email templates Set up priority levels for subject lines Define Alert Rules Modify the "Extract Key Insights" prompt for your domain Set conditions for high-priority alerts Configure which metrics trigger notifications Define sentiment thresholds Implementation Details The workflow implements a comprehensive monitoring pipeline: Source Monitoring: Polls multiple sources for new PDFs Intelligent Parsing: Uses LLM-enhanced parsing for complex documents Insight Extraction: AI analyzes content for key information Priority Classification: Determines alert urgency based on content Multi-Channel Delivery: Sends formatted alerts via configured channels Audit Trail: Logs all processed documents for compliance Customization Guide Adding Custom Document Types: Extend the routing logic for specific document types: // In "Route by Document Type" node: const documentTypes = { 'invoice': /invoice|bill|payment/i, 'contract': /contract|agreement|terms/i, 'report': /report|analysis|summary/i, 'compliance': /audit|compliance|regulatory/i }; Customizing Insight Extraction: Modify the AI prompt for domain-specific analysis: // Financial documents: "Extract: 1) Revenue figures 2) YoY growth 3) Risk factors 4) Guidance changes" // Compliance documents: "Extract: 1) Policy changes 2) Deadlines 3) Required actions 4) Penalties" // Research papers: "Extract: 1) Key findings 2) Methodology 3) Implications 4) Future work" Advanced Alert Formatting: Create rich Slack messages with interactive elements: // Add buttons for quick actions: { "type": "actions", "elements": [ { "type": "button", "text": { "type": "plain_text", "text": "View Full Report" }, "url": documentUrl }, { "type": "button", "text": { "type": "plain_text", "text": "Mark as Read" }, "action_id": "mark_read" } ] } Implementing Alert Conditions: Add sophisticated filtering based on content: // Alert only if certain conditions are met: if (insights.metrics.revenue_change < -10) { priority = 'urgent'; alertChannel = '#executive-alerts'; } if (insights.findings.includes('compliance violation')) { additionalRecipients.push('legal@company.com'); } Adding Document Comparison: Track changes between document versions: // Compare with previous version: const previousDoc = await getLastVersion(documentType); const changes = compareDocuments(previousDoc, currentDoc); if (changes.significant) { alertMessage += \n⚠️ Significant changes detected: ${changes.summary}; } Alert Features: Monitor multiple document sources (FTP, cloud storage, email) Extract key metrics and findings with AI Send rich, formatted notifications Track document processing history Conditional alerts based on content analysis Multi-channel alert routing Use Cases: Financial report monitoring Compliance document tracking Research publication alerts Customer report distribution Board material summarization Regulatory filing notifications Advanced Configuration Performance Optimization: Implement caching to avoid reprocessing Use batch processing for multiple documents Set up parallel processing for different sources Security Considerations: Encrypt sensitive document storage Implement access controls for different alert channels Audit log all document access
by Cheng Siong Chin
Introduction Automate price monitoring for e-commerce competitors—ideal for retailers, analysts, and pricing teams. Scrapes competitor sites, extracts pricing/stock data via AI, detects changes, and sends instant alerts for dynamic pricing strategies. How It Works Scrapes competitor URLs via Firecrawl and Apify, extracts data with AI, detects price/stock changes, logs to Google Sheets, and sends Telegram alerts. Workflow Template Trigger → Scrape URL → AI Extract → Parse → Merge Historical → Detect Changes → Update Sheets + Send Telegram Alert Workflow Steps Trigger & Scrape → Manual/scheduled trigger → Firecrawl + Apify fetch competitor data AI Processing → Claude extracts product details → Parses and structures data Change Detection → Reads historical prices → Merges with current data → Identifies updates Output → Logs alerts to Sheets → Updates historical data → Sends Telegram notification Setup Instructions 1. Firecrawl API Get key from dashboard → Add to n8n 2. Apify API Get key from console → Add to n8n → Configure actors 3. AI Model (Claude/OpenAI) Get API key → Add to n8n 4. Google Sheets OAuth2 Create OAuth2 in Google Cloud Console → Authorize in n8n → Enable API 5. Telegram Bot Create via BotFather → Get token & chat ID → Add to n8n 6. Spreadsheet Setup Create Sheet with required columns → Copy ID → Paste in workflow Prerequisites Self-hosted n8n, Firecrawl account, Apify account, Claude/OpenAI API key, Google account (Sheets OAuth2),Telegram bot Customization Add more URLs, adjust scraping intervals, change detection thresholds, switch to Slack/email alerts, integrate databases Benefits Saves 2+ hours daily, real-time tracking, automated alerts, historical analysis, multi-source scraping