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 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 Rahul Joshi
Quick Overview This workflow collects a construction Scope of Work PDF via an n8n form, uses Azure OpenAI to extract BOQ-style line items, prices them using a Google Sheets unit-rate database, generates a formatted Google Docs bid report, logs the estimate to Google Sheets, and emails the result via Gmail. How it works Receives project details and a Scope of Work PDF through an n8n form submission. Extracts text from the uploaded PDF and sends it to Azure OpenAI (GPT-4o-mini) to return structured JSON line items. Cleans and parses the AI response into individual BOQ items enriched with project name, client name, and estimator email. Looks up matching unit rates in a Google Sheets UnitRates sheet using keyword matching and applies category-based fallback rates when no match is found. Calculates total cost per line item, aggregates all items, and builds a bid summary with category totals and grand totals including 18% GST. Creates a Google Docs report, writes the full bid content into the document, and appends the generated estimate text to a Google Sheets BidLog sheet. Emails the estimator via Gmail with key totals and a link to the Google Docs report. Setup Add credentials for Azure OpenAI, Google Sheets OAuth2, Google Docs OAuth2, Gmail OAuth2, and Slack OAuth2 (for error alerts). Create or update a Google Sheets file with a UnitRates sheet containing columns like “Description Keyword”, “Unit Rate (₹)”, and “Source / Project Ref”, and ensure a BidLog sheet exists for appended logs. Replace the placeholder Google Sheets document ID and the Google Drive folder ID in the Google Sheets and Google Docs nodes. Activate the workflow and share the generated n8n form URL with estimators so they can upload SOW PDFs and receive emailed estimates.
by Milos Vranes
Quick overview This workflow handles Twilio recording-complete webhooks, downloads the call audio, transcribes it with OpenAI Whisper, and uses Anthropic Claude to extract structured call insights. It logs every call to Google Sheets, emails urgent calls via Gmail, and returns an empty TwiML response to close the Twilio request. How it works Receives a Twilio Recording Status Callback webhook when an inbound call recording is completed. Normalizes the webhook payload to capture the call SID, caller/recipient numbers, recording URL, duration, and a timestamp. Downloads the MP3 recording from Twilio using HTTP Basic Auth and sends the audio to OpenAI Whisper to generate a transcript. Sends the transcript and call metadata to Anthropic Claude and parses its JSON output into fields like intent, urgency, summary, sentiment, and whether a callback is needed. Appends the combined call metadata, transcript, and AI analysis to a Google Sheets tab for logging and reporting. If the call is flagged as urgent (high urgency or a complaint), sends a detailed HTML alert email via Gmail. Returns an empty TwiML XML response to Twilio to complete the webhook response cleanly. Setup Configure Twilio call recording (TwiML Bin/Studio/Voice setup) and set the Recording Status Callback URL to this workflow’s webhook endpoint. Add Twilio HTTP Basic Auth credentials in n8n (Account SID as username and Auth Token as password) and attach them to the Twilio recording download request. Add an OpenAI API key as an HTTP Header Auth credential (Authorization: Bearer ) for the Whisper transcription request. Add an Anthropic API key as an HTTP Header Auth credential (x-api-key: ) for the Claude messages request. Connect Google Sheets credentials, replace the spreadsheet ID, and create an “Inbound Calls” sheet with columns matching the logged fields. Connect Gmail credentials and replace the recipient address (you@example.com) with the operator inbox for urgent-call alerts.
by Incrementors
Quick overview This workflow creates a session-based chatbot in n8n Chat that loads “skills” from Google Sheets and uses OpenAI GPT-4o-mini to respond strictly according to the matched skill’s trigger phrases and instructions. How it works Receives each message from the built-in n8n Chat trigger. Retrieves all rows from a Google Sheets document that contains a Skills tab. Filters the rows to skills marked Active = Yes and formats them into a structured skills context for the agent. Uses an OpenAI GPT-4o-mini powered agent with session memory to match the user message to the best skill via trigger phrases and generate a response that follows the skill instructions exactly. Sends the agent’s output back to the n8n chat interface. Setup Create a Google Sheet with a Skills tab and columns for Skill Name, Trigger Phrases, Instructions, Example Output, and Active (set to Yes for enabled skills). Add a Google Sheets OAuth credential and replace YOUR_SKILLS_SHEET_ID with your spreadsheet ID. Add an OpenAI credential and ensure the model is set to gpt-4o-mini. Activate the workflow and use the Chat Trigger URL to start a conversation. Requirements Active n8n instance (self-hosted or cloud) OpenAI account with GPT-4o-mini API access Google Sheets with a tab named Skills — column headers must be added before the first run At least one skill row with Active set to Yes before testing Customization Add more skills at any time — open your Google Sheet, add a new row with a skill name, trigger phrases, instructions, and set Active to Yes — the change takes effect on the next chat message with no workflow changes needed Swap GPT-4o-mini for a different model — open the OpenAI — GPT-4o-mini step and change the model selection to gpt-4o or gpt-4.1-mini depending on the response quality and cost balance you need Add a fallback email alert for unmatched messages — after node 5. Respond to Chat, add a Gmail step with an IF check that fires when the response contains the fallback message text, sending you an email with the unmatched question so you can add a new skill to cover it Change the session memory window — open the Session Memory step and adjust the window size to store more or fewer previous messages in the conversation context — a larger window improves multi-turn follow-ups but uses more tokens Add a Slack interface instead of the built-in chat — replace node 1. Chat Trigger with a Slack trigger that listens for messages in a specific channel, so your team can use the skills chatbot directly from Slack without opening n8n Additional info Trigger phrases drive skill matching — the more specific and varied your trigger phrases are, the more accurately the agent picks the right skill. For example, instead of just "email" use "cold email, outreach email, sales email, prospecting email" to cover different ways users might phrase the same request. If a user message could match multiple skills, the agent picks the most relevant one based on the full message context. If you notice the wrong skill being selected, make the trigger phrases of each skill more distinct from each other. The Active column controls which skills are loaded on each run. Setting a row to anything other than Yes — including No, Inactive, or leaving it blank — silently excludes it. You can use this to turn skills on and off without deleting them. The workflow reads the full Skills tab on every single chat message. For large skill sheets with many rows this adds a small delay. If you have more than 50 skills and notice slow responses, consider archiving inactive skills to a separate tab to keep the active tab lean.
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 Rahul Joshi
Description Automatically capture customer onboarding help requests from Typeform, log them in Google Sheets, validate email addresses, and send a professional HTML welcome email via Gmail. Ensures smooth onboarding communication with audit-ready tracking and error handling. 📝📧 What This Template Does Monitors Typeform submissions for new onboarding help requests. 📥 Logs all responses into Google Sheets with structured fields. 📊 Validates email addresses to prevent errors. ✅ Generates professional HTML welcome emails with company branding. 🎨 Sends onboarding emails directly via Gmail. 📧 Handles missing or invalid emails with error logging. ⚠️ Key Benefits Streamlines customer onboarding request handling. ⏱️ Creates a centralized log for analytics and audits. 🧾 Improves customer experience with branded email communication. 💡 Reduces manual effort in follow-up and data entry. 🔄 Ensures reliable handling of incomplete or invalid submissions. 🛡️ Features Typeform trigger for new form submissions. 📝 Automatic Google Sheets logging of customer details. 📈 Conditional email validation before sending. 🔍 Dynamic HTML email generation with customer details. 🎨 Automated Gmail delivery of welcome emails. 📧 Error handling node for missing/invalid email submissions. 🚨 Requirements n8n instance (cloud or self-hosted). Typeform API credentials with webhook permissions. Google Sheets OAuth2 credentials with spreadsheet write access. Gmail OAuth2 credentials with send email permissions. Pre-configured Google Sheet for onboarding request tracking. Target Audience Customer success and onboarding teams. 👩💻 SaaS startups managing onboarding inquiries. 🚀 Support teams handling product/service onboarding. 🛠️ SMBs looking for efficient onboarding automation. 🏢 Remote teams needing structured onboarding workflows. 🌐 Step-by-Step Setup Instructions Connect Typeform, Google Sheets, and Gmail credentials in n8n. 🔑 Insert your Typeform form ID in the trigger node. 📝 Replace the Google Sheet ID with your tracking sheet. 📊 Map form fields to spreadsheet columns (ensure headers match). 🔗 Customize email HTML template with branding and company info. 🎨 Update sender email in the Gmail node. 📧 Test the workflow with a sample form submission. ✅
by Jitesh Dugar
Workshop Certificate Pre-Issuance System 🎯Description Transform your event registration process with this comprehensive automation that eliminates manual certificate creation and ensures only verified attendees receive credentials. ✨ What This Workflow Does This powerful automation takes workshop/event registrations from Jotform and: Validates Email Addresses - Real-time verification using VerifiEmail API to prevent bounced emails and spam registrations Generates Professional PDF Certificates - Creates beautifully designed certificates with attendee name, event details, and unique QR code Saves to Google Drive - Automatically organizes all certificates in a dedicated folder with searchable filenames Sends Confirmation Emails - Delivers professional HTML emails with embedded certificate preview and download link Maintains Complete Records - Logs all successful and failed registrations in Google Sheets for reporting and follow-up 🎯 Perfect For Workshop Organizers** - Pre-issue attendance confirmations Training Companies** - Automate enrollment certificates Conference Managers** - Streamline attendee credentialing Event Planners** - Reduce check-in time with QR codes Educational Institutions** - Issue course registration confirmations Webinar Hosts** - Send instant confirmation certificates 💡 Key Features 🔒 Email Verification Validates deliverability before issuing certificates Detects disposable/temporary emails Prevents spam and fake registrations Reduces bounce rates to near-zero 🎨 Beautiful PDF Certificates Professional Georgia serif design Customizable colors and branding Unique QR code for event check-in Unique certificate ID for tracking Print-ready A4 format 📧 Professional Email Delivery Mobile-responsive HTML design Embedded QR code preview Direct link to Google Drive PDF Branded confirmation message Event details and instructions 📊 Complete Tracking All registrations logged in Google Sheets Separate tracking for failed validations Export data for check-in lists Real-time registration counts Deduplication by email ⚡ Lightning Fast Average execution: 15-30 seconds Instant delivery after registration No manual intervention required Scales automatically 🔧 Technical Highlights Conditional Logic** - Smart routing based on email validity Data Transformation** - Clean formatting of form data Error Handling** - Graceful handling of invalid emails Merge Operations** - Combines form data with verification results Dynamic QR Codes** - Generated with verification URLs Secure Storage** - Certificates backed up in Google Drive 📦 What You'll Need Required Services: Jotform - For registration forms VerifiEmail API - Email verification service Google Account - For Gmail, Drive, and Sheets HTMLCSStoPDF - PDF generation service Estimated Setup Time: 20 minutes 🚀 Use Cases Workshop Series Issue certificates immediately after registration Reduce no-shows with professional confirmation Easy check-in with QR code scanning Virtual Events Instant confirmation for webinar attendees Digital certificates for participants Automated follow-up communication Training Programs Pre-enrollment certificates Attendance confirmations Course registration verification Conferences & Meetups Early bird confirmation certificates Attendee badge preparation Venue capacity management 📈 Benefits ✅ Save Hours of Manual Work - No more creating certificates one by one ✅ Increase Attendance - Professional confirmations boost show-up rates ✅ Prevent Fraud - Email verification stops fake registrations ✅ Improve Experience - Instant delivery delights attendees ✅ Stay Organized - All data tracked in one central location ✅ Scale Effortlessly - Handle 10 or 10,000 registrations the same way 🎨 Customization Options The workflow is fully customizable: Certificate Design** - Modify HTML template colors, fonts, layout Email Template** - Adjust branding and messaging Form Fields** - Adapt to your specific registration needs QR Code Content** - Customize verification data Storage Location** - Choose different Drive folders Tracking Fields** - Add custom data to Google Sheets 🔐 Privacy & Security Email addresses verified before certificate issuance Secure OAuth2 authentication for all Google services No sensitive data stored in workflow GDPR-compliant data handling Certificates stored in private Google Drive 📱 Mobile Responsive Professional emails display perfectly on all devices QR codes optimized for mobile scanning Certificates viewable on phones and tablets Download links work seamlessly everywhere 🏆 Why This Workflow Stands Out Unlike basic registration confirmations, this workflow: Validates emails before generating certificates** (saves resources) Creates actual PDF documents** (not just email confirmations) Includes QR codes for event check-in** (reduces venue queues) Maintains dual tracking** (successful + failed attempts) Provides shareable Drive links** (easy resending) Works 24/7 automatically** (no manual intervention) 🎓 Learning Opportunities This workflow demonstrates: Conditional branching based on API responses Data merging from multiple sources HTML to PDF conversion Dynamic content generation Error handling and logging Professional email template design QR code integration Cloud storage automation 💬 Support & Customization Perfect for n8n beginners and experts alike: Detailed sticky notes** explain every step Clear node naming** makes it easy to understand Modular design** allows easy modifications Well-documented code** in function nodes Example data** included for testing 🌟 Get Started Import the workflow JSON Connect your credentials (Jotform, VerifiEmail, Google) Create your registration form Customize the certificate design Test with a sample registration Activate and watch it work! Tags: #events #certificates #automation #email-verification #pdf-generation #registration #workshops #training #conferences #qr-codes Category: Marketing & Events Difficulty: Intermediate
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