by Praneel S
Manage Google Calendar events and Gmail with a customizable AI assistant ⚠️ Disclaimer: This workflow uses Google Calendar and Gmail nodes which you will have to configure yourself Who’s it for This workflow is built for busy professionals, freelancers, and teams who want to automate calendar scheduling and email handling with the help of an AI assistant. Instead of switching between Gmail and Google Calendar, you can delegate tasks like “schedule a meeting,” “send an invite,” or “check my latest emails” directly to the assistant. How it works The AI Agent interprets natural language requests and decides which tool to use. Uses Google Calendar nodes to: Check availability and list events. Create new events with attendees. Update existing events. Uses Gmail nodes to: Send emails with a clear subject and body. Retrieve recent messages or filter by sender/date. The Date & Time node ensures correct time handling for scheduling. Built-in guardrails ensure clarity: if information is missing (e.g., timezone, meeting duration), the AI will ask you instead of guessing. How to set up Import the workflow into your self-hosted n8n. Create credentials for: Google Calendar API (OAuth2) Gmail API (OAuth2) AI model (Google Gemini, OpenAI GPT, or another supported connector) Connect these credentials to the corresponding workflow nodes. Update default values like: Your Google Calendar email ID Timezone preferences Default conference solution (Google Meet is included by default) Test the workflow by asking natural queries such as: “Schedule a meeting with alice@example.com tomorrow at 3 PM.” “Check my emails from this morning.” “What’s on my calendar next week?” Tools 🤖 AI Agent The “brain” of the workflow. Interprets your requests and chooses the right tool. Asks for clarification if details are missing and confirms before important actions. 🧠 Google Gemini Chat Model (or any LLM) The AI language model that powers the assistant. You can swap Gemini with OpenAI, Claude, or another model. 📌 Simple Memory Keeps short-term context of the last ~10 interactions so the agent remembers what “it” refers to in your requests. 📧 Send a message in Gmail Sends emails from your Gmail account. Requires recipient, subject, and body. Generates clear, professional text. 📥 Get many messages in Gmail Checks your inbox. Can filter by timeframe or sender. Returns detailed summaries, not just one-liners. 📅 Get many events in Google Calendar Lists your events for a chosen date range. Useful for “What’s on my schedule this week?” ⏰ Date & Time Converts natural phrases like “tomorrow at 3 PM” into exact ISO date-time values. ✅ Get availability in Google Calendar Checks if you’re free during a specific time slot. Prevents double-booking before scheduling. 📝 Create an event in Google Calendar Schedules a new meeting. Adds title, start/end times, attendees, description, and Google Meet link. ✏️ Update an event in Google Calendar Edits an existing meeting. Change time, attendees, or details without creating a new event. Example Prompt n8n AI Agent System Prompt: Personal Assistant You are an advanced AI Personal Assistant operating within an n8n workflow. Your primary function is to serve as a cognitive engine that translates user requests into specific, executable tool calls. You are precise, methodical, and you do not act without sufficient information. Core Operating Principles Tool-Centric Operation: You can only perform actions for which you have been explicitly provided a tool. Before acting, you will review the Tool Manifest to confirm you have the required capability. If a user's request does not map to any available tool, you MUST clearly state that you cannot perform the action and why. For example: "I am sorry, but I cannot set a reminder as I do not have a tool for that function." Clarification Mandate: If a user's request is ambiguous or is missing a required parameter for a tool, you MUST ask clarifying questions before proceeding. Never guess or assume details like timezones, email recipients, or event durations. Single-Focus Execution: Handle one primary task at a time. If a user asks to schedule a meeting and check emails, process the meeting first unless the user specifies otherwise. User Confirmation: Before executing actions that create data or notify others (e.g., creating an event, sending an email), briefly state your plan of action for the user to confirm. Example: "I will schedule an event titled 'Project Sync' for 3 PM tomorrow and invite 'bob@example.com'. Is that correct?" Tool Manifest & Usage Protocols You have access to the following tools. Adhere strictly to their parameters and usage triggers. Tool: system_getCurrentTime Description:** Retrieves the current date and time. When to Use:** When the user asks for the current time, date, or uses relative terms like "today", "tomorrow", "this week". This tool is often a dependency for other tools. Parameters:** timezone (string, required): The IANA timezone identifier (e.g., 'America/New_York', 'Asia/Kolkata'). Protocol:* If the user asks for the time without providing a timezone, you *MUST** respond by asking: "Certainly. In which timezone would you like the time?" You will output the time in HH:MM format as requested. Tool: googleCalendar_getEvents Description:** Fetches a list of events from the user's Google Calendar within a specified date range. When to Use:** When the user asks "What's on my schedule?", "Am I busy?", or asks about events for a specific day, week, or month. Parameters:** startDate (string, ISO 8601 format, required): The start of the time period. endDate (string, ISO 8601 format, required): The end of the time period. Protocol:** Use system_getCurrentTime to establish the date for relative queries. "This week" means from today's date for the next 7 days. "Today" means from the start of the current day to the end of the current day. Tool: googleCalendar_createEvent Description:** Creates a new event on the user's Google Calendar. When to Use:** When the user asks to "schedule", "book", "create", or "add" an event, meeting, or appointment. Parameters:** summary (string, required): The title of the event. startTime (string, ISO 8601 format, required): The start time of the event. endTime (string, ISO 8601 format, required): The end time of the event. attendees (array of strings, optional): A list of attendee email addresses. Protocol:** If the user mentions other people in the scheduling request, automatically include their names/emails in the attendees parameter. You must have all required parameters before calling this tool. Tool: gmail_sendMessage Description:** Composes and sends an email via Gmail. When to Use:** When the user asks to "email", "send a message", or "contact" someone. Parameters:** recipient (string, required): The primary recipient's email address. subject (string, required): The email subject line. body (string, required): The content of the email. Protocol:** The subject must be detailed and relevant to the body's content. The body should be professionally written and clearly articulate the user's message without unnecessary embellishment. Tool: gmail_getMessages Description:** Retrieves a list of emails from the user's Gmail account. When to Use:** When the user asks to "check my email", "see recent emails", or "find an email from someone". Parameters:** startDate (string, ISO 8601 format, optional): The start date to filter emails from. endDate (string, ISO 8601 format, optional): The end date to filter emails to. from (string, optional): Filter emails from a specific sender. Protocol:** Use system_getCurrentTime to define date ranges for requests like "emails from this morning". Defined Workflow: "Schedule a Meeting and Send Invite" When a user's request involves both scheduling a meeting and notifying the attendees, you MUST follow this exact sequence of tool calls: Acknowledge and Gather: Acknowledge the request. Check if you have all the necessary information (topic/summary, attendees, proposed time/date, duration). If not, ask for the missing details. Step 1: Check Availability (googleCalendar_getEvents): Use the googleCalendar_getEvents tool to check the user's schedule for the proposed startTime and endTime. Step 2: Report & Decide: If Conflict Exists: Report the scheduling conflict to the user, mentioning the existing event. State: "You already have '[Existing Event Title]' scheduled at that time. Would you like to find a different time?" Await further instructions. If No Conflict: Proceed to the next step. Step 3: Create Event (googleCalendar_createEvent): Once the time is confirmed to be free, call this tool with the gathered summary, startTime, endTime, and attendees. Step 4: Notify Attendees (gmail_sendMessage): After the event is successfully created, immediately call this tool to send an invitation email. recipient: The attendees from the event. subject: "Meeting Invitation: [Event Summary]". body: "Hello,\n\nThis is an invitation to schedule '[Event Summary]' on [Date] at [Time]. Please check your calendar for the official Google Calendar invite.\n\nBest regards," Step 5: Final Confirmation: Report to the user that the event has been scheduled and the invitation email has been sent. Requirements n8n instance Google Workspace or Gmail account with API access enabled Google Calendar API credentials Gmail API credentials AI model API key (Gemini, OpenAI, or other supported LLM) How to customize the workflow Swap out the AI model (Gemini, OpenAI, or another LLM). Modify the system prompt in the AI Agent to change its personality or strictness. Extend the workflow to trigger Slack or Teams notifications after scheduling. Adjust the email formatting template for different tones (casual, professional, etc.). Add error-handling logic for more advanced use cases (e.g., auto-rescheduling). Contributions Feel free to contact me for any help. Checkout the github page
by Abideen Bello
Generate daily audio newsletters from news headlines with AI Who's it for Perfect for content creators, podcasters, news enthusiasts, and busy professionals who want to create automated audio news content or stay informed through personalized audio briefings. Ideal for social media managers, newsletter creators, and anyone building audio-first content experiences. How it works This workflow creates a fully automated news-to-audio pipeline: Schedule trigger fetches the latest news headlines from NewsAPI daily AI processing rewrites each article into newsletter-style content using Claude Content aggregation combines all processed articles into a cohesive newsletter Script generation transforms the newsletter into a 2-minute audio-ready script Text-to-speech converts the script into high-quality audio using OpenAI's voice models Email delivery sends the audio newsletter as an attachment to subscribers The workflow runs automatically on your chosen schedule, delivering fresh audio content without any manual intervention. How to set up Requirements NewsAPI account** with API key (free tier available) OpenRouter API access** for Claude model OpenAI API account** for text-to-speech functionality Gmail account** with OAuth2 access for email delivery Basic understanding** of audio file handling (optional) Step-by-step setup 1. Set Your Schedule trigger Configure the Schedule Trigger for your preferred timing (daily at 7 AM recommended) Consider your audience timezone and optimal delivery times Set up monitoring to ensure consistent execution 2. Configure News Source Sign up for NewsAPI at newsapi.org (free tier includes 100 requests/day) Replace YOUR_NEWSAPI_KEY with your actual API key in the HTTP Request node Customize the news query parameters (country, category, sources) to match your audience interests Test the API endpoint to ensure it returns expected data 3. Extract Individual Articles(Split Out) Takes the articles array from NewsAPI response Creates separate items for each news article Enables individual processing of each story Prepares data for AI content generation 4. Set Up AI Model Credentials Create an OpenRouter account for Claude access Add your OpenRouter API credentials in n8n Alternatively, replace with OpenAI GPT-4 if you prefer (update the model node accordingly) Configure rate limits and usage monitoring 5. Combine Newsletter Content" (Aggregate) Collects output from all processed articles Renames field to news for easy reference Prepares combined content for script generation Ensures no articles are lost in processing 6. Audio Script Generation GPT-4 creates 2-minute audio-ready script from newsletter content. Creates script with "Max" presenter persona Script features: 2-minute target duration Audio-friendly text (no special characters) Natural speaking flow and transitions Engaging introduction and conclusion 7. Configure OpenAI Text-to-Speech Add your OpenAI API credentials in n8n Choose your preferred voice model (options: alloy, echo, fable, onyx, nova, shimmer) Set audio quality preferences (standard vs HD) Test voice output with sample text 8. Customize Email Delivery Add your Gmail OAuth2 credentials Replace YOUR_EMAIL@example.com with your actual recipient email Update the sender name and business information in email template Configure attachment settings for audio files 9. Test the Complete Pipeline Run a manual execution to test all components Verify news data is properly fetched and processed Check audio quality and duration Confirm email delivery with audio attachment How to customize the workflow Advanced News Filtering Custom sources**: Replace NewsAPI with RSS feeds from specific publications Topic filtering**: Add keyword filtering to focus on specific industries or topics Multi-country support**: Fetch news from multiple regions and merge content Sentiment analysis**: Filter out negative news or categorize by sentiment Trending topics**: Integrate with social media APIs to include trending discussions AI Content Enhancement Voice persona**: Customize the AI prompt to create different presenter personalities (professional, casual, expert) Length control**: Adjust script length for different formats (1-minute updates, 5-minute deep dives) Multi-language support**: Generate newsletters in different languages based on subscriber preferences Fact-checking**: Add verification steps to ensure accuracy of AI-generated content Source attribution**: Include proper citations and links to original articles Audio Production Features Voice variety**: Rotate between different OpenAI voices for engaging content Background music**: Add intro/outro music using audio editing APIs Speed control**: Adjust playback speed based on content type Chapter markers**: Add timestamps for different news segments Quality optimization**: Implement audio normalization and enhancement Distribution Enhancements Multi-channel delivery**: Send to Slack, Discord, or team communication platforms Podcast publishing**: Automatically upload to podcast platforms via RSS Social media**: Post audio clips to Twitter, LinkedIn, or Instagram Website integration**: Embed audio player on your website automatically Mobile app push**: Send notifications to mobile apps with audio links Subscriber Management Mailchimp integration**: Build and manage subscriber lists automatically Preference tracking**: Allow subscribers to choose news categories or frequency Analytics tracking**: Monitor open rates, listening duration, and engagement A/B testing**: Test different voice styles, content lengths, or delivery times Segmentation**: Send different newsletters to different subscriber segments Content Workflow Customization Editorial review**: Add approval steps before content distribution Content calendar**: Integrate with planning tools for scheduled content themes Collaborative editing**: Include team review processes for content quality Version control**: Maintain archives of previous newsletters for reference Performance metrics**: Track which content types perform best Webhook Integration Examples Website Integration // Add this to your website for manual newsletter requests fetch('/webhook/trigger-newsletter', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({ subscriber_email: 'user@example.com', topics: ['technology', 'business'], urgency: 'normal' }) }); Slack Command Integration Create slash commands to trigger newsletter generation on demand Allow team members to request specific topic newsletters Integrate with Slack workflows for automated team briefings Mobile App Integration Use webhooks to trigger newsletters from mobile app interactions Create push notification systems for breaking news alerts Build in-app audio players for seamless listening experience Troubleshooting Common Issues and Solutions NewsAPI quota exceeded: Monitor your daily API usage in NewsAPI dashboard Implement caching to reduce redundant requests Consider upgrading to paid plan for higher limits Add fallback RSS feeds when API limits are reached AI model rate limiting: Implement exponential backoff for API requests Monitor token usage across Claude and OpenAI services Add queue systems for high-volume processing Consider switching to different models during peak times Audio generation failures: Check OpenAI text-to-speech quotas and billing Validate text input for special characters that might cause issues Implement retry logic for failed audio generation Add fallback to text-only newsletters when audio fails Email delivery problems: Verify Gmail API quotas and sending limits Check audio file size limits (Gmail has 25MB attachment limit) Implement compression for large audio files Consider cloud storage links instead of direct attachments Content quality issues: Fine-tune AI prompts for more consistent output Add content validation steps to check for accuracy Implement editorial guidelines in AI instructions Create feedback loops to improve content over time Performance Optimization Workflow efficiency: Process news articles in parallel where possible Implement smart caching for repeated content Optimize API calls to reduce latency Monitor execution times and identify bottlenecks Cost management: Track API costs across all services (NewsAPI, OpenRouter, OpenAI) Implement budget alerts and automatic shutoffs Optimize content length to reduce text-to-speech costs Consider batch processing during off-peak hours Scalability preparation: Design for multiple subscriber support Plan for increased news volume during major events Prepare backup systems for service outages Document processes for team handoffs Security and Compliance API key protection: Never expose API keys in workflow exports Use n8n's credential management exclusively Implement key rotation policies Monitor for unauthorized API usage Content compliance: Review AI-generated content for accuracy and bias Implement content filtering for inappropriate material Ensure proper attribution to original news sources Maintain editorial standards and fact-checking processes
by Itunu
📧 Automated Initial Outreach Emails with Safety Controls This n8n workflow sends personalized outreach emails automatically while enforcing strict safety rules such as email validation, spam checks, daily limits, and human-like delays. It is designed to help beginners send emails safely, consistently, and at scale without damaging sender reputation. What This Workflow Does On a daily schedule, this workflow: Pulls contacts from Google Sheets Cleans and validates email addresses Blocks spam, invalid, or risky emails Checks if an email was already sent Enforces daily sending limits (weekdays only) Adds random human-like delays Generates personalized subject lines and openings Sends emails via Gmail Updates Google Sheets with send status Who This Is For This workflow is useful if you: Send cold or semi-cold outreach emails Apply to jobs at scale with personalization Run sales, hiring, or networking campaigns Want safety controls to avoid spam flags Are learning n8n with a real-world workflow No advanced n8n knowledge is required. Required Services You will need: Google Sheets** (contact source + status tracking) Gmail** (sending emails) Google Drive** (for attachments like CVs) n8n** (self-hosted or cloud) Sheet Structure (Recommended) Contacts Sheet Required columns: EMAIL Name EMAIL VERIFIED EMAIL SMTP VERIFIED EMAIL SUGGESTION EMAIL TYPE SENT SENT DATE Email Status Columns Updated automatically by the workflow: SENT DATE SENT EMAIL TYPE Setup Instructions 1. Connect Google Sheets Update the Google Sheets nodes to point to your own spreadsheet Ensure column names match the workflow Sample Data for Sheets | EMAIL | Name | EMAIL VERIFIED | EMAIL SMTP VERIFIED | EMAIL SUGGESTION | EMAIL TYPE | SENT | DATE SENT | |--------------------------|-------------|----------------|---------------------|-------------------------|------------|------|-----------| | alex@company.com | Alex Morgan | REACHABLE | VALID | SAFE TO SEND | INITIAL | YES | 2025-01-12 | | info@startup.io | — | CATCH-ALL | UNKNOWN | SEND WITH CAUTION | INITIAL | NO | — | | sarah.lane@business.org | Sarah Lane | REACHABLE | VALID | SAFE TO SEND | INITIAL | YES | 2025-01-13 | | contact@agency.co | — | UNKNOWN | NOT VERIFIED | VERIFY BEFORE SENDING | INITIAL | NO | — | | michael@enterprise.net | Michael T. | REACHABLE | VALID | SAFE TO SEND | FOLLOW-UP | YES | 2025-01-14 | EMAIL is required for sending. SENT and DATE SENT are updated after a successful email send. EMAIL VERIFIED reflects high-level verification results. EMAIL SMTP VERIFIED indicates server-level validation when available. EMAIL SUGGESTION is generated by the workflow’s safety logic. SENT and DATE SENT are updated only after a successful send. Rows without a name are invalid for outreach. Additional rows can be added freely. 2. Connect Gmail Add your Gmail credentials Confirm daily sending limits match your account limits 3. (Optional) Connect Google Drive Used to attach files (e.g., Decks, CVs, Presentations,etc) 4. Review Safety Settings Daily email limit is enforced in code Weekends are automatically blocked Spam and invalid emails are skipped 5. Activate the Workflow Enable the workflow Emails will start sending automatically at the scheduled time Email Sample Safety Features Explained This workflow includes built-in protections: ✅ Email format validation ✅ Blocked domains and keywords ✅ Spam flag checks ✅ Duplicate send prevention ✅ Daily quota enforcement ✅ Weekend blocking ✅ Random delays between sends These safeguards help maintain a healthy sender reputation. Customization Ideas You can extend this workflow to: Add follow-up (retarget) emails Integrate email verification APIs Log sends into a database (NocoDB, Postgres, etc) Add Slack notifications Support multiple Gmail accounts Personalize content further with AI Important Notes Review Gmail sending limits before scaling Test with a small contact list first Do not remove safety checks unless you understand the risks License This workflow is shared for educational and practical use. You are free to modify and adapt it for your own projects. Author Built and shared by Itunu Ola n8n automation builder focused on safe, production-ready workflows.
by Yassin Zehar
Description Automated workflow that creates Jira issues directly from Google Forms. The flow validates and normalizes the data, creates the Jira issue, writes the key back to the Google Sheet, and sends a Gmail notification. Context This template bridges lightweight Google Forms with enterprise Jira. It enables instant ticket creation while keeping Jira the single source of truth. The flow is idempotent (no duplicates) and production-friendly, with clean field normalization and safe mappings. Target Users Product / Ops teams running request portals on Google Forms Engineering managers who need quick Jira integration without custom UI Project managers who track intake in Google Sheets but want Jira as the system of record Orgs that want controlled ticket creation without exposing Jira directly Technical Requirements Jira Cloud project + API email + API token + “Create issues” permission Google Form + response Sheet Gmail credential for notifications Workflow Steps Trigger when a row is added Normalize Fields – Trim/clean text Create Jira Issue – POST to Jira REST; safe mappings Update Google Sheet – Match by Horodateur or rowNumber; write jira_key, issue_url, status, updated_at. Send Gmail – HTML email with key, title, link, priority, requester. Key Features Real-time (no polling): Forms → trigger→ n8n Idempotent updates using the Form timestamp (“Horodateur”) Clean normalization: summary/description/labels all standardized once Safe Jira mappings: priority via ID Notification: branded HTML email with all key fields Expected Output Google Form to create the issue Sheet updated with jira_key, issue_url, status, updated_at A valid Jira issue in the configured project Email sent to stakeholders / requester How it works ⏰ Trigger – As soon as a row is added, the workflow is triggered 🧱 Normalize – Clean summary/description/labels; pick reporter_email 🧾 Create – POST to /rest/api/3/issue, capture { id, key, self } 📗 Update – Write jira_key, issue_url, status, updated_at back to the Sheet ✉️ Notify – Send Gmail HTML confirmation to stakeholders/requester Tutorial video: Watch the Youtube Tutorial video About me : I'm Yassin, IT Project Manager, Agile & Data specialist. Scaling tech products with data-driven project management. 📬 Feel free to connect with me on Linkedin
by Daniel Shashko
How it Works This workflow automates the entire lead qualification process from form submission to personalized follow-up. When a prospect fills out your JotForm, the workflow instantly captures their information, runs it through an intelligent scoring algorithm that evaluates email domain, company size, budget, and timeline to assign a lead score (0-100 points). Based on the score, leads are automatically categorized as Hot (75+), Warm (50-74), or Cold (0-49) and routed accordingly. Hot leads trigger immediate notifications to your sales team via Slack with full contact details and qualification notes, while warm and cold leads are routed to marketing for nurture campaigns. All leads are simultaneously logged to HubSpot CRM with custom properties and Google Sheets for tracking and reporting. The workflow then generates personalized follow-up emails based on the lead tier—urgent, action-oriented messages for hot leads and educational, resource-focused content for others—and sends them automatically via SMTP. The entire process takes seconds from form submission to follow-up, eliminating manual data entry and ensuring no lead falls through the cracks. Who is this for? Sales and marketing teams drowning in manual lead qualification and data entry Startups and SMBs needing to respond to leads instantly without a large sales team Revenue operations professionals looking to improve lead routing and response times Anyone using JotForm for lead generation who wants automated CRM integration Setup Steps Setup time: Approx. 20-30 minutes (credential configuration, field mapping, template customization) Requirements: JotForm account with an active lead capture form HubSpot CRM account Google account with a tracking spreadsheet Slack workspace SMTP email provider (Gmail, SendGrid, etc.) Configure your JotForm to collect: Name, Email, Company, Phone, Company Size, Budget Range, and Implementation Timeline. Set up these nodes: JotForm Trigger: Connect your JotForm account and select your lead capture form. Extract & Format Lead Data: Map your JotForm field names to workflow variables. AI Lead Scoring: Review and adjust scoring weights if needed (optional). Route by Lead Quality: Automatically splits leads based on score thresholds. Add to HubSpot CRM: Connect HubSpot and create required custom properties (lead_score, lead_tier, budget_range, company_size, timeline). Log to Google Sheets: Connect Google account, select spreadsheet, and ensure column headers match. Slack Notifications: Connect workspace and select channels for hot leads (sales) and warm/cold leads (marketing). Generate Personalized Email: Customize email templates for each lead tier. Send Email: Configure SMTP credentials and sender information. Credentials must be entered into their respective nodes for successful execution. Customization Guidance Scoring Algorithm:** Adjust point values for email domain (25), company size (30), budget (25), and timeline (20) in the AI Lead Scoring node based on your priorities. Lead Tier Thresholds:** Modify the 75-point hot lead threshold and 50-point warm lead threshold to match your lead quality distribution. Email Templates:** Edit the JavaScript in the Generate Personalized Email node to include your calendar links, case studies, and value propositions. Field Mapping:** Update the Extract & Format Lead Data node if your JotForm uses different field names. CRM Customization:** Replace HubSpot with Salesforce, Pipedrive, or any other CRM that n8n supports. Notification Channels:** Add additional Slack channels, Microsoft Teams, or SMS notifications via Twilio for different routing scenarios. Additional Enrichment:** Insert data enrichment nodes (Clearbit, Hunter.io) between scoring and CRM creation for enhanced lead profiles. Once configured, this workflow will automatically qualify, score, route, and follow up with every lead—reducing response time from hours to seconds and eliminating manual data entry entirely. Built by Daniel Shashko Connect on LinkedIn
by Jitesh Dugar
🎫 Verified Press Pass Generator for Media Events Automate press credential verification and badge generation for journalists covering your events 📝 Description Streamline your event media management with this comprehensive press pass automation. When journalists apply for credentials, this workflow instantly validates their identity, verifies their media affiliation, generates professional digital badges with QR codes, and delivers everything via email—all within seconds. Perfect for conferences, product launches, trade shows, corporate events, and any occasion requiring verified media access. ✨ Key Features 🔐 Advanced Email Verification Real-time email validation using VerifiEmail API Checks RFC compliance, MX records, and domain reputation Detects disposable email addresses and spoofed domains Confirms journalist works for legitimate media organization 🎨 Professional Badge Design Auto-generates branded digital press passes Includes journalist photo, name, media outlet, and credentials Embedded QR code for contactless event entry Customizable colors, fonts, and event branding 400×600px portrait format optimized for mobile display 📧 Automated Communication Beautiful HTML email with embedded badge preview Download links for PNG and PDF versions Clear instructions for event check-in Professional event branding throughout 📊 Multi-Platform Logging Google Sheets backup with timestamp logs Slack notifications for organizer oversight Complete audit trail for compliance ⚡ Lightning Fast Processing Average execution time: 5-10 seconds Real-time webhook response with confirmation Scalable to hundreds of applications per hour Error handling with graceful fallbacks 🎯 Use Cases Event Types: Tech conferences and summits Product launch events Trade shows and exhibitions Political rallies and press conferences Sports events and tournaments Film festivals and premieres Corporate announcements Award ceremonies 🔧 What You Need Required Services: n8n (Cloud or Self-hosted) VerifiEmail API (Get API Key) - Email verification HTMLCSSToImage API (Get API Key) - Badge generation Gmail Account (OAuth) - Email delivery Slack Workspace - Team notifications Google Sheets - Backup logging 📋 How It Works Step-by-Step Process: 1. Application Submission Journalist fills out form on your event website (name, email, media outlet, photo, phone) 2. Data Validation Webhook receives application and checks for required fields (name, email, photo) 3. Email Verification VerifiEmail API validates email domain, checks MX records, and confirms media affiliation 4. Credential Generation Generates unique press ID (PRESS-XXX-timestamp) Creates QR code linking to verification portal Sets 30-day validity period 5. Badge Creation HTMLCSSToImage API renders professional badge with: Circular profile photo Name and media outlet Press ID in styled container Scannable QR code Event name and validity dates "VERIFIED" indicator 6. Distribution Sends HTML email with badge preview and download link Posts notification to Slack channel Backs up to Google Sheets Returns success response to webhook 7. Event Check-In Security scans QR code at event entrance, verifies credentials instantly 🚀 Setup Instructions Quick Start (15 minutes): 1. Import Workflow Download the JSON file In n8n: Click Workflows → Import from File Upload the JSON and open the workflow 2. Configure Webhook Activate the workflow Copy the webhook URL from the Webhook Trigger node Add this URL to your website form's action attribute 3. Add API Credentials VerifiEmail:** Create credential with API key from verifi.email dashboard HTMLCSSToImage:** Add User ID and API Key from htmlcsstoimg.com Gmail:** Connect via OAuth (click "Sign in with Google") Slack:** Connect via OAuth and select notification channel Google Sheets:** Connect via OAuth 4. Setup Google Sheets Create a new sheet named "Press Pass Logs" with these column headers: Timestamp | Press ID | Name | Email | Phone | Media Outlet | Email Domain | Verification Status | Event Name | Issued Date | Valid Until | Badge Image URL | QR Code URL | Verification URL | Photo URL | Execution Mode 5. Customize Badge Design Open the "HTML/CSS to Image" node Edit the HTML in html_content field Change gradient colors: Replace #667eea and #764ba2 with your brand colors Update event name default value Modify font sizes, spacing, or layout as needed 6. Update Email Content Open "Send Press Pass Email" node Customize email text, support contact info Update company/event branding Modify footer with your details 7. Configure Slack Channel Open "Notify Organizers (Slack)" node Select your preferred notification channel Customize notification message format 8. Test the Workflow Send a test POST request using Postman or cURL: curl -X POST https://your-n8n-url/webhook/press-application \ -H "Content-Type: application/json" \ -d '{ "name": "Jane Smith", "email": "jane@bbc.com", "media_outlet": "BBC News", "photo_url": "https://randomuser.me/api/portraits/women/50.jpg", "phone": "+44-1234567890", "event_name": "Tech Summit 2025" }' 9. Go Live Verify test execution completed successfully Check email received with badge Activate workflow for production use 🎨 Customization Options Badge Design: Colors:** Change gradient from purple (#667eea, #764ba2) to your brand colors Fonts:** Swap Google Font from Poppins to any available font Logo:** Add event logo in header section Size:** Adjust viewport_width and viewport_height for different dimensions Layout:** Modify HTML structure for custom badge designs Email Templates: Branding:** Update colors, fonts, and styling in HTML email Content:** Customize greeting, instructions, and footer Attachments:** Add PDF version or additional documents Language:** Translate all text to your language 🔒 Security & Privacy Data Protection: ✅ Email verification prevents fake submissions ✅ QR codes use unique, non-guessable IDs ✅ HTTPS webhook for encrypted transmission ✅ No sensitive data stored in workflow variables ✅ Audit trail for compliance requirements Best Practices: Use environment variables for API keys Enable webhook authentication (Basic Auth or API key) Implement rate limiting on webhook endpoint Regularly rotate API credentials Set up backup systems for critical data 🛠️ Troubleshooting Common Issues: Issue: "Webhook not receiving data" Solution: Ensure workflow is activated and webhook URL is correct in form action Issue: "Email verification fails for valid domains" Solution: Check VerifiEmail API credit balance and credential configuration Issue: "Badge image not generating" Solution: Verify HTMLCSSToImage API key is correct and has sufficient credits Issue: "Gmail not sending" Solution: Reconnect Gmail OAuth credential and check sending limits Issue: "QR code not loading in badge" Solution: Ensure QR code URL is properly encoded and publicly accessible 📈 Performance Metrics Average execution time:** 5-10 seconds Success rate:** 98%+ (with valid inputs) Concurrent capacity:** 50+ requests/minute API reliability:** 99.9% uptime (dependent on services) Badge generation:** <2 seconds Email delivery:** <3 seconds 🏷️ Tags event-management press-pass credential-verification badge-generation email-automation qr-code media-relations event-technology htmlcsstoimage verifi-email gmail slack google-sheets webhook automation workflow conference journalism press-credentials 📄 License This workflow template is provided as-is for use with n8n. Customize freely for your organization's needs.
by ScoutNow
Instantly Track Reddit Discussions and Generate Insights Manually monitoring Reddit for relevant discussions can be overwhelming. This automation does all the heavy lifting by automatically searching for keywords across selected subreddits or the entire Reddit, analyzing each post with GPT-5-Mini, and saving structured insights in your Notion database. Optionally, receive daily email notifications summarizing new discussions without lifting a finger. Key Features Daily Automated Reddit Monitoring** Checks Reddit once a day for new posts matching your keywords in selected subreddits or across all of Reddit. AI-Powered Analysis with Custom Prompts** Uses GPT-5-Mini to: Assign a relevance score to each post based on your defined priorities. Generate a suggested comment tailored to your audience or engagement strategy. Allow custom prompts so you can tweak AI behavior for lead generation, competitor monitoring, or brand mentions. Notion Integration** Saves all posts, relevance scores, and AI-generated comments directly into your Notion database for easy tracking and collaboration. Optional Email Alerts** Sends a clean, HTML-formatted email summarizing new discussions and insights. No API Keys Required for Reddit** Works with the official Reddit API without requiring users to create credentials. Customizable Inputs** Users define keywords, subreddits, relevance criteria, custom prompts, and notification preferences with minimal setup. Setup Instructions 1. Configure Keywords and Subreddits Open the Define Keywords and Subreddits node. Enter your target keywords and choose specific subreddits, or enable search across all Reddit. Map the inputs to the workflow’s search nodes. 2. Connect OpenAI (GPT-5-Mini) Create an OpenAI account and obtain your API key. Open the AI Analysis Node in the workflow. Paste your OpenAI API key into the credentials field. Customize your prompts to define how GPT-5-Mini: Scores relevance based on your specific criteria. Generates suggested comments tailored to your objectives (e.g., lead generation, brand engagement, competitor analysis). Test the node to ensure relevance scoring and suggested comments are generated correctly. 3. Connect Notion Duplicate the provided Notion template into your workspace. Obtain your Notion integration secret from Notion settings. Paste the secret into the Add Each Post to Notion Database node. Test the connection to ensure posts are saved correctly. 4. Optional Email Notifications Setup Google API credentials in the Google Cloud Console. Authenticate Gmail in the workflow. Map the recipient email and customize the notification format. Test sending an email to confirm delivery. 5. Configure Workflow Trigger Import the workflow into n8n. Ensure the daily trigger is enabled. Optionally adjust schedule or notification settings. How It Works Daily Trigger: Starts the workflow once per day. Reddit Search: Queries new posts based on user-defined keywords. AI Analysis: GPT-5-Mini evaluates relevance score and generates suggested comments based on your custom prompts. Save & Notify: Posts are saved to Notion and optionally summarized via email. Example Use Cases Generate leads by identifying potential prospects discussing your industry or product. Monitor brand mentions to stay on top of conversations around your company. Track competitor activity across relevant subreddits. Keep a daily digest of trending posts for market research or content ideas. Automate engagement by posting AI-generated suggested comments. Requirements | Tool | Purpose | | -------------- | ------------------------------------------------- | | Notion Account | Store posts, relevance scores, and comments | | Gmail Account | Optional daily email notifications | | n8n | Run, schedule, and manage the workflow | | OpenAI API Key | Access GPT-5-Mini for relevance scoring and AI-generated comments |
by ScoutNow
Stay Updated on Website Changes Automatically Manually checking websites for updates or competitor changes can be tedious. This workflow automates the process by scraping target pages, capturing screenshots, and analyzing content changes using Firecrawl and GPT-5-mini. All updates are saved in Notion, and you can optionally receive email alerts — keeping you informed without lifting a finger. Key Features Automated Website Monitoring** Tracks changes on multiple target URLs on a daily schedule. Visual & Text-Based Updates** Captures screenshots and generates concise text summaries for each change. Notion Integration** Stores snapshots, comparisons, and summaries directly in Notion for easy reference. GPT-Powered Comparison** Highlights meaningful changes between snapshots using GPT-5-mini. Change Criteria Input** Define what type of updates matter to you — focus on specific content changes or ignore minor differences. Email Alerts via Gmail** Sends notifications when updates occur, so you never miss important changes. Reusable Notion Page Template** Includes a structured template for consistent tracking and reporting: View Template Email Updates: Notion Page Template: Notion Update Example: Setup Instructions 1. Add Target URLs Paste one or more websites you want to monitor. The workflow accepts multiple URLs in JSON format for scalable tracking. 2. Setup Firecrawl Credential Use Firecrawl to scrape website data without dealing with complex API setups. Steps: Go to firecrawl.dev/app and sign up. Copy your API Key from the dashboard. In n8n, open the Firecrawl node, add a new credential, and paste the key. Test the node to ensure the connection works. 3. Setup OpenAI API Key The workflow uses GPT-5-mini to analyze and summarize website changes. Steps: Sign up at OpenAI if you haven’t already. Generate a new API Key in your OpenAI dashboard. In n8n, open the GPT node, add a new credential, and paste the API key. Test the node to ensure it can successfully call the API. 4. Setup Gmail for Email Alerts In n8n, open the Gmail node. Click Add New Credentials and select OAuth2. Follow the Google OAuth setup to allow n8n to send emails on your behalf. Choose the recipient and customize the alert formatting to include snapshots and summaries. 5. Configure the Workflow Import the workflow into n8n. Add your target URLs in JSON format. Paste your Firecrawl API Key into the Firecrawl node. Add your OpenAI API key to the GPT node. Authenticate Gmail if email notifications are desired. Set your preferred change criteria to filter meaningful updates. Adjust the schedule for daily execution or your preferred frequency. How It Works Schedule Trigger: Runs daily or on-demand. Fetch Pages: Scrapes target websites using Firecrawl. Capture & Compare: Screenshots and text are stored and compared using GPT-5-mini. Apply Change Criteria: Only updates that meet your defined criteria are logged. Save Updates: Changes are stored in Notion with visual and text summaries. Optional Alerts: Sends Gmail notifications with updates. Example Use Cases Monitor competitor websites for product, pricing, or design changes. Track updates on blogs, documentation, or landing pages. Automatically log changes for research, reporting, or team awareness. Get notified instantly when key pages are updated. Requirements | Tool | Purpose | |------|----------| | Firecrawl API Key | Scrape website content | | OpenAI API Key | Generate summaries and compare changes with GPT-5-mini | | n8n | Run and schedule the automation | | Notion | Store snapshots, summaries, and comparisons | | Gmail (OAuth2) | Send alert emails | Have questions about this template? Feel free to reach out. Our DMs are always open! Email: hello@scoutnow.app X (Twitter): @ScoutNowApp
by Cheng Siong Chin
How It Works A webhook or timer triggers the workflow to automatically fetch inventory data from multiple platforms. Stock levels are compared across stores to identify discrepancies, and any inconsistencies are updated on the respective platforms in real time. All changes and updates are recorded in Google Sheets for easy tracking, and email alerts are sent to notify relevant team members of any exceptions or issues that require attention. This ensures inventory accuracy and timely response to stock mismatches. Setup Steps Add Shopify and/or WooCommerce API credentials to enable secure data access. Connect Google Sheets for comprehensive logging of all inventory updates and Gmail for sending timely email alerts. Configure the sync frequency within the Function nodes to control how often inventory data is fetched, compared, and updated. Prerequisites Shopify/WooCommerce API keys Google Sheets access Gmail credentials n8n instance Customization Add ERPNext or custom APIs Enable Slack notifications AI discrepancy detection Benefits Real-time inventory accuracy Automated cross-platform updates Centralized audit logging
by Rahul Joshi
Description This workflow automatically detects bounced or invalid email addresses from your Gmail inbox and updates their status in Google Sheets. It fetches bounce notifications, extracts failed email addresses, and matches them against your contact list to update each record’s status as “Not Found” (bounced) or “Not Sent” (no bounce). Additionally, it runs a daily scheduled summary that sends bounce statistics to Slack, helping marketing or sales teams maintain clean, up-to-date mailing lists. What This Template Does (Step-by-Step) 📬 Fetch Bounce Notifications from Gmail Retrieves bounce messages automatically filtered by sender mailer-daemon@googlemail.com. 🔢 Get Latest 5 Bounces Sorts all bounce emails by date and limits processing to the five most recent to keep performance fast and focused. 🔍 Parse Bounced Email Addresses Extracts failed email addresses from Gmail message snippets using regex pattern matching. 📋 Fetch All Email Contacts from Google Sheets Loads all contact records from your “Fraud Email” sheet, including columns like Name, Email, Status, and Last Updated. 🔗 Combine Bounce Data with Contact List Merges parsed bounce results with your existing contact data to prepare for status updates. ✅ Match & Update Contact Status Marks “Not Found” for bounced emails. Marks “Not Sent” for valid but inactive ones. Updates “Last Updated” timestamp for all. 💾 Write Updated Status Back to Sheet Pushes updated contact information (Status and Last Updated) back into Google Sheets, ensuring centralized record accuracy. ⏰ Daily 7PM Trigger Automatically starts the summary workflow every evening at 7:00 PM. 🧮 Calculate Summary Statistics Counts total invalid emails (“Not Found”) and inactive ones (“Not Sent”). 💬 Send Slack Daily Summary Sends a formatted report to your #email-cleanup Slack channel showing: 📧 Invalid email count 📭 No activity count ✅ Reminder to maintain list hygiene Prerequisites Gmail account connected with n8n Google Sheet (Fraud Email) with contact data Slack workspace and channel for daily reports n8n instance (cloud or self-hosted) Step-by-Step Setup Connect Gmail → Fetch bounce notifications. Add Google Sheet → Load and update contact data. Parse bounces → Identify failed email addresses. Merge & update → Sync statuses in Google Sheet. Enable daily trigger → Schedule Slack summaries. Customization Ideas 🎯 Expand bounce limit beyond 5 recent messages. 📢 Add a Gmail label like “Bounced” after processing. 📚 Integrate with HubSpot or Airtable for CRM sync. 💡 Include timestamps or sender domains in Slack summary. Key Benefits ✅ Keeps mailing lists accurate and deliverable ✅ Saves hours of manual bounce management ✅ Automates email hygiene with zero supervision ✅ Provides transparent daily Slack reports ✅ 100% automated, efficient, and scalable Perfect For 👥 Marketing and outreach teams managing bulk campaigns 🏢 Businesses maintaining verified contact databases 📊 Sales teams using Gmail and Google Sheets ⚙️ Agencies ensuring top-tier email deliverability
by masahiro hanawa
Who is this for? This template is ideal for event organizers, conference managers, and community teams who need an automated participant management system. Perfect for workshops, conferences, meetups, or any event requiring registration and check-in tracking. What this workflow does This workflow provides end-to-end event management with two main flows: Registration Flow: ⦁ Receives participant registration via webhook ⦁ Generates unique ticket ID and stores in Google Sheets ⦁ Creates QR code using the QR Code node ⦁ Sends confirmation email with QR code attached Check-in Flow: ⦁ Scans and decodes QR code at venue entrance ⦁ Validates ticket against participant database ⦁ Blocks duplicate check-ins with clear error messages ⦁ Sends Slack notification for VIP arrivals ⦁ Returns real-time attendance statistics Setup Create a Google Sheet with columns: Ticket ID, Event ID, Name, Email, Ticket Type, Registered At, Checked In, Check-in Time Connect your Google Sheets and Gmail credentials Configure Slack for VIP notifications Set up the webhook URLs in your registration form Requirements ⦁ Google Sheets (participant database) ⦁ Gmail account (confirmation emails) ⦁ Slack workspace (VIP notifications) How to customize ⦁ Add capacity limits by checking row count before registration ⦁ Modify QR code size and format in the QR Code node ⦁ Add additional ticket types beyond VIP/standard ⦁ Integrate with payment systems for paid events
by Arbaz Asif
Overview: Automated Occasion Wisher How it works Runs daily to check if today matches any birthday, anniversary, or special occasion in your Google Sheet AI Agent reads the sheet and returns a list of users having a special occasion to wish with details and a personalized wishing message If there is no one to wish, no email is sent. If there are multiple people to wish, multiple personalized emails are sent Setup steps Connect your Google Sheet containing columns as: Name, Occasion_Date, Email, Occasion_Type, Relationship, Personal_Note Insert the AI prompt ensuring strict JSON output (list format only) Configure the Email node for sending the final message Customization Edit AI prompt to change message tone, length, or emojis Add support for multiple reminder styles (e.g., early notification) Extend with logging, Slack alerts, or saving sent email history