by Rakin Jakaria
Use cases are many: Manage your Gmail inbox, schedule calendar events, and handle contact details — all from one central AI-powered assistant. Perfect for freelancers managing clients, agency owners who need streamlined communication, or busy professionals who want a personal AI secretary handling their email and calendar. Good to know At time of writing, each Gemini request is billed per token. See Gemini Pricing for the latest info. The workflow requires Gmail, Calendar, Sheets, and Telegram integrations. Ensure you’ve set up OAuth2 credentials correctly before running. How it works Triggers: The workflow listens for **new Gmail messages or Telegram commands. Smart AI Processing**: Incoming emails are summarized, classified (Client, Sponsorship, or Not Business), and labeled automatically. Auto-Replies**: Depending on classification, the assistant sends pre-written replies (e.g., client acknowledgment, sponsorship rates, or polite rejection). Calendar Management**: Through natural language requests in Telegram, you can schedule, update, or delete calendar events with conflict-checking in place. Contact Handling**: If you send an email to someone not yet in your database, the agent will prompt you for their email, add it to Google Sheets, and reuse it for future tasks. Memory**: The AI maintains conversation context, so repeated tasks feel seamless and natural. How to use Send commands via Telegram like: “Schedule a meeting with Sarah on Monday at 3 PM” “Send an email to David about the proposal” Watch as the assistant checks your calendar, sends emails, and keeps your contacts updated — all automatically. Requirements Gmail account (with labels created for Client, Sponsorship Request, and Not Business) Google Calendar for scheduling Google Sheets for contact management Google Gemini API key Telegram bot for live interaction Customising this workflow You can expand it to: Handle Slack or WhatsApp messages in addition to Telegram. Add more classification categories (e.g., Invoices, Personal, Leads). Extend auto-replies with dynamic templates stored in Google Sheets. Log all interactions to Notion or Airtable for a CRM-style history of communications. 👉 Rakin Jakaria
by Cheng Siong Chin
How It Works Scheduled triggers initiate automated contract reviews. The system fetches documents from cloud storage and email, then uses AI to extract key terms, obligations, and compliance requirements. Multi-model parsing identifies gaps, inconsistencies, and potential risks. A scoring engine evaluates severity and routes alerts to the appropriate channels. The workflow then updates the CLM system and produces audit-ready documentation for tracking and governance. Setup Instructions Storage: Configure access to your Google Drive or webhook-based document repository. Email: Connect Gmail to automatically ingest contract-related emails. AI Extraction: Add the OpenAI API key and define extraction prompts for obligations and terms. CLM System: Enter credentials for your contract lifecycle management platform. Alerts: Set up Google Sheets logging and connect dashboard endpoints for risk and compliance alerts. Prerequisites Cloud storage access; Gmail credentials; OpenAI API key; CLM system credentials; document processing license Use Cases Contract renewal tracking; compliance audits; risk management; vendor agreement reviews; regulatory adherence monitoring Customization Adjust risk thresholds; modify extraction rules; add Slack notifications; extend compliance frameworks Benefits Reduces review time 80%; catches compliance gaps; automates audit trails;
by Cheng Siong Chin
How It Works The system collects real-time wearable health data, normalizes it, and uses AI to analyze trends and risk scores. It detects anomalies by comparing with historical patterns and automatically triggers alerts and follow-up actions when thresholds are exceeded. Setup Steps Configure Webhook Endpoint - Set up webhook to receive data from wearable devices Connect Database - Initialize storage for health metrics and historical data Set Normalization Rules - Define data standardization parameters for different devices Configure AI Model - Set up health score calculation and risk prediction algorithms Define Thresholds - Establish alert triggers for critical health metrics Connect Notification Channels - Configure email and Slack integrations Set Up Reporting - Create automated report templates and schedules Test Workflow - Run end-to-end tests with sample health data Workflow Template Webhook → Store Database → Normalize Data → Calculate Health Score → Analyze Metrics → Compare Previous → Check Threshold → Generate Reports/Alerts → Email/Slack → Schedule Follow-up Workflow Steps Ingest real-time wearable data via webhook, store and standardize it, and use GPT-4 for trend analysis and risk scoring. Monitor metrics against thresholds, trigger SMS, email, or Slack alerts, generate reports, and schedule follow-ups. Setup Instructions Configure webhook, database, GPT-4 API, notifications, calendar integration, and customize alert thresholds. Prerequisites Wearable API, patient database, GPT-4 key, email SMTP, optional Slack/Twilio, calendar integration. Use Cases Monitor glucose for diabetics, track elderly vitals/fall risk, assess corporate wellness, and post-surgery recovery alerts. Customization Adjust risk algorithms, add metrics, integrate telemedicine. Benefits Early intervention reduces readmissions and automates 80% of monitoring tasks.
by Rapiwa
Who Is This For? This n8n workflow enables automated cross-selling by identifying each WooCommerce customer's most frequently purchased product, finding a related product to recommend, and sending a personalized WhatsApp message using the Rapiwa API. It also verifies whether the user's number is WhatsApp-enabled before sending, and logs both successful and unsuccessful attempts to Google Sheets for tracking. What This Workflow Does Retrieves all paying customers from your WooCommerce store Identifies each customer's most purchased product Finds the latest product in the same category as their most purchased item Cleans and verifies customer phone numbers for WhatsApp compatibility Sends personalized WhatsApp messages with product recommendations Logs all activities to Google Sheets for tracking and analysis Handles both verified and unverified numbers appropriately Key Features Customer Segmentation:** Automatically identifies paying customers from your WooCommerce store Product Analysis:** Determines each customer's most purchased product Smart Recommendations:** Finds the latest products in the same category as customer favorites WhatsApp Integration:** Uses Rapiwa API for message delivery Phone Number Validation:** Verifies WhatsApp numbers before sending messages Dual Logging System:** Tracks both successful and failed message attempts in Google Sheets Rate Limiting:** Uses batching and wait nodes to prevent API overload Personalized Messaging:** Includes customer name and product details in messages Requirements WooCommerce store with API access Rapiwa account with API access for WhatsApp verification and messaging Google account with Sheets access Customer phone numbers in WooCommerce (stored in billing.phone field) How to Use — Step-by-Step Setup 1. Credentials Setup WooCommerce API: Configure WooCommerce API credentials in n8n (e.g., "WooCommerce (get customer)" and "WooCommerce (get customer data)") Rapiwa Bearer Auth: Create an HTTP Bearer credential with your Rapiwa API token Google Sheets OAuth2: Set up OAuth2 credentials for Google Sheets access 2. Configure Google Sheets Ensure your sheet has the required columns as specified in the Google Sheet Column Structure section 3. Verify Code Nodes Code (get paying_customer): Filters customers to include only those who have made purchases Get most buy product id & Clear Number: Identifies the most purchased product and cleans phone numbers 4. Configure HTTP Request Nodes Get customer data: Verify the WooCommerce API endpoint for retrieving customer orders Get specific product data: Verify the WooCommerce API endpoint for product details Get specific product recommend latest product: Verify the WooCommerce API endpoint for finding latest products by category Check valid WhatsApp number Using Rapiwa: Verify the Rapiwa endpoint for WhatsApp number validation Rapiwa Sender: Verify the Rapiwa endpoint for sending messages Google Sheet Required Columns You’ll need two Google Sheets (or two tabs in one spreadsheet): A Google Sheet formatted like this ➤ sample The workflow uses a Google Sheet with the following columns to track coupon distribution: Both must have the following headers (match exactly): | name | number | email | address1 | price | suk | title | product link | validity | staus | | ---------- | ------------- | ----------------------------------------------- | ----------- | ----- | --- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | -------- | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850 | | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | verified | sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850 | | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | unverified | not sent | | Abdul Mannan | 8801322827799 | contact@spagreen.net | mirpur dohs | 850 | | Sharp Most Demanding Hoodie x Nike | https://your_shop_domain/p-img-nike | verified | sent | Important Notes Phone Number Format:** The workflow cleans phone numbers by removing all non-digit characters. Ensure your WooCommerce phone numbers are in a compatible format. API Rate Limits:** Rapiwa and WooCommerce APIs have rate limits. Adjust batch sizes and wait times accordingly. Data Privacy:** Ensure compliance with data protection regulations when sending marketing messages. Error Handling:** The workflow logs unverified numbers but doesn't have extensive error handling. Consider adding error notifications for failed API calls. Product Availability:** The workflow recommends the latest product in a category, but doesn't check if it's in stock. Consider adding stock status verification. Testing:** Always test with a small batch before running the workflow on your entire customer list. Useful Links Dashboard:** https://app.rapiwa.com Official Website:** https://rapiwa.com Documentation:** https://docs.rapiwa.com Support & Help WhatsApp**: Chat on WhatsApp Discord**: SpaGreen Community Facebook Group**: SpaGreen Support Website**: https://spagreen.net Developer Portfolio**: Codecanyon SpaGreen
by go-surfe
🚀 What this template does Automatically finds and enriches key contacts in a deal’s buying group by combining the company domain from the HubSpot deal with the buying group criteria you define (departments, seniorities, countries, job titles). It then pushes these contacts into HubSpot and emails your team a clean summary with direct HubSpot links—so no decision-maker falls through the cracks. Before starting, make sure you have: Buying Group Criteria Excel – Contains two sheets: Buying group reference values (reference list) Your Buying Group Criterias (where you define your filters) You’ll import the Excel file into Google Sheets during setup. ❓ What Problem Does This Solve? When a new opportunity/deal is created, sales teams often miss adjacent decision-makers (e.g., VP Sales, Head of Marketing). This template searches for those people, enriches their contact data, adds/updates them in HubSpot, and notifies your team with a one-glance table. 🧰 Prerequisites: To use this template, you’ll need: A self-hosted or cloud instance of n8n A Surfe API Key (Bearer token for People Search & Bulk Enrich) A Google Sheets account (OAuth2 or service account) with access to your criteria sheet A HubSpot developer account (for the HubSpot Deal Trigger) A HubSpot normal account (where there is your deals, contacts, companies) A Gmail account to send the enrichment summary email The workflow JSON file (included with this tutorial) Buying Group Criteria Excel (included with this tutorial) 📌 Your input (Google Sheets) This workflow uses a Google Sheet with two tabs: Buying group reference values – A read-only reference list of all available options for the departments and seniorities columns. You’ll use this list to choose your search filters. Your Buying Group Criterias – The sheet where you define the actual filters used in the workflow. ⚠️ Before you start: Import the provided Excel file into your Google Sheets account so both tabs appear exactly as in the template. How to fill it the tab “Your Buying Group Criterias”: departments (Column A) → Select one or more values from the reference tab. Only rows containing a value will be used in the search. seniorities (Column B) → Select one or more values from the reference tab. Only rows containing a value will be used in the search. countries (Column C) → Enter any ISO Alpha-2 country codes (e.g., fr, gb, de). This is a free-text filter. jobTitles (Column D) → Enter any job title keywords you want to search for (e.g., CTO, Head of Marketing). This is also a free-text filter. The workflow will read the filled cells from each column, clean duplicates, and pass them to the Surfe People Search API. ⚙️ Setup Instructions 4.1 🔐 Create Your Credentials in n8n 4.1.1 📊 Google Sheets OAuth2 API Go to n8n → Credentials Create new credentials: Type: Google Sheets OAuth2 API Here a pop-up will open where you can login to your Google account from where you will read the Google Sheets When it’s done you should see this on n8n 4.1.2 📧 Gmail OAuth2 API Go to n8n → Credentials Create new credentials: Type: Gmail OAuth2 API A pop-up window will appear where you can log in with your Google account that is linked to Gmail Make sure you grant email send permissions when prompted 4.1.3 🚀 Surfe API In your Surfe dashboard → Use Surfe Api → copy your API key Go to n8n → Credentials → Create Credential Choose Credential Type: Bearer Auth Name it something like SURFE API Key Paste your API key into the Bearer Token Save 4.1.4 🎯 HubSpot OAuth2 API Go to n8n → Credentials → Create Credential → HubSpot Oauth2 API Here make sure to select your normal hubspot account where your companies, deals and contacts are and not the hubspot-developers-xxx.com Done ✅ 4.1.5 🔓 HubSpot Private App Token Go to HubSpot → Settings → Integrations → Private Apps Create an app with scopes: crm.objects.contacts.read crm.objects.contacts.write crm.schemas.contacts.read Save the App token Go to n8n → Credentials → Create Credential → HubSpot App Token Paste your App Token 4.1.6 🎯 HubSpot Developer Api: In order to Use the HubSpot Trigger node, you need to setup HubSpot Developer Api To configure this credential, you'll need a HubSpot developer account and: A Client ID: Generated once you create a public app. A Client Secret: Generated once you create a public app. A Developer API Key: Generated from your Developer Apps dashboard. An App ID: Generated once you create a public app. To create the public app and set up the credential: Log into your HubSpot app developer account. Select Apps from the main navigation bar. Select Get HubSpot API key. You may need to select the option to Show key. Copy the key and enter it in n8n as the Developer API Key. Still on the HubSpot Apps page, select Create app. On the App Info tab, add an App name, Description, Logo, and any support contact info you want to provide. Anyone encountering the app would see these. Open the Auth tab. Copy the App ID and enter it in n8n. Copy the Client ID and enter it in n8n. Copy the Client Secret and enter it in n8n. In the Scopes section, select Add new scope. Add all the scopes listed in Required scopes for HubSpot Trigger node to your app. Select Update. Copy the n8n OAuth Redirect URL and enter it as the Redirect URL in your HubSpot app. Select Create app to finish creating the HubSpot app. Refer to the HubSpot Public Apps documentation for more detailed instructions. You should see this on n8n at the end. ✅ You are now all set for the credentials 4.2 📥 Import and Configure the N8N Workflow Import the provided JSON workflow into N8N Create a New Blank Workflow click the … on the top left Import from File 4.2.1 🔗 Link Nodes to Your Credentials In the workflow, link your newly created credentials to each node of this list : Google Sheets -> Credentials to connect with → Google Sheets Account Gmail Node Credentials to connect with → Gmail account HubSpot: Create or Update →Credentials to connect with → Huspot App Token Account HubSpot Get Company →Credentials to connect with → Huspot App Token Account HubSpot get deal →Credentials to connect with → Huspot App Token Account HubSpot Trigger →Credentials to connect with → Huspot Developer account HTTP Node GET deal associated companies from HUBSPOT → Credential Type → Hubspot OAuth2 API Surfe HTTP nodes: Authentication → Generic Credential Type Generic Auth Type → Bearer Auth Bearer Auth → Select the credentials you created before Surfe HTTP nodes 4.2.2 🔧 Additional Setup for the node Google Sheets READ CRITERIAS: Paste the url of your google sheets in Document → By URL Select the sheet Your Buying Group Criterias 🔄 How This N8N Workflow Works A new deal is created in HubSpot, which triggers the workflow. The workflow retrieves the company domain linked to that deal. It reads the buying group criteria from your Google Sheet (departments, seniorities, countries, job titles). These criteria are combined with the company domain to create a search payload for Surfe’s People Search API (limited to 200 people per run). Matching contacts are then sent to Surfe’s Bulk Enrichment API to retrieve emails, phone numbers, and other details. n8n polls Surfe until the enrichment job is complete. Enriched contact data is extracted and filtered so that only contacts with at least one valid email or phone number remain. These contacts are created or updated in HubSpot. Finally, a Gmail summary email is sent to your team with a clean table of the new or updated contacts and direct links to view them in HubSpot. 🧩 Use Cases Net-new deal created → instantly surface the rest of the buying group and enrich contacts. 🛠 Customization Ideas 🔁 Add retry logic for failed Surfe enrichment jobs 📤 Log enriched contacts into a Google Sheet or Airtable for auditing 📊 Extend the flow to generate a basic summary report of enriched vs rejected contacts ⏳ Trigger the enrichment not only on deal creation but also at a specific deal stage change 📧 Send the summary email to multiple recipients or a team mailing list ✅ Summary This template automates buying-group discovery and enrichment off a new HubSpot deal, writes enriched contacts back to HubSpot, and emails a neat table to your team—so reps focus on outreach, not admin. Import it, connect credentials, point at your criteria sheet, and Let Surfe do the rest.
by PollupAI
Who it’s for Built for Customer Success and Account Management teams focused on proactive retention. This workflow helps you automatically identify at-risk customers – before they churn – by combining CRM, usage, and sentiment data into one actionable alert. What it does This end-to-end workflow continuously monitors customer health by consolidating data from HubSpot and Google Sheets. Here’s how it works: Fetch deals from HubSpot. Collect context — linked support tickets and feature usage from a Google Sheet. Run sentiment analysis on the tickets to generate a customer health score. Evaluate risk — an AI agent reviews deal age, sentiment score, and usage trends against predefined thresholds. Send alerts — if churn risk is detected, it automatically sends a clear, data-driven email to the responsible team member with next-step recommendations. How to set it up To get started, configure your credentials and parameters in the following nodes: Credentials: HubSpot: Connect your account (HubSpot: Get All Deals). LLM Model: Add credentials for your preferred provider (Config: Set LLM for Agent & Chains). Google Sheets: Connect your account (Tool: Get Feature Usage from Sheets). Email: Set up your SMTP credentials (Email: Send Churn Alert). Tool URLs: In Tool: Calculate Sentiment Score, enter the Webhook URL from the Trigger: Receive Tickets for Scoring node within this same workflow. In Tool: Get HubSpot Data, enter the Endpoint URL for your MCP HubSpot data workflow. (Note: This tool *does call an external workflow)*. Google Sheet: In Tool: Get Feature Usage from Sheets, enter the Document ID for your own Google Sheet. Email Details: In Email: Send Churn Alert, change the From and To email addresses. Requirements HubSpot account with Deals API access LLM provider account (e.g. OpenAI) Google Sheets tracking customer feature usage n8n with LangChain community nodes enabled A separate n8n workflow set up to act as an MCP endpoint for fetching HubSpot data (called by Tool: Get HubSpot Data). How to customize it Tailor this workflow to match your business logic: Scoring logic:** Adjust the JavaScript in the Code: Convert Sentiment to Score node to redefine how customer scores are calculated. Alert thresholds:** Update the prompt in the AI Chain: Analyze for Churn Risk node to fine-tune when alerts trigger (e.g. deal age, score cutoff, or usage drop). Data sources:** Swap HubSpot or Google Sheets for your CRM or database of choice — like Salesforce or Airtable. ✅ Outcome: A proactive customer health monitoring system that surfaces risks before it’s too late — keeping your team focused on prevention, not firefighting.
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 Mirai
This n8n template automates targeted lead discovery, AI-driven data structuring, and personalized cold-email sending at controlled intervals. It’s ideal for sales teams, founders, and agencies that want to scale outreach without losing personalization. Good to know Can run on an interval (e.g., every 10 minutes) to fetch and process new leads. Requires API keys for OpenAI (content + parsing) and Apify (lead discovery). Emails are sent one-by-one with delays (the Wait node) to reduce spam risk. Lead data is written to Google Sheets—we recommend separate sheets for leads with and without emails. Works with Gmail, Outlook, or your own SMTP—just plug in your credentials. How it works Form Trigger (START) A form collects: Job Title, Company Size, Keywords, Location. Apollo URL Generator (GPT) The model turns the form fields into a precise Apollo search URL. Run Apify (Actor) Apify fetches contacts/companies that match your preferences for downstream processing. Limit Caps how many records are prepared per run (e.g., max 5). Parse Lead Data (GPT) Extracts key fields (full name, email, title, LinkedIn, company, company links). Synthesizes a short 2–3 sentence sales-ready summary for each lead. Sorting (If) Splits leads into with email vs. without email. With email → main sheet + email pathway Without email → a separate sheet for later enrichment Email Magic (GPT) Uses the parsed data to personalize your fixed email template for each lead (keeps structure/intent, swaps in the right details). Sending Emails (Loop + Wait + Sender) Loop Over sends messages individually. Wait inserts a pause between sends (fully configurable). Delivery via Gmail or SMTP (custom domain / Outlook). Confirmation After the loop finishes, a Gmail node sends a “campaign complete” confirmation. How to use Enable the workflow and open the start form. Enter preferences: job title, company size, keywords, location. Add credentials: OpenAI (for parsing + email generation) Apify (Bearer token in Run Apify) Google (Sheets + optionally Gmail) SMTP/Outlook (if not using Gmail) Set limits (the Limit node) and send interval (the Wait node). Choose sheets for leads with/without email. Run—the workflow will fetch leads, prepare emails, and send them with spacing. Requirements OpenAI API key Apify API token (access to the chosen Actor) Google Sheets for storage Gmail or SMTP/Outlook credentials for sending An operational n8n instance Customising this workflow Email template: Edit the text in “Creating a email” while preserving placeholders. Segmentation: Add more conditions (role, industry, country) and route to different templates/sheets. Follow-ups: Add a second loop that reads statuses and sends timed reminders. Data enrichment: Insert additional APIs before “Parse Lead Data.” Anti-spam: Increase Wait duration, rotate senders, vary subject lines. Reporting: Add a “send status” sheet and an error log. Security & compliance tips Store API keys in n8n Credentials, not plain-text nodes. Respect GDPR/opt-out—track source and first-contact date in your sheet. Start with a small batch, validate deliverability, then scale up. In short Automated lead capture → AI cleaning + summary → personalized emails → spaced sending → completion notice. Scalable, customizable, and ready to plug into your preferred sender and template.
by Cheng Siong Chin
Introduction Upload invoices via Telegram, receive structured data instantly. Perfect for accountants and finance teams. How It Works Telegram bot receives invoices, downloads files, extracts data using OpenAI, then returns analysis. Workflow Template Telegram Trigger → Document Check → Get File → HTTP Download → AI Extract → Format Response → Send to Telegram Workflow Steps Telegram Trigger: Listens for uploads. Document Check: Validates files; routes errors. Get File: Retrieves metadata. HTTP Download: Fetches content. AI Extract: OpenAI parses invoice fields. Format Response: Structures data. Send Analysis: Delivers to chat. Setup Instructions Telegram Bot: Create via BotFather, add credentials. OpenAI Agent: Add API key and extraction prompt. HTTP Node: Set authentication. Parser: Define invoice schema. Error Handling: Configure fallbacks. Prerequisites n8n instance Telegram Bot Token OpenAI API key Customization Database storage Accounting software integration Benefits Eliminates manual entry Reduces errors
by Msaid Mohamed el hadi
Overview This workflow automates the discovery, extraction, enrichment, and storage of business information from Google Maps search queries using AI tools, scrapers, and Google Sheets. It is ideal for: Lead generation agencies Local business researchers Digital marketing firms Automation & outreach specialists 🔧 Tools & APIs Used Google Maps Search (via HTTP)** Custom JavaScript Parsing** URL Filtering & De-duplication** Google Sheets (Read/Write)** APIFY Actor** for business scraping LangChain AI Agent** (OpenRouter - Gemini 2.5) n8n Built-in Logic** (Loops, Conditions, Aggregators) 🧠 Workflow Summary Trigger The automation starts via schedule (every hour). Read Queries from Google Sheet Loads unprocessed keywords from a Google Sheet tab named keywords. Loop Through Keywords Each keyword is used to search Google Maps for relevant businesses. Extract URLs JavaScript parses HTML to find all external website URLs from the search results. Clean URLs Filters out irrelevant domains (e.g., Google-owned, example.com, etc.), and removes duplicates. Loop Through URLs For each URL: Checks if it already exists in the Google Sheet (to prevent duplication). Calls the APIFY Actor to extract full business data. Optionally uses AI Agent (Gemini) to provide detailed insight on the business, including: Services, About, Market Position, Weaknesses, AI suggestions, etc. Converts the AI result (text) to a structured JSON object. Save to Google Sheet Adds all extracted and AI-enriched business information to a separate tab (Sheet1). Mark Queries as Processed Updates the original row in keywords to avoid reprocessing. 🗃️ Output Fields Saved The following information is saved per business: Business Name, Website, Email, Phone Address, City, Postal Code, Country, Coordinates Category, Subcategory, Services About Us, Opening Hours, Social Media Links Legal Links (Privacy, Terms) Logo, Languages, Keywords AI-Generated Description** Google Maps URL 📈 Use Cases Build a prospect database for B2B cold outreach. Extract local SEO insights per business. Feed CRMs or analytics systems with enriched business profiles. Automate market research for regional opportunity detection. 📩 Want a Similar Workflow? If you’d like a custom AI-powered automation like this for your business or agency, feel free to contact me: 📧 msaidwolfltd@gmail.com
by Yusuke Yamamoto
This n8n template creates an automated alert system that checks NASA's data for near-Earth asteroids twice a day. When it finds asteroids meeting specific criteria, it sends a summary alert to Slack and creates individual events in Google Calendar for each object. Use cases Automated Monitoring**: Keep track of potentially hazardous asteroids without manually checking websites. Team or Community Alerts**: Automatically inform a team, a group of friends, or a community about significant celestial events via Slack. Personalized Space Calendar**: Populate your Google Calendar with upcoming asteroid close approaches, creating a personal "what's up in space" agenda. Educational Tool**: Use this as a foundation to learn about API data fetching, data processing, and multi-channel notifications in n8n. Good to know This workflow runs on a schedule (every 12 hours by default) and does not require a manual trigger. NASA API Key is highly recommended**. The default DEMO_KEY has strict rate limits. Get a free key from api.nasa.gov. The filtering logic for what constitutes an "alert-worthy" asteroid (distance and size) is fully customizable within the "Filter and Process Asteroids" Code node. How it works A Schedule Trigger starts the workflow every 12 hours. The "Calculate Date Range" Code node generates the start and end dates for the API query (today to 14 days from now). The NASA node uses these dates to query the Near Earth Object Web Service (NeoWs) API, retrieving a list of all asteroids that will pass by Earth in that period. The "Filter and Process Asteroids" Code node iterates through the list. It filters out objects that are too small or too far away, based on thresholds defined in the code. It then formats and sorts the remaining "interesting" asteroids by their closest approach distance. An If node checks if any asteroids were found after filtering. If true (asteroids were found), the flow continues to the alert steps. If false, the workflow ends quietly via a NoOp node. The "Format Alert Messages" Code node compiles a single, well-formatted summary message for Slack and prepares the data for other notifications. The workflow then splits into two parallel branches: Slack Alert: The Slack node sends the summary message to a specified channel. Calendar Events: The Split Out node separates the data so that each asteroid is processed individually. For each asteroid, the Google Calendar node creates an all-day event on its close-approach date. How to use Configure the NASA Node: Open the "Get an asteroid neo feed" (NASA) node. Create new credentials and replace the default DEMO_KEY with your own NASA API key. Customize Filtering (Optional): Open the "Filter and Process Asteroids" Code node. Adjust the MAX_DISTANCE_KM and MIN_DIAMETER_METERS variables to make the alerts more or less sensitive. // Example: For closer, larger objects const MAX_DISTANCE_KM = 7500000; // 7.5 million km (approx. 19.5 lunar distances) const MIN_DIAMETER_METERS = 100; // 100 meters Configure Slack Alerts: Open the "Send Slack Alert" node. Add your Slack OAuth2 credentials. Select the channel where you want to receive alerts (e.g., #asteroid-watch). Configure Google Calendar Events: Open the "Create an event" (Google Calendar) node. Add your Google Calendar OAuth2 credentials. Select the calendar where events should be created. Activate the workflow. Requirements A free NASA API Key. Slack credentials** (OAuth2) and a workspace to post alerts. Google Calendar credentials** (OAuth2) to create events. Customising this workflow Add More Notification Channels**: Add nodes for Discord, Telegram, or email to send alerts to other platforms. Create a Dashboard**: Instead of just sending alerts, use the processed data to populate a database (like Baserow or Postgres) to power a simple dashboard. Different Data Source**: Modify the HTTP Request node to pull data from other space-related APIs, like a feed of upcoming rocket launches.
by Sridevi Edupuganti
Overview This workflow automates weather forecast delivery by collecting city names, fetching 5-day forecasts from OpenWeatherMap, and generating professionally formatted HTML emails using GPT-4. The AI creates condition-based color-coded reports with safety precautions and sends them via Gmail. How It Works A form trigger collects up to three city names, which are geocoded via OpenWeatherMap API to retrieve coordinates and 5-day forecasts. JavaScript nodes process the raw weather data into daily summaries, calculating temperature ranges, precipitation levels, wind speeds, and dominant weather conditions. GPT-4 then generates professionally formatted HTML emails with condition-based color coding: The AI intelligently adds contextual safety warnings for heavy rain, extreme heat, high winds, and thunderstorms. A validation node ensures proper JSON formatting before Gmail sends the final briefing. Use Cases • Field ops & construction crew briefings • Travel planning and itinerary preparation • Outdoor event planning & coordination • Logistics and transportation route planning • Real estate property viewing scheduling • Sports and recreational activity planning Setup Requirements 1) OpenWeatherMap API credentials 2) OpenAI API key 3) Gmail OAuth2 authentication Need Help? Join the Discord or ask in the Forum! README file available at https://tinyurl.com/MulticityWeatherForecast