by WeblineIndia
Quick Overview This workflow collects tasks via a webhook, stores validated tasks in Google Sheets, and runs a daily prioritization routine that creates urgent items in Google Tasks with Slack alerts while summarizing medium/low tasks with OpenAI and emailing the digest via Gmail. How it works Receives a POST webhook request containing task details and normalizes fields like priority and due date. Validates required fields (including allowed priority values) and rejects invalid submissions with an error. Appends valid tasks to Google Sheets with a pending status and returns a success response to the webhook caller. Runs daily on a schedule, reads tasks from Google Sheets, keeps only pending items, removes duplicates, and sorts them by priority. For high-priority tasks, creates a Google Tasks item and sends a Slack alert. For medium and low-priority tasks, compiles a digest, generates an email-ready summary with OpenAI, and sends it via Gmail. Updates each handled task in Google Sheets with a Processed status and a processed timestamp. Setup Create a Google Sheet with columns for taskName, priority, category, dueDate, status, createdAt, and processedAt, and update the spreadsheet and sheet IDs in the Google Sheets steps. Add Google Sheets OAuth2 credentials for both reading and updating/appending rows. Add credentials for Google Tasks, Slack (OAuth2), Gmail, and OpenAI, and set the target Google Task list, Slack destination, and email recipients/subject as needed. Copy the webhook URL from the webhook trigger and configure your task intake source to send POST requests with fields like "Task Name", "Priority", "Category", and "Due Date". Adjust the schedule time and any validation rules (required fields and accepted priority values) to match your process.
by Automate With Marc
Image to Video Social Media Reel Generator + Autopost Without AI Slop Google Drive → AI Video Generation → Captions → Approval → Instagram & TikTok Watch Step-By-Step Video: https://www.youtube.com/watch?v=jPOYxQF25ws Turn a folder of images into fully-produced short-form social media reels—automatically. This workflow picks a random image, generates a cinematic AI video from it, adds text overlays and captions, waits for your approval, and then posts to Instagram and TikTok. What this template does On a scheduled basis (default: daily at 9:00 AM), this workflow: Selects a random image from a Google Drive folder Uploads the image for processing Generates a cinematic image-to-video prompt using AI Creates an 8-second vertical video using an image-to-video model (via Wavespeed) Applies captions and text overlays using Submagic Waits for human approval via email Automatically posts the approved reel to: Instagram TikTok If the video is not approved, the workflow loops and tries again on the next run. Why this workflow is useful Converts static images into high-engagement video content Removes repetitive manual work in short-form content creation Keeps a human-in-the-loop before anything is published Perfect for: Creators & solopreneurs Social media managers Small businesses & local brands AI-first content pipelines High-level flow Schedule → Pick Image → Generate Video → Add Captions → Approve → Post Node overview Schedule Trigger Runs the workflow automatically at a fixed time (default: daily at 9 AM). Google Drive – Search Files Fetches all images from a selected Drive folder. Randomizer (Code Node) Selects one random image to avoid repetitive posting. Upload Media Uploads the selected image so it can be used by downstream tools. Prompt Generator (AI) Generates a high-quality cinematic prompt optimized for image-to-video models Wavespeed – Image to Video Creates an 8-second, 9:16 video from the image + prompt. Wait & Polling (IF Nodes) Waits and checks until video generation is completed. Submagic – Text Overlay & Captioning Adds captions and overlays in a short-form style optimized for social platforms. Gmail – Send for Approval Sends a preview link and caption to your inbox and waits for approval. IF (Approved?) Yes: posts the reel automatically No: skips posting and retries in the next run Blotato – Social Posting Publishes the approved reel to: Instagram TikTok Requirements Before running this template, you’ll need to configure: Google Drive OAuth (image source folder) OpenAI API key (prompt generation) Wavespeed API key (image-to-video generation) Submagic API key (captions & overlays) Gmail OAuth (approval workflow) Blotato account (Instagram & TikTok posting) All credentials must be added manually after importing. Setup instructions Import the template into your n8n workspace Connect your Google Drive account and set your image folder Add credentials for: OpenAI Wavespeed Submagic Gmail Blotato Adjust the Schedule Trigger if needed Run the workflow once to test the full flow Enable the workflow to start daily automated posting Customization ideas Change video duration, aspect ratio, or style Modify the AI prompt to match your brand voice Post only after manual approval (already built-in) Add a Slack or Telegram approval step Duplicate posting logic for YouTube Shorts or Facebook Reels Store generated videos in cloud storage or a content database Troubleshooting No images found: check Drive folder ID and permissions Video stuck generating: increase wait time or polling interval Approval email not received: verify Gmail OAuth and inbox filters Posting fails: confirm Blotato account and platform permissions
by Neloy Barman
Self-Hosted This workflow provides a complete end-to-end system for capturing, analyzing, and routing customer feedback. By combining local multimodal AI processing with structured data storage, it allows teams to respond to customer needs in real-time without compromising data privacy. Who is this for? This is designed for Customer Success Managers, Product Teams, and Community Leads who need to automate the triage of high-volume feedback. It is particularly useful for organizations that handle sensitive customer data and prefer local AI processing over cloud-based API calls. 🛠️ Tech Stack Tally.so**: For front-end feedback collection. LM Studio**: To host the local AI models (Qwen3-VL). PostgreSQL**: For persistent data storage and reporting. Discord**: For real-time team notifications. ✨ How it works Form Submission: The workflow triggers when a new submission is received from Tally.so. Multimodal Analysis: The OpenAI node (pointing to LM Studio) processes the input using the Qwen3-VL model across three specific layers: Sentiment Analysis: Evaluates the text to determine if the customer is Positive, Negative, or Neutral. Zero-Shot Classification: Categorizes the feedback into pre-defined labels based on instructions in the prompt. Vision Processing: Analyzes any attached images to extract descriptive keywords or identify UI elements mentioned in the feedback. Data Storage: The PostgreSQL node logs the user's details, the original message, and all AI-generated insights. AI-Driven Routing: The same Qwen3-VL model makes the routing decision by evaluating the classification results and determining the appropriate path for the data to follow. Discord Notification: The Discord node sends a formatted message to the corresponding channel, ensuring the support team sees urgent issues while the marketing team sees positive testimonials. 📋 Requirements LM Studio** running a local server on port 1234. Qwen3-VL-4B** (GGUF) model loaded in LM Studio. PostgreSQL** instance with a table configured for feedback data. Discord Bot Token** and specific Channel IDs. 🚀 How to set up Prepare your Local AI: Open LM Studio and download the Qwen3-VL-4B model. Start the Local Server on port 1234 and ensure CORS is enabled. Disable the Require Authentication setting in the Local Server tab. Configure PostgreSQL: Ensure your database is running. Create a table named customer_feedback with columns for name, email_address, feedback_message, image_url, sentiment, category, and img_keywords. Import the Workflow: Import the JSON file into your n8n instance. Link Services: Update the Webhook node with your Tally.so URL. In the Discord nodes, paste the relevant Channel IDs for your #support, #feedback, and #general channels. Test and Activate: Toggle the workflow to Active. Send a test submission through your Tally form and verify the data appears in PostgreSQL and Discord. 🔑 Credential Setup To run this workflow, you must configure the following credentials in n8n: OpenAI API (Local)**: Create a new OpenAI API credential. API Key: Enter any placeholder text (e.g., lm-studio). Base URL: Set this to your machine's local IP address (e.g., http://192.168.1.10:1234/v1) to ensure n8n can connect to the local AI server, especially if running within a Docker container. PostgreSQL**: Create a new PostgreSQL credential. Enter your database Host, Database Name, User, and Password. If using the provided Docker setup, the host is usually db. Discord Bot**: Create a new Discord Bot API credential. Paste your Bot Token obtained from the Discord Developer Portal. Tally**: Create a new Tally API credential. Enter your API Key, which you can find in your Tally.so account settings. ⚙️ How to customize Refine AI Logic**: Update the System Message in the AI node to change classification categories or sentiment sensitivity. Switch to Cloud AI: If you prefer not to use a local model, you can swap the local **LM Studio connection for any 3rd party API, such as OpenAI (GPT-4o), Anthropic (Claude), or Google Gemini, by updating the node credentials and Base URL. Expand Destinations: Add more **Discord nodes or integrate Slack to notify different departments based on the AI's routing decision. Custom Triggers: Replace the Tally webhook with a **Typeform, Google Forms, or a custom Webhook trigger if your collection stack differs.
by Avkash Kakdiya
How it works This workflow fetches the latest blog post from a WordPress API and checks against a Google Sheets tracker to prevent duplicate processing. If a new post is found, the workflow updates the tracker and cleans the blog data. The cleaned content is then sent to a Gemini-powered AI agent to generate a newsletter and LinkedIn teaser. Finally, the workflow distributes the content via LinkedIn and Gmail to subscribers. Step-by-step Detect new blog content** Schedule Trigger – Runs the workflow automatically at intervals. HTTP Request – Fetches the latest blog post from WordPress. Last ID – Retrieves the last processed blog ID from Google Sheets. If – Compares IDs to check if the blog is new. Update Last ID – Updates the sheet with the latest blog ID. Clean and generate AI content** data cleanse – Cleans HTML, extracts title, content, and image. AI Agent2 – Generates newsletter and teaser content. Google Gemini Chat Model – Provides AI model for content generation. Distribute content across channels** Format Response – Parses and structures AI output. Create a post – Publishes content on LinkedIn. Email List – Fetches subscriber emails from Google Sheets. Loop Over Items – Iterates through each recipient. Send Email – Sends HTML newsletter via Gmail. Why use this? Automates end-to-end blog promotion workflow Prevents duplicate publishing using ID tracking Uses AI to generate engaging content instantly Saves time on manual posting and emailing Easily scalable for growing audiences
by Avkash Kakdiya
Quick Overview This workflow receives an HR offboarding webhook, validates and enriches the employee record, suspends the user in Google Workspace, deactivates the user in Slack, looks up the matching HubSpot contact, logs the event to Notion and Google Sheets, and notifies HR/IT via Gmail and Slack. How it works Receives a POST webhook from the HR system with employee offboarding details. Parses the payload to normalize key fields (name, email, department, manager, last day) and flags invalid requests. Posts an alert to a Slack IT channel when the record is invalid and stops further processing. Enriches valid records with an offboarding ID, risk level, revocation deadline, and an actions summary. Suspends the employee in Google Workspace via the Admin Directory API, deactivates the user in Slack via the Slack API, searches for the contact in HubSpot, and creates an offboarding entry in a Notion database. Combines the revocation results and appends a compliance log row to a Google Sheets “Offboarding Log” tracker. Emails an offboarding completion summary to the manager and HR using Gmail and posts a completion digest to the Slack IT channel. Setup Copy the n8n webhook URL from the HR offboarding webhook trigger and configure your HR system to POST the offboarding payload to it. Provide credentials/tokens for the Google Admin Directory API and Slack API (both used via HTTP requests) and replace the placeholder Bearer tokens in the request headers. Add a HubSpot App Token credential with access to search contacts. Create a Notion database for offboarding logs, add a Notion API integration, and set the Notion database ID and API key in the Notion request. Add Google Sheets OAuth credentials, set your Google Sheet ID, and ensure the “Offboarding Log” sheet contains the columns mapped in the append step. Add a Gmail connection for sending summary emails and set the target Slack channel ID for the invalid-record alert and IT ops digest messages.
by Rahul Joshi
Quick Overview This workflow ingests construction incident webhooks, normalizes the payload, and uses OpenAI GPT-4o-mini to classify each incident by type and urgency, then routes alerts to Slack and Gmail and logs incidents to Google Sheets, with a daily Slack digest generated from the sheet. How it works Receives an incoming incident via a POST webhook. Normalizes the incoming Procore/Fieldwire-style payload into a consistent incident object (ID, title, description, location, reporter, assignee, and timestamps). Sends the incident details to OpenAI (GPT-4o-mini) to classify issue type and urgency and generate a short summary, recommended action, and tags. Routes incidents by urgency, sending Critical incidents to Slack with an @channel mention and emailing details to a project manager via Gmail. Sends High-urgency incidents to Slack as a formatted notice. Appends every incident to a Google Sheets log with status set to open. Runs daily at 18:00 server time, reads the incident log from Google Sheets, builds an urgency-grouped digest, and posts it to a Slack channel. Setup Add credentials for OpenAI, Slack (OAuth2), Gmail (OAuth2), and Google Sheets (OAuth2). Copy the webhook URL from the Webhook trigger and register it in your source system (for example, Procore or Fieldwire) as the incident-created endpoint. Replace the placeholder Slack channel IDs for Critical, High, Digest, and Error alerts. Update the Gmail recipient address (pm@example.com) to your real project manager email. Set the Google Sheets spreadsheet (document ID) and ensure the target sheet exists with columns that match the incident log fields used by the workflow. Confirm the schedule trigger time (cron: 0 18 * * *) matches your desired timezone/server time for the daily digest.
by Rahul Joshi
Quick Overview This workflow runs every Friday at 5 PM, reads project metrics from three Google Sheets tabs, calculates a Red/Amber/Green health status, uses OpenAI (GPT-4o mini) to generate executive summaries, and sends a color-coded HTML dashboard email via Gmail, with Slack alerts for failures. How it works Runs every Friday at 5 PM on a schedule. Reads the latest rows from three Google Sheets tabs (Alpha, Beta, and Gamma) in parallel. Merges the sheet data and calculates each project’s schedule variance, budget burn, open issue count, and overall RAG (Red/Amber/Green) status. Sends a per-project prompt to OpenAI (GPT-4o mini) to generate a concise three-line executive health summary. If the AI step fails for any project, posts an alert to a specified Slack channel. Aggregates all projects into a styled HTML dashboard email with overall RAG counts and sends it to your leadership list via Gmail. If the workflow errors at any point, posts an error alert to Slack using the workflow error trigger. Setup Connect Google Sheets OAuth2 credentials and replace YOUR_SPREADSHEET_ID and the tab references so the three read steps point to your spreadsheet. Ensure each Google Sheets tab includes the expected columns: project_name, planned_end, forecast_end, budget_total, budget_spent, open_issues_count, and pct_complete. Add your OpenAI credentials and confirm the model selection (GPT-4o mini) is available in your OpenAI account. Connect Gmail OAuth2 credentials and update the recipient address in the email step (your-leadership-list@example.com). Connect Slack OAuth2 credentials and set the correct channel IDs for both the AI-failure alert and the workflow error alert.
by isaWOW
You activate this workflow once and it checks your Google reviews every morning at 9AM without any action from you. It fetches your latest reviews, classifies them as positive or negative, and uses GPT-4o-mini to write a personalised reply draft for each one. You receive a clean daily email with all drafts ready to copy and paste straight into your Google Business Profile. Built for local business owners, agencies, and reputation managers who want to stay on top of reviews without checking manually every day. What This Workflow Does Fetches live reviews daily — Pulls your latest Google reviews from the Places API every morning so you never miss a new one. Classifies each review automatically — Separates positive reviews (4–5 stars) from negative reviews (1–3 stars) so the AI writes the right tone for each. Skips days with no activity — If no reviews exist for your business, the workflow stops cleanly and sends no email — no noise in your inbox. Generates personalised reply drafts — GPT-4o-mini writes a unique reply for every review, referencing the reviewer's name and specific comments. Handles negative reviews professionally — Negative replies include a sincere apology and an offline resolution offer — never defensive or argumentative. Delivers a formatted daily digest — Gmail sends one clean email with a summary count and all reply drafts — plus step-by-step instructions for posting them. Setup Requirements Tools and accounts needed: n8n instance (self-hosted or cloud) Google Cloud account with Places API enabled (for fetching reviews) Your Google Place ID (identifies your specific business listing) OpenAI account with API access (for GPT-4o-mini) Gmail account for sending the daily digest (OAuth2 credential) Estimated Setup Time: 12–18 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON. Paste the workflow JSON and import. Confirm all 9 nodes are connected in sequence. Find your Google Place ID — Go to developers.google.com/maps/documentation/places/web-service/place-id and use the Place ID Finder. Search for your business name and copy the Place ID shown. You will paste this into the config step below. Get your Google Places API key — Go to console.cloud.google.com. Create or select a project. Enable the Places API. Go to APIs & Services → Credentials → Create Credentials → API Key. Copy your new API key. Edit your config values — Open the 2. Set — Config Values node. This is the only node you need to change. Replace all five placeholders: | Field | What to enter | |---|---| | YOUR_GOOGLE_PLACE_ID | Your Place ID from step 2 | | YOUR_GOOGLE_PLACES_API_KEY | Your API key from step 3 | | YOUR BUSINESS NAME | Your business name as it appears on Google | | owner@yourbusiness.com | The email address to receive daily reports | | YOUR NAME | Your name — appears at the end of every reply draft | > ⚠️ The Google Places API key is used directly in the URL of the 3. HTTP — Fetch Google Places Reviews node via the config values. Ensure you replace it in 2. Set — Config Values only — it flows through automatically. Connect your OpenAI API key — Go to Credentials → New → OpenAI API in n8n. Paste your API key from platform.openai.com. Open the 7. OpenAI — GPT-4o-mini Model node and select this credential. Connect your Gmail credential — Go to Credentials → New → Gmail OAuth2 in n8n. Complete the OAuth flow with the Gmail account you want to send reports from. Open the 9. Gmail — Send Review Report node and select this credential. Activate the workflow — Toggle the workflow to Active. It will now run automatically every day at 9AM. How It Works (Step by Step) Step 1 — Schedule Trigger (Every Day 9AM) The workflow fires automatically each morning using a daily cron schedule. No manual action is needed once the workflow is active. Step 2 — Set (Config Values) Five configuration values are stored here: your Place ID, Google Places API key, business name, owner email, and owner name. Every other step in the workflow reads from this single location. Step 3 — HTTP Request (Google Places API) A GET request is sent to the Google Places Details API using your Place ID and API key. It asks for the business name, overall star rating, and all available reviews. The raw response is passed to the next step. Step 4 — Code (Parse and Classify Reviews) A script reads the raw API response and extracts every review. It separates reviews into two groups: positive (4–5 stars) and negative (1–3 stars). It also builds a clean numbered text summary of all reviews — including author name, star rating, review text, and recency — ready for the AI to read. If the API returns zero reviews, the step sets a hasReviews: false flag and passes a fallback message forward. Step 5 — IF Check (Are There Reviews?) This step checks the hasReviews flag from Step 4. If it is true, the workflow continues to the AI reply generation. If it is false — meaning no reviews were found — the workflow stops here completely and no email is sent. This prevents empty or useless emails on quiet days. Step 6 — AI Agent (Generate Reply Drafts) GPT-4o-mini receives the full review summary along with your business name, overall rating, and owner name. It writes one reply draft for every review in the list. Positive reply drafts thank the reviewer by name, reference something specific they mentioned, and invite them back. Negative reply drafts open with a sincere apology, acknowledge the concern without excuses, and offer to resolve the issue offline. Every reply ends with your name in a Best regards, sign-off. Step 7 — OpenAI Model (GPT-4o-mini) This is the language model powering the AI Agent in Step 6. It runs at a temperature of 0.7 for natural, human-sounding replies and has a 1,000-token output limit — enough for a full set of reply drafts. Step 8 — Set (Prepare Email Fields) The AI-generated reply drafts, email subject line, recipient address, and review counts are assembled into one item. The subject line dynamically includes your business name, the total number of reviews found, and your current overall star rating. Step 9 — Gmail (Send Review Report) Gmail sends the final daily digest to your inbox. The email opens with a summary showing how many positive and negative reviews were found. It then lists all reply drafts one after another, each labelled with the review number, sentiment, and reviewer name. The email closes with a three-step guide for posting replies on Google Business Profile. Key Features ✅ Zero-maintenance daily monitoring — Checks your reviews every morning at 9AM with no login or manual trigger required. ✅ Smart stop on quiet days — The IF check ensures no email is sent when there are no reviews — your inbox only receives reports that matter. ✅ Tone-matched reply drafts — Positive reviews get warmth and appreciation. Negative reviews get calm professionalism. The AI uses the right tone automatically. ✅ Reviewer name personalisation — Every reply draft opens by addressing the reviewer by their actual name — not a generic greeting. ✅ Review count in subject line — The email subject dynamically shows how many reviews were found and your current rating — you know what to expect before opening it. ✅ Copy-paste ready format — Drafts are delivered in a clean numbered format with posting instructions included — no reformatting needed before you use them. ✅ Single config node — All five business-specific values live in one place. Switching this workflow to a different business takes under two minutes. Customisation Options Change the daily send time — In the 1. Schedule — Every Day 9AM node, edit the cron expression 0 9 * * * to any time you prefer. For example, 0 7 * * * sends at 7AM, or 0 18 * * * sends at 6PM. Adjust the negative review word limit — In the 6. AI Agent — Generate Reply Drafts node, change under 70 words in the prompt to any length that fits your brand voice — shorter for a concise tone, longer for a more detailed response. Add a CC recipient — In the 9. Gmail — Send Review Report node, expand the options and add a CC email address to copy an agency manager or team member on every daily digest. Filter only new reviews by date — In the 4. Code — Parse and Classify Reviews step, add a date filter using the time field from each review object to only process reviews posted in the last 24 hours — avoiding repeat drafts for old reviews. Deploy for multiple locations — Duplicate the workflow in n8n and update the 2. Set — Config Values node for each business or location. Each copy runs independently on the same daily schedule. Troubleshooting HTTP node returns a 403 or REQUEST_DENIED error: Check that the Places API is enabled in your Google Cloud Console project Verify that YOUR_GOOGLE_PLACES_API_KEY has been replaced in 2. Set — Config Values with your actual API key Confirm your API key has no IP or referrer restrictions that would block n8n server requests No reviews found even though reviews exist on Google: Verify that YOUR_GOOGLE_PLACE_ID is correct — search for your exact business at developers.google.com/maps/documentation/places/web-service/place-id and re-copy the ID Note that the Google Places API returns a maximum of 5 most recent reviews — this is an API limitation, not a workflow issue Run the workflow manually and inspect the output of 3. HTTP — Fetch Google Places Reviews to view the raw API response AI Agent produces empty or broken reply drafts: Confirm the 7. OpenAI — GPT-4o-mini Model credential is valid and your OpenAI account has available API credits Check the execution log for 6. AI Agent — Generate Reply Drafts for any OpenAI error messages If the review text field is empty for some reviews, the AI may produce shorter or generic replies — this is expected Gmail node fails to send the digest: Confirm your Gmail OAuth2 credential is connected and not expired in the 9. Gmail — Send Review Report node Check that owner@yourbusiness.com has been replaced with a valid real email address in 2. Set — Config Values Re-authenticate the Gmail credential if you see an authorisation error Workflow does not run at 9AM: Confirm the workflow is toggled to Active — saved workflows do not run on schedule unless activated Check your n8n instance timezone settings — the 9AM schedule runs based on your server's timezone, not your local time Support Need help setting this up or want a custom version built for your team or agency? 📧 Email:info@isawow.com 🌐 Website:https://isawow.com
by Cheng Siong Chin
How It Works Automates sales data analysis and strategic insight generation for sales managers and strategists needing actionable intelligence. Fetches multi-source data from sales, marketing, and financial systems, validates data quality to prevent errors, applies advanced AI analysis via OpenAI to identify market trends and patterns, calculates comprehensive KPIs for performance measurement, generates prioritized recommendations, and automatically distributes detailed insights via Gmail alerts and Google Sheets dashboards—eliminating time-consuming manual analysis overhead. Setup Instructions OpenAI API: Add key via credentials Gmail: Authorize account for email delivery Google Sheets: Connect for dashboard logging Schedule: Set monthly trigger timing Modify data sources: Replace fetch nodes with your APIs Prerequisites OpenAI API key, Gmail account with send permissions, Google Sheets access, n8n instance, source data APIs (sales, marketing, financial systems). Use Cases E-commerce platforms analyzing sales trends; SaaS companies generating strategy reports; multi-channel retailers routing recommendations; Customization Add data sources via fetch nodes; swap OpenAI for Claude or Gemini; modify routing logic for different priority thresholds; Benefits Reduces analysis time from hours to minutes. Eliminates manual report crea
by Incrementors
Quick Overview This workflow runs daily at 9 AM to scrape product titles and prices from a target website, store the results in Google Sheets, generate price statistics and an OpenAI GPT-4o-mini market insight, and email a formatted report with a CSV attachment via Gmail. How it works Runs every day at 9:00 using a schedule trigger. Fetches the target webpage HTML over HTTP and extracts all product blocks with CSS selectors. Splits the extracted product blocks into individual items, then parses each product’s title and price and sorts the list by price in descending order. Cleans the price into a numeric field and adds the current scrape date to each product record. Appends the product rows to a Google Sheets tab and, in parallel, calculates min/max/average price plus top and bottom price lists for analysis. Sends the compiled price context to OpenAI (GPT-4o-mini) to generate a short plain-text market insight. Converts the scraped product list into a CSV file, then emails the stats and AI insight with the CSV attached using Gmail. Setup Update the target URL and the CSS selectors used to extract product blocks, titles, and prices to match the site you want to scrape. Add an OpenAI credential and ensure the workflow can access the GPT-4o-mini model. Add Google Sheets OAuth credentials, set the spreadsheet ID, and create a “Products” sheet with columns for Title, Price, and Scraped Date. Add Gmail OAuth credentials and set the recipient email address used to send the daily report.
by Wan Dinie
Automated Malaysian Weather Alerts with Perplexity AI, Firecrawl and Telegram This n8n template automates daily weather monitoring by fetching official government warnings and searching for related news coverage, then delivering comprehensive reports directly to Telegram. Use cases include monitoring severe weather conditions, tracking flood warnings across Malaysian states, staying updated on weather-related news, and receiving automated daily weather briefings for emergency preparedness. Good to know Firecrawl free tier allows limited scraping requests per hour. Consider the 3-second interval between requests to avoid rate limits. OpenAI costs apply for content summarization - GPT-4.1 mini balances quality and affordability. After testing multiple AI models (GPT, Gemini), Perplexity Sonar Pro Search proved most effective for finding recent, relevant weather news from Malaysian sources. The workflow focuses on major Malaysian news outlets like Utusan, Harian Metro, Berita Harian, and Kosmo. How it works Schedule Trigger runs daily at 9 AM to fetch weather warnings from Malaysia's official data.gov.my API. JavaScript code processes weather data to extract warning types, severity levels, and affected locations. Search queries are aggregated and combined with location information. Perplexity Sonar Pro AI Agent searches for recent news articles (within 3 days) from Malaysian news channels. URLs are cleaned and processed one by one through a loop to manage API limits. Firecrawl scrapes each news article and extracts summaries from main content. All summaries and source URLs are combined and sent to OpenAI for final report generation. The polished weather report is delivered to your Telegram channel in English. How to use The schedule trigger is set for 9 AM but can be adjusted to any preferred time. Replace the Telegram chat ID with your channel or group ID. The workflow automatically filters out "No Advisory" warnings to avoid unnecessary notifications. Modify the search query timeout and batch processing based on your API limits. Requirements OpenAI API key (get one at https://platform.openai.com) Perplexity API via OpenRouter (get access at https://openrouter.ai) Firecrawl API key (get free tier at https://firecrawl.dev) Telegram Bot token and channel/group ID Customizing this workflow Expand news sources**: Modify the AI Agent prompt to include additional Malaysian news outlets or social media sources. Language options**: Change the final report language from English to Bahasa Malaysia by updating the "Make a summary" system prompt. Alert filtering**: Adjust the JavaScript code to focus on specific warning types (e.g., only severe warnings or specific states). Storage integration**: Connect to Supabase or Google Sheets to maintain a historical database of weather warnings and news. Multi-channel delivery**: Add more notification nodes to send alerts via email, WhatsApp, or SMS alongside Telegram.
by Milo Bravo
Event Registration + Auto-Enrichment Intelligence Who is this for? Event organizers, conference planners, and marketing teams fighting registration drop-off who want 4-field forms with LinkedIn-level attendee intelligence. What problem is this workflow solving? Multi-page forms kill conversions: 80-90% drop-off on page 2 No attendee insights post-reg Manual enrichment wastes hours Abandoned carts = lost revenue This captures 4 fields but enriches 15+ data points automatically. What this workflow does 3 Webhook Intelligence Suite: POST /event-registration**: 4-field form → enrichment → HubSpot POST /reg-beacon**: Abandoned cart tracking pixel POST /validate-promo**: AJAX promo code validation Requires 2 sub-workflows: 1) Abandoned Cart Recovery 2) Participant Re-engager Enrichment Waterfall: Clearbit → LinkedIn (Proxycurl) → Google+AI → Full profile Outputs: HubSpot contacts with company/role/title Data Tables: enriched_profiles / reg_analytics Slack alerts + email confirmations Setup (12 minutes) Data Tables**: enriched_profiles, reg_analytics, promo_codes HubSpot**: API key + custom properties APIs**: Clearbit, Proxycurl, SerpAPI, Gemini Host**: reg-page/index.html (update webhook URLs) SMTP/Slack**: Notifications Fully configurable, no code changes needed. How to customize to your needs Forms**: Swap HTML for Typeform/Webflow Enrichment**: Add Apollo/Hunter for emails CRM**: HubSpot → Salesforce → Airtable Promos**: Tiered discounts / early-bird Companion**: Abandoned Cart + Re-engager templates ROI: 3x registration completion** (4 fields vs 12+) 65% enriched profiles** (company/role/title) 20% revenue recovery** (abandoned carts) Need help customizing?: Contact me for consulting and support: LinkedIn / Message Keywords: event registration, attendee enrichment, abandoned cart recovery, conference automation, HubSpot