by moosa
This workflow monitors product prices from BooksToScrape and sends alerts to a Discord channel via webhook when competitor's prices are lower than our prices. 🧩 Nodes Used Schedule (for daily or required schedule) If nodes (to check if checked or unchecked data exists) HTTP Request (for fetching product page ) Extract HTML (for extracting poduct price) Code(to clean and extract just the price number) Discord Webhook (send discord allerts) Sheets (extract and update) 🚀 How to Use Replace the Discord webhook URL with your own. Customize the scraping URL if you're monitoring a different site.(Sheet i used) Run the workflow manually or on a schedule. ⚠️ Important Do not use this for commercial scraping without permission. Ensure the site allows scraping (this example is for learning only).
by Renan Miller
How it works This workflow automatically extracts specific data from received emails and saves it into a Google Sheets document for easy tracking and analysis. It connects to a Gmail account, searches for emails received within a defined date range from a specific sender, opens links inside those emails, extracts data from the linked pages (such as case ID, patient name, birth date, complaint, and location), processes and cleans the information using custom JavaScript logic, and finally saves the structured results into a Google Sheet. Setup steps Connect Gmail using OAuth2 credentials. Adjust the date filters and sender email in the “Search Emails” node. Customize the CSS selectors in the HTML extraction nodes to match the desired elements from your email or linked page. Open the Code node and modify the logic if you need to calculate or transform additional fields. Link your Google Sheets account and specify the spreadsheet and sheet name where the results will be appended.
by Nick Canfield
Try It Out! This n8n template uses AI to automatically respond to your Gmail inbox by drafting response for your approval via email. How it works Gmail Trigger** monitors your inbox for new emails AI Analysis** determines if a response is needed based on your criteria Draft Generation** creates contextually appropriate replies using your business information Human Approval** sends you the draft for review before sending Auto-Send** replies automatically once approved Setup Connect your Gmail account to the Gmail Trigger node Update the "Your Information" node with: Entity name and description Approval email address Resource guide (FAQs, policies, key info) Response guidelines (tone, style, formatting preferences) Configure your LLM provider (OpenAI, Claude, Gemini, etc.) with API credentials Test with a sample email Requirements n8n instance (self-hosted or cloud) Gmail account with API access LLM provider API key Need Help? Email Nick @ nick@tropicflare.com
by Davide
This workflow automates the process of generating advertising (ADV) images from multiple reference images and publishing them directly to social media (Instagram and Facebook with Upload-Post) with Seedream v4 AI. This workflow automates the process of generating an AI image based on a user's text prompt and up to 6 reference images. The process is triggered by a user submitting a web form. Key Advantages ✅ Automated Image Creation – Generates high-quality, consistent visuals from multiple references without manual editing. ✅ Seamless Social Media Publishing – Automatically posts to Instagram and Facebook with minimal effort. ✅ SEO-Optimized Titles – Ensures your posts get better reach with AI-generated, keyword-friendly titles. ✅ Scalable Workflow – Can be triggered manually, on schedule, or via form submissions. ✅ Time-Saving – Reduces manual steps from design to publishing, enabling faster content production. ✅ Multi-Platform Support – Easily extendable to other platforms (TikTok, LinkedIn, etc.) with Upload-Post API. How It Works Form Trigger: A user fills out a form with a "Prompt" (text description) and a list of "Reference images" (comma-separated URLs). Data Processing: The workflow converts the submitted image URL string into a proper array for the AI API. AI Image Generation: The workflow sends the prompt and image URLs to the fal.ai API (specifically, the ByteDance seedream model) to generate a new, consistent image. Status Polling: It periodically checks the status of the AI job until the image generation is COMPLETED. Result Retrieval: Once complete, it fetches the URL of the generated image and downloads the image file itself. SEO Title Generation: The original user prompt is sent to OpenAI's GPT-4o-mini model to generate an optimized, engaging social media title. Cloud Backup: The generated image is uploaded to a specified Google Drive folder for storage. Social Media Posting: Finally, the workflow posts the downloaded image file to both Instagram and Facebook via the Upload-Post.com API, using the AI-generated title. Set Up Steps To make this workflow functional, you need to configure several third-party services and their corresponding credentials within n8n. Obtain fal.ai API Key: Create an account at fal.ai. Locate your API key in your account settings. In the "Create Video" and "Get status" nodes, edit the HTTP Header Auth credentials. Set the Header Name to Authorization and the Value to Key YOUR_FAL_AI_API_KEY. Configure Upload-Post.com API: Create an account at Upload-Post.com and get your API key. Create a profile within the Upload-Post app (e.g., test1); this profile manages your social account connections. In both the "Post to Instagram" and "Post to Facebook" nodes, edit the HTTP Header Auth credentials. Set the Header Name to Authorization and the Value to Apikey YOUR_UPLOAD_POST_API_KEY. Crucially, in the same nodes, find the user parameter in the body and replace the placeholder YOUR_USERNAME with the profile name you created (e.g., test1). Configure OpenAI/OpenRouter (Optional for Title Generation): The "Generate title" node uses an OpenAI-compatible API. The provided example uses OpenRouter. Ensure you have valid credentials (e.g., for OpenRouter or directly for OpenAI) configured in n8n and selected in this node. Configure Google Drive (Optional for Backup): The "Upload Image" node requires Google OAuth credentials. Set up a Google Cloud project, enable the Drive API, and create OAuth 2.0 credentials in the n8n settings. Authenticate and select the desired destination folder in the node's parameters. Need help customizing? Contact me for consulting and support or add me on Linkedin.
by ueharayuuki
Who's it for This template is perfect for anyone struggling with habit consistency who wants a fun, engaging way to maintain daily routines. It's ideal for productivity enthusiasts, fitness beginners, remote workers, students, or anyone who loves gamification and RPG elements. If you've ever wished your daily tasks felt more like an adventure game, this workflow is for you. How it works The workflow runs automatically every morning at your chosen time (default: 6 AM) and transforms your daily habits into an RPG adventure: Daily Trigger - Scheduled to run every morning Player Stats Generation - Creates random level, XP, and streak data (in production, connect to a database) Quest Generation - Assigns daily "quests" based on the day of week (weekday routines, weekend specials, Monday goals) Quote Fetching - Gets a motivational quote from a free API Achievement Processing - Checks for milestone achievements (7-day streak, 30-day streak, level 10) Email Creation - Builds a beautiful HTML email with game-like design Email Delivery - Sends the quest email via Gmail Stats Logging - Records execution statistics The system includes different habit sets for weekdays and weekends, random bonus quests, a rank system (D to SSS), achievement unlocks, and progress tracking with visual elements like progress bars. Setup steps Setup takes approximately 5 minutes: Import the workflow into your n8n instance Connect Gmail - Click "Create New" in the Gmail node credentials and authenticate via OAuth2 Update recipient email - Change "your-email@gmail.com" to your actual email in the "Send Quest Email" node Customize habits (optional) - Edit the quest arrays in the "Generate Daily Quests" node Test the workflow - Click "Execute Workflow" to send a test email Activate - Toggle the workflow to "Active" when ready for daily automation Requirements Gmail account with OAuth2 authentication n8n instance (cloud or self-hosted) No external API keys required (uses free Quotable API) No database required (uses random data for demonstration) How to customize the workflow Modify Daily Habits Edit the questDatabase object in the "Generate Daily Quests" node: Add your own habits with custom names Adjust XP and coin rewards Change difficulty levels (Easy, Medium, Hard, Epic, Bonus) Set different quests for weekdays vs weekends Visual Customization In the "Create Email Template" node: Modify color schemes in the CSS Adjust font sizes and layouts Change emoji icons for quests Update achievement thresholds Timing and Schedule In the "Daily Morning Trigger" node: Change the trigger hour (default: 6 AM) Adjust timezone if needed Set different schedules for weekdays/weekends Motivational Content Update daily motivation messages for each day of the week Customize achievement names and descriptions Modify rank titles and progression Add your own fallback quotes This workflow brings the addictive nature of RPG games to your daily habits, making routine tasks feel like an epic adventure. Perfect for anyone who wants to level up their life, one quest at a time!
by Oneclick AI Squad
This enterprise-grade n8n workflow automates influencer contract compliance for Instagram campaigns — from deadline tracking to breach detection — using Claude AI, Instagram API, and smart reminders. It ensures timely deliverables by monitoring posts, sending proactive alerts, and escalating breaches, all with zero manual oversight. Key Features Daily contract scanning** from Google Sheets Deadline calculations** for approaching or passed dates Automated reminders** via Slack for nearing deadlines Post verification* using Instagram API and *Claude 3.5 Sonnet** for hashtag/description matching Breach detection engine** identifies non-compliant influencers Escalation notifications** to managers on breaches Audit logs** stored in Google Sheets for compliance records Scalable triggers:** Daily schedule or webhook for new contracts Workflow Process | Step | Node | Description | | ---- | ----------------------------------- | -------------------------------------------------------- | | 1 | Schedule Trigger | Runs daily at 9 AM or via webhook (/influencer-compliance) | | 2 | Get Contracts | Loads influencer contracts from Contracts sheet | | 3 | Loop Over Contracts | Processes each contract individually | | 4 | Calculate Deadline Status | Computes days to deadline, flags approaching/passed | | 5 | IF Approaching Deadline | Branches if within 3 days | | 6 | Send Reminder (Slack) | Notifies influencer/team of upcoming deadline | | 7 | IF Deadline Passed | Branches if deadline has passed | | 8 | Get Influencer Posts | Fetches recent posts from influencer's Instagram | | 9 | Check Post Compliance (Claude AI) | Uses AI to verify if post matches contract requirements | | 10 | IF Breach Detected | Branches if non-compliant | | 11 | Notify Breach (Slack) | Alerts manager of contract breach | | 12 | Log Breach | Records breach details in Logs sheet | | 13 | End (Compliant Path) | Terminates compliant branches | Setup Instructions 1. Import Workflow Open n8n → Workflows → Import from Clipboard Paste the JSON workflow 2. Configure Credentials | Integration | Details | | ----------------- | -------------------------------------------------- | | Google Sheets | Service account with spreadsheet access | | Instagram API | Business access token for fetching media | | Claude AI | Anthropic API key for claude-3-5-sonnet-20241022 | | Slack | Webhook or OAuth app | 3. Update Spreadsheet IDs Ensure your Google Sheets include: Contracts Logs 4. Set Triggers Webhook:** /webhook/influencer-compliance (for real-time updates) Schedule:** Daily at 9:00 AM 5. Run a Test Use manual execution to confirm: Reminder and breach notifications Post compliance checks Log entries in sheet Google Sheets Structure Contracts | campaignId | influencerName | influencerUserId | deadline | requiredHashtag | campaignDescription | |------------|----------------|------------------|------------|-----------------|---------------------| | CAMP-001 | InfluencerX | 1234567890 | 2023-12-31 | #BrandPromo | Promote new product | Logs | campaignId | influencerName | action | timestamp | details | |------------|----------------|-----------------|--------------------|----------------------| | CAMP-001 | InfluencerX | Breach Detected | 2023-10-01T12:00:00Z | Failed to post by deadline | System Requirements | Requirement | Version/Access | | --------------------- | ---------------------------------------------- | | n8n | v1.50+ (AI and API integrations supported) | | Claude AI API | claude-3-5-sonnet-20241022 | | Instagram Graph API| Business account access token | | Google Sheets API | https://www.googleapis.com/auth/spreadsheets | | Slack Webhook | Required for notifications | Optional Enhancements Add email reminders to influencers directly Integrate Asana/Trello for task creation on breaches Use advanced AI prompts for deeper post analysis (e.g., sentiment) Connect Payment APIs (Stripe) to withhold payments on breaches Enable multi-platform checks (e.g., TikTok/YouTube) Add reporting dashboard via Google Data Studio Implement auto-contract updates from CRM systems Result: A single automated system that tracks, reminds, and enforces influencer deliverables — with full AI verification and zero manual work. Get in touch with us for custom n8n automation!
by Frederik Duchi
This n8n template demonstrates how to automatically create tasks (or in general, records) in Baserow based on template or blueprint tables. The first blueprint table is the master table that holds the general information about the template. For example: a standard procedure to handle incidents. The second table is the details table that holds multiple records for the template. Each record in that table is a specific task that needs to be assigned to someone with a certain deadline. This makes it easy to streamline task creation for recurring processes. Use cases are many: Project management (generate tasks for employees based on a project template) HR & onboarding (generate tasks for employee onboarding based on a template) Operations (create checklists for maintenance, audits, or recurring procedures) Good to know The Baserow template for handling Standard Operating Procedures works perfect as a base schema to try out this workflow. Authentication is done through a database token. Check the documentation on how to create such a token. Tasks are inserted using the HTTP request node instead of a dedicated Baserow node. This is to support batch import instead of importing records one by one. Requirements Baserow account (cloud or self-hosted) A Baserow database with at least the following tables: Assignee / employee table. This is required to be able to assign someone to a task. Master table with procedure or template information. This is required to be able to select a certain template Details table with all the steps associated with a procedure or template. This is required to convert each step into a specific task. A step must have a field Days to complete with the number of days to complete the step. This field will be used to calculate the deadline. Tasks table that contains the actual tasks with an assignee and deadline. How it works Trigger task creation (webhook)** The automation starts when the webhook is triggered through a POST request. It should contain an assignee, template, date and note in the body of the request. It will send a succes or failure response once all steps are completed. Configure settings and ids** Stores the ids of the involved Baserow database and tables, together with the API credentials and the data from the webhook. Get all template steps** Gets all the steps from the template Details table that are associated with the id of the Master template table. For example: the master template can have a record about handling customer complaints. The details table contains all the steps to handle this procedure. Calculate deadlines for each step** Prepares the input of the tasks by using the same property names as the field of the Tasks table. Adjust this names, add or remove fields if this is required for your database structure. The deadline of each step is calculated by adding the number of days a step can take based on the deadline of the first step. This is done through a field Days to complete in the template Details table. For example. If the schedule_date property in the webhook is set to 2025-10-01 and the Days to complete for the step is 3, then the deadline will be 2025-10-04 Avoid scheduling during the weekend** It might happen that the calculated deadline is on a Saturday or Sunday. This Code node moves those dates to the first Monday to avoid scheduling during the weekend. Aggregate tasks for insert** Aggregates the data from the previous nodes as an array in a property named items. This matches perfect with the Baserow API to insert new records in batch. Generate tasks in batch** Calls the API endpoint /api/database/rows/table/{table_id}/batch/ to insert multiple records at once in the tasks table. Check the Baserow API documentation for further details. Success / Error response** Sends a simple text response to indicate the success or failure of the record creation. This is to offer feedback when triggering the automation from a Baserow application, but can be replaced with a JSON response. How to use Call the Trigger task creation node with the required parameters through a POST request. This can be done from any web application. For example: the application builder in Baserow supports an action to send an HTTP request. The Procedure details page in the Standard Operating Procedures template demonstrates this action. The following information is required in the body of the request. This information is required to create the actual tasks. { "assignee_id": integer refering to the id of the assignee in the database, "template_id": integer refering to the id of the template or procedure in the master table, "schedule_date": the date the tasks need to start scheduling, "note": text with an optional note about the tasks } Set the corresponding ids in the Configure settings and ids node. Check the names of the properties in the Calculate deadlines for each step node. Make sure the names of those properties match the field names of your Tasks table. You can replace the text message in the Success response and Failure response with a more structured format if this is necessary in your application. Customising this workflow Add support for public holidays (e.g., using an external calendar API). Modify the task assignment logic (e.g., pre-assign tasks in the details table). Combine with notifications (email, Slack, etc.) to alert employees when new tasks are generated.
by Itunu
Automatically detect unsubscribe replies in your outreach emails and clean your Google Sheets contact list; keeping your domain reputation and deliverability strong. 🎯 Who it’s for This template is designed for freelancers, lead generation specialists, and outreach managers; particularly those running email outreach campaigns for clients or personal lead-gen projects. If you send cold emails, manage multiple lead lists, or handle outreach at scale, this workflow helps you automatically manage unsubscribe requests to maintain healthy email deliverability and protect your domain reputation. ⚙️ How it works Trigger: The workflow starts when a new reply is received in your Gmail inbox. Intent Detection: The email text is analyzed using OpenAI to detect unsubscribe intent (“unsubscribe”, “remove me”, “opt out”, etc.). Normalization & Filtering: A Code node verifies the AI output for accuracy and ensures the result is standardized as either "unsubscribe" or "keep". Check & Update Sheets: If the contact requested removal, the workflow checks your Unsubscribe Sheet to see if they’re already listed. If not, the contact is added to the Unsubscribe Sheet and simultaneously removed from your Main Outreach Sheet. Optional Gmail Label: Adds an “Unsubscribe” tag in Gmail for quick visual tracking (optional customization). 🧩 Requirements To run this workflow, you’ll need: Gmail Credentials** → for reading incoming replies and applying labels. Google Sheets Credentials** → to manage both the “Main” and “Unsubscribe” spreadsheets. OpenAI API Key** → used for detecting unsubscribe intent from message text. All credentials can be added through the n8n Credentials Manager. 🧠 How to Customize Polling Time:** Adjust how often the Gmail Trigger checks for new replies (default: every 5 minutes). Sheets:** Replace the linked Google Sheets IDs with your own. You can change sheet names and columns freely. Intent Rules:** Modify the Code node to include additional unsubscribe phrases or alternate keywords. Optional Gmail Tagging:** Enable or disable tagging for unsubscribed messages. Secondary Validation:** Enable the second “If” check after the OpenAI node to double-confirm unsubscribe intent before moving contacts. 💡 Why this workflow matters By automatically managing unsubscribe requests, you: Respect recipients’ opt-out preferences Reduce spam complaints Protect your domain reputation and increase deliverability Save hours of manual list cleaning This is a must-have automation for anyone running cold email outreach, especially freelancers managing multiple client inboxes. 🪄 Quick Setup Tips Replace all "Gmail account" and "Google Service Account account" credential references with your actual credentials. Ensure your sheet has an EMAIL column for lookup. Test with a few mock replies before activating for production. Optional: Add a time-based trigger to run the sheet cleanup periodically.
by Muhammad Bello
Description This n8n template demonstrates how to turn raw YouTube comments into research-backed content ideas complete with hooks and outlines. Use cases include: Quickly mining a competitor’s audience for video ideas. Generating hooks and outlines for your own channel’s comments. Validating content opportunities with live audience feedback. Good to know Apify is used to scrape YouTube comments (requires an API token). GPT-4.1-mini is used for both filtering and content generation. Tavily provides fresh research to ground the AI’s responses. All outputs are stored in Google Sheets, making it easy to manage and track ideas. How it works Trigger – Paste a YouTube URL into the chat trigger. Scrape Comments – Apify fetches all comments and metadata. Filter – GPT-4.1-mini decides if each comment could inspire a content idea. Store – Comments and “Yes/No” decisions are appended to Google Sheets. Research & Enrich – For “Yes” comments, Tavily provides context, and GPT generates a topic, hook, and outline. Update Sheet – The same row in Google Sheets is updated with enriched fields. Google Sheets Setup Your Google Sheet should include these columns (in this order): id | text | author | likes | isIdea | topic | research | hook | outline id** – unique identifier for each comment text** – the full YouTube comment author** – commenter’s name/handle likes** – number of likes on the comment isIdea** – “Yes” or “No” depending on GPT filter topic** – extracted video topic research** – 300–500 word background from Tavily hook** – engaging opening sentence for a video outline** – structured video outline Setup Steps Connect your Apify, OpenAI, Tavily, and Google Sheets credentials in n8n. Point the Google Sheets nodes to your own document and ensure the above headers exist. Replace sample API keys with your own stored in n8n Credentials. Time to set up: \~15–25 minutes for a first-time n8n user (less if you already have credentials handy). Customizing this workflow Filter logic** – Loosen the GPT filter to allow borderline ideas, or tighten it to only accept the best ones. Research depth** – Change Tavily’s search depth (e.g., depth: basic vs depth: advanced) to control how detailed the background research is. Notification channels* – Send new “Yes” ideas directly to *Slack* (#content-ideas), *Notion* (your content board), or *Email** (notify the content manager instantly). Alternative outputs** – Instead of hooks/outlines, generate: A script draft for YouTube Shorts. Blog post angles based on the same audience comments. A poll question for community engagement.
by Oneclick AI Squad
This n8n workflow monitors and alerts you about new construction projects in specified areas, helping you track competing builders and identify business opportunities. The system automatically searches multiple data sources and sends detailed email reports with upcoming projects. Good to know Email parsing accuracy depends on the consistency of request formats - use the provided template for best results. The workflow includes fallback mock data for demonstration when external APIs are unavailable. Government data sources may have rate limits - the workflow includes proper error handling. Results are filtered to show only upcoming/recent projects (within 3 months). How it works Email Trigger** - Detects new email requests with "Construction Alert Request" in the subject line Check Email Subject** - Validates that the email contains the correct trigger phrase Extract Location Info** - Parses the email body to extract area, city, state, and zip code information Search Government Data** - Queries government databases for public construction projects and permits Search Construction Sites** - Searches construction industry databases for private projects Process Construction Data** - Combines and filters results from both sources, removing duplicates Wait For Data** - Wait for Combines and filters results. Check If Projects Found** - Determines whether to send a results report or no-results notification Generate Email Report** - Creates a professional HTML email with project details and summaries Send Alert Email** - Delivers the construction project report to the requester Send No Results Email** - Notifies when no projects are found in the specified area The workflow also includes a Schedule Trigger that can run automatically on weekdays at 9 AM for regular monitoring. Email Format Examples Input Email Format To: alerts@yourcompany.com Subject: Construction Alert Request Area: Downtown Chicago City: Chicago State: IL Zip: 60601 Additional notes: Looking for commercial projects over $1M Alternative format: To: alerts@yourcompany.com Subject: Construction Alert Request Please search for construction projects in Miami, FL 33101 Focus on residential and mixed-use developments. Output Email Example Subject: 🏗️ Construction Alert: 8 Projects Found in Downtown Chicago 🏗️ Construction Project Alert Report Search Area: Downtown Chicago Report Generated: August 4, 2024, 2:30 PM 📊 Summary Total Projects Found: 8 Search Query: Downtown Chicago IL construction permits 🔍 Upcoming Construction Projects New Commercial Complex - Downtown Chicago 📍 Location: Downtown Chicago | 📅 Start Date: March 2024 | 🏢 Type: Mixed Development Description: Mixed-use commercial and residential development Source: Local Planning Department Office Building Construction - Chicago 📍 Location: Chicago, IL | 📅 Start Date: April 2024 | 🏢 Type: Commercial Description: 5-story office building with retail space Source: Building Permits [Additional projects...] 💡 Next Steps • Review each project for potential competition • Contact project owners for partnership opportunities • Monitor progress and timeline changes • Update your competitive analysis How to use Setup Instructions Import the workflow into your n8n instance Configure Email Credentials: Set up IMAP credentials for receiving emails Set up SMTP credentials for sending alerts Test the workflow with a sample email Set up scheduling (optional) for automated daily checks Sending Alert Requests Send an email to your configured address Use "Construction Alert Request" in the subject line Include location details in the email body Receive detailed project reports within minutes Requirements n8n instance** (cloud or self-hosted) Email account** with IMAP/SMTP access Internet connection** for API calls to construction databases Valid email addresses** for sending and receiving alerts API Integration Code Examples Government Data API Integration // Example API call to USA.gov jobs API const searchGovernmentProjects = async (location) => { const response = await fetch('https://api.usa.gov/jobs/search.json', { method: 'GET', headers: { 'Content-Type': 'application/json', }, params: { keyword: 'construction permit', location_name: location, size: 20 } }); return await response.json(); }; Construction Industry API Integration // Example API call to construction databases const searchConstructionProjects = async (area) => { const response = await fetch('https://www.construction.com/api/search', { method: 'GET', headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', 'Accept': 'application/json' }, params: { q: ${area} construction projects, type: 'projects', limit: 15 } }); return await response.json(); }; Email Processing Function // Extract location from email content const extractLocationInfo = (emailBody) => { const lines = emailBody.split('\n'); let area = '', city = '', state = '', zipcode = ''; for (const line of lines) { if (line.toLowerCase().includes('area:')) { area = line.split(':')[1]?.trim(); } if (line.toLowerCase().includes('city:')) { city = line.split(':')[1]?.trim(); } if (line.toLowerCase().includes('state:')) { state = line.split(':')[1]?.trim(); } if (line.toLowerCase().includes('zip:')) { zipcode = line.split(':')[1]?.trim(); } } return { area, city, state, zipcode }; }; Customizing this workflow Adding New Data Sources Add HTTP Request nodes for additional APIs Update the Process Construction Data node to handle new data formats Modify the search parameters based on API requirements Enhanced Email Parsing // Custom email parsing for different formats const parseEmailContent = (emailBody) => { // Add regex patterns for different email formats const patterns = { address: /(\d+\s+[\w\s]+,\s[\w\s]+,\s[A-Z]{2}\s*\d{5})/, coordinates: /(\d+\.\d+),\s*(-?\d+\.\d+)/, zipcode: /\b\d{5}(-\d{4})?\b/ }; // Extract using multiple patterns // Implementation details... }; Custom Alert Conditions Modify the Check If Projects Found node to filter by: Project value/budget Project type (residential, commercial, etc.) Distance from your location Timeline criteria Advanced Scheduling // Set up multiple schedule triggers for different areas const scheduleConfigs = [ { area: "Downtown", cron: "0 9 * * 1-5" }, // Weekdays 9 AM { area: "Suburbs", cron: "0 14 * * 1,3,5" }, // Mon, Wed, Fri 2 PM { area: "Industrial", cron: "0 8 * * 1" } // Monday 8 AM ]; Integration with CRM Systems Add HTTP Request nodes to automatically create leads in your CRM when high-value projects are found: // Example CRM integration const createCRMLead = async (project) => { await fetch('https://your-crm.com/api/leads', { method: 'POST', headers: { 'Authorization': 'Bearer YOUR_TOKEN', 'Content-Type': 'application/json' }, body: JSON.stringify({ name: project.title, location: project.location, value: project.estimatedValue, source: 'Construction Alert System' }) }); }; Troubleshooting No emails received**: Check IMAP credentials and email filters Empty results**: Verify API endpoints and add fallback data sources Failed email delivery**: Confirm SMTP settings and recipient addresses API rate limits**: Implement delays between requests and error handling
by Buay Biel
This n8n template demonstrates how to automate personalized cold email follow-ups using AI personalization and database tracking. Perfect for sales teams, recruiters, and agencies managing high-volume outreach. Use cases: Follow up with cold leads, re-engage trial users, nurture conference contacts, recruit candidates, or follow up with proposal recipients. PS: 1) This was created as a Follow Up workflow it was not meant for inital outreach. (However if you can customize it to include initial outreach then go ahead) 2)This workflow sends a maximum of 4 follow Ups How it works NocoDB fetches all leads and filters those needing follow-up today based on the "Next Follow up/Contact" date A switch node routes leads to the appropriate follow-up stage (1-4) based on which follow-ups have already been sent AI personalizes each email template by inserting the recipient's name while keeping the rest of the content intact Emails are sent via SMTP (or Gmail node), then the database updates to mark the follow-up as sent and schedule the next one The workflow runs daily at 10 AM to automatically process follow-ups without manual intervention Good to know Each AI personalization costs ~$0.001 with Groq (free tier available). See Groq pricing for details. Follow-up schedule: Day 3, 7, 12, 16 after initial contact (fully customizable) Leads marked "Not Interested" are automatically excluded from future follow-ups The workflow only processes leads with an "Initial Contact Date" set - this triggers the entire sequence (The initial Contact is done manually and updated manually) How to use The schedule trigger runs daily but can be replaced with manual trigger or webhook for immediate testing Customize the 4 email templates in the AI nodes to match your brand voice and offering Adjust follow-up intervals by modifying the "Update a row" nodes (currently +4 or +5 days between follow-ups) Import your lead list to NocoDB with minimum required fields: first_name, last_name, email, Initial Contact Date Requirements NocoDB account** - Free lead database (You can use any database-Google Sheets, Airtable etc. However ensure the essential details below are in the database) Groq API key** (or OpenAI/Ollama) - For AI personalization (Swap this for any LLM you like/have) SWITCH* the 'Send Email' nodes for the *Gmail** Node and set it up using OAuth
by David Olusola
WordPress Weekly Newsletter Generator Overview: This automation automatically converts your latest WordPress posts into beautifully formatted email newsletters using AI, then sends them to your subscriber list every Friday. What it does: Fetches your latest WordPress posts from the past week every Friday at 10 AM Filters posts to ensure there's content to include AI creates an engaging newsletter with compelling subject line and HTML content Parses the AI response to extract subject and content Sends formatted HTML email newsletter to your subscriber list Setup Required: WordPress Connection Configure WordPress credentials in the "Fetch Recent Posts" node Enter your WordPress site URL, username, and password/app password Email SMTP Setup Set up SMTP credentials (Gmail, SendGrid, Mailgun, etc.) in the "Send Newsletter" node Replace newsletter@yoursite.com with your actual sender email Replace subscriber emails in "To Email" field with your actual subscriber list Configure reply-to address for professional appearance AI Configuration Set up Google Gemini API credentials Connect the Gemini model to the "AI Newsletter Creator" node Customization Options Newsletter Schedule: Modify schedule trigger (default: Friday 10 AM) Post Count: Adjust number of posts to include (default: 5 from past week) Content Style: Modify AI system message for different newsletter tones Email Design: Customize HTML template and styling in AI prompt Testing Run workflow manually to test all connections Send test newsletter to yourself first Verify HTML formatting appears correctly in email clients Features: Automatic weekly scheduling AI-generated compelling subject lines HTML email formatting with proper structure Post filtering to avoid empty newsletters Professional email headers and reply-to setup Batch processing of multiple recent posts Customization: Change newsletter frequency (daily, bi-weekly, monthly) Adjust AI prompts for different writing styles Modify email template design Add custom intro/outro messages Include featured images from posts Need Help? For n8n coaching or one-on-one consultation