by Harshil Agrawal
This workflow allows you to send daily weather updates via an SMS message using the Plivo node. Cron node: The Cron node will trigger the workflow daily at 9 AM. OpenWeatherMap node: This node will return data about the current weather in Berlin. To get the weather updates for your city, you can enter the name of your city instead. Plivo node: This node will send an SMS with the weather update, which was sent by the previous node.
by Jonathan
This workflow uses a WooCommerce trigger that will run when a new customer has been added, It will then add the customer to Mautic. To use this workflow you will need to set the credentials to use for the WooCommerce and Mautic nodes.
by Harshil Agrawal
This workflow allows you to create an affiliate, add metadata, and add the affiliate to a program. Tapfiliate node: This node allows you to create a new affiliate in Tapfiliate. Tapfiliate1 node: This node allows you add metadata to the affiliate that you created previously. Based on your use-case, you may or may not require this node. Tapfiliate2 node: This node allows you to add the affiliate that you created previously to a program. Based on your use-case, you might want to replace the Start node with a trigger node that gets you the information of an affiliate.
by Matthieu
🔧 AI-Powered Cold Call Machine 🎯 Purpose The AI-Powered Cold Call Machine is a fully automated workflow designed to generate qualified leads from LinkedIn, evaluate them using AI-based scoring, identify key decision-makers, and generate personalized cold call scripts. All results are saved to a Google Sheet-based CRM. ⚙️ How It Works 1. Initialization Triggered either manually or via schedule. Pulls configuration from a Google Sheet’s Settings tab (e.g., target product, keywords, company size, API key). 2. Company Search on LinkedIn Uses the Ghost Genius API to search for companies based on cleaned, relevant keywords extracted by OpenAI. Handles pagination, up to 1000 companies per batch. 3. Company Filtering Each company goes through: Data enrichment via Ghost Genius (website, size, followers, etc.). Filtering: Must have a LinkedIn page with a website. Must have 200+ followers. Deduplication: checks if the company already exists in the CRM. 4. AI-Based Company Scoring A specialized AI model scores each company from 0 to 10 based on: Industry fit. Size/location alignment. Potential pain points that match your offering. If the company is new and relevant (score ≥ 7), it is saved in the Companies sheet. 5. Decision Maker Identification Uses Sales Navigator API (via Ghost Genius) to find employees with targeted job titles. For each matching profile: Enriches contact data (title, bio, etc.). Retrieves phone number (if available). Generates a 20-second personalized cold call script using OpenAI, based on company and profile data. Saves all information in the Leads tab of the CRM. If no decision maker is found, the company status is marked accordingly. 📈 Outcome A fully enriched, qualified lead database. Custom cold call scripts** ready to be used by SDRs or founders. Zero manual work – from search to lead generation, everything is automated. 💡 Use Case Perfect for SDRs, founders, or growth marketers looking to scale cold outreach without sacrificing personalization or running into LinkedIn scraping limits.
by Rahul Joshi
Description: Turn raw customer feedback into actionable insights with this intelligent n8n workflow template! Automatically capture reviews from Google Sheets, run AI-driven sentiment and intent analysis, and enrich your dataset with structured insights—no manual review required. This automation connects to your feedback form responses, processes reviews with an AI model, classifies intent, evaluates sentiment, assigns a score, and generates concise summaries. The results are then parsed, merged with original customer details, and stored in a structured Google Sheet for easy tracking. Perfect for sales, product, and customer success teams looking to streamline lead qualification and feedback analysis. What This Template Does: 📊 Captures new customer feedback from Google Sheets in real time 🧠 Uses AI to classify intent (praise, complaint, suggestion, etc.) 😊 Detects sentiment (positive, neutral, negative, or mixed) 🔢 Assigns a review score (1–10) for quick lead qualification 📝 Generates short, meaningful summaries of customer reviews 📂 Saves enriched data into a structured destination sheet 🌟 100% hands-free: just let AI process and organize your feedback Built-in Logic Ensures: ✔️ Clean JSON-based AI output (intent, sentiment, score, summary) ✔️ Customer details remain tied to their feedback and insights ✔️ Final dataset is ready for reporting, CRM import, or dashboards Requirements: Google Sheets with customer feedback form responses Google Sheets account for storing enriched data Azure OpenAI (or compatible) account for AI analysis n8n instance (self-hosted or cloud) Perfect For: Sales teams qualifying leads based on review sentiment Product managers analyzing user feedback at scale Customer success teams identifying risks and opportunities Analysts turning unstructured reviews into actionable insights
by Abdullah Alshiekh
🧩 What Problem Does It Solve? Meta’s ad forms often generate unqualified leads from casual scrollers. This workflow uses WhatsApp and AI to automatically verify, qualify, and prioritize real leads — saving time and boosting sales efficiency. 📝 Description This workflow automates lead qualification for businesses using Meta Ads (Facebook/Instagram Lead Ads) to filter out irrelevant leads. It ensures only confirmed prospects enter your CRM by: Collecting new Facebook leads Verifying via WhatsApp confirmation Classifying responses with AI Updating CRM status based on intent When a new Facebook lead arrives: Lead details are extracted (name/phone/email) Zoho CRM is checked for existing contacts WhatsApp confirmation request is sent AI classifies the response (confirmed/declined/human/invalid) CRM status is updated automatically Sales team receives only verified leads 🎯 Key Advantages for Meta Ads ✅ Blocks 60%+ irrelevant leads based on WhatsApp non-response ✅ Reduces fake submissions by requiring active confirmation ✅ Prevents CRM bloat through duplicate checking ✅ Identifies hot leads via instant "human_requested" escalation ✅ Saves sales team hours by auto-declining "no" responses 🛠️ Features Facebook Lead Ads integration via Graph API WhatsApp messaging via Twilio AI response classification (Gemini) Zoho CRM synchronization Duplicate lead prevention Customizable confirmation flow Error-resistant JSON parsing CRM owner assignment Status-based routing 🔧 Requirements Facebook Access Token with ads_management & leads_retrieval permissions Twilio Account with WhatsApp-enabled number Zoho CRM with custom "Status" field Gemini API Key (or alternative LLM) n8n credentials configured for: Twilio (API SID/token) Zoho CRM (OAuth2) Google Gemini (or alternative LLM) ⚙️ Customization Tips 1-Adjust Classification Criteria Modify the AI prompt in Classify Response (AI) node 2-Customize CRM Status Values Update field IDs in Zoho nodes 3-Modify Messaging Edit WhatsApp templates in Send WhatsApp Confirmation 4-Set Owner Assignment Replace owner ID in Prepare Owner ID node 🧠 Use Case Examples Real Estate Agencies: Filter speculative inquiries from serious buyers Medical Clinics: Verify appointment requests before scheduling SAAS Companies: Qualify free trial sign-ups Education Providers: Confirm course interest before counselor assignment Auto Dealerships: Screen test drive requests from tire-kickers If you need help get in touch on Linkedin
by David Olusola
📊 Log BTC/ETH Prices and USD Exchange Rates to Notion (Hourly) 📌 Overview This workflow automatically logs live crypto prices (Bitcoin & Ethereum) and fiat exchange rates (USD→EUR / USD→NGN) into a Notion database every hour. Each entry becomes a new row in your Notion dashboard, letting you visualize currency and crypto trends side by side. It’s perfect for traders, analysts, and anyone who wants a single source of truth in Notion without needing multiple apps open. With hourly updates, you’ll have a clean data history for building rollups, trend graphs, or financial dashboards. ⚙️ How it works Schedule Trigger — runs every hour (adjustable via cron). HTTP Request (ExchangeRate-API) — fetches USD-base FX rates (no API key required). HTTP Request (CoinGecko) — fetches BTC & ETH prices + 24h % change (no API key required). Merge — combines both payloads. Code (v2) — formats a Notion-ready JSON payload with the correct fields. Notion Node — creates a new page in your database with mapped properties. Example Row in Notion: Title: Crypto+FX — 2025-09-08 09:00 BTC: 112,417 | BTC_24h: +1.22% ETH: 4,334.57 | ETH_24h: +1.33% USD→EUR: 0.854 | USD→NGN: ₦1,524.54 🛠 Setup Guide 1) Create the Notion database In Notion, create a new database (Table view). Add these columns with matching property types: | Column | Property Type | |------------|---------------| | Title | Title | | BTC | Number | | BTC_24h | Number | | ETH | Number | | ETH_24h | Number | | USD_EUR | Number | | USD_NGN | Number | 2) Connect Notion in n8n In the Notion “Create Page” node, connect with your Notion OAuth2 credentials. On first use, you’ll be redirected to authorize n8n with your Notion workspace. Copy your Database ID (from the Notion URL) and paste it into the node. 3) Map the Code output The Code node outputs JSON fields: BTC, BTC_24h, ETH, ETH_24h, USD_EUR, USD_NGN. In the Notion node, map each property: BTC → {{$json.BTC}} BTC_24h → {{$json.BTC_24h}} ETH → {{$json.ETH}} ETH_24h → {{$json.ETH_24h}} USD_EUR → {{$json.USD_EUR}} USD_NGN → {{$json.USD_NGN}} 4) Test Run the workflow once. Confirm that a new page is added to your Notion database with all values filled. 🎛 Customization Cadence:** change the schedule to 10 minutes, 4 hours, or daily depending on your needs. Extra coins:** add more IDs (e.g., solana, bnb) in the CoinGecko call and update the Code node. Extra FX pairs:** expand from ExchangeRate-API (e.g., USD→GBP, USD→ZAR). Notion dashboards:** use rollups, charts, and linked databases for trend visualization. Formatting:** add emojis, colors, or sections in your Notion view for clarity. 🧩 Troubleshooting Page not created:** verify Database ID and ensure the Notion API integration has access. Empty fields:** check that property names in Notion exactly match those used in the Code node. Wrong data type:* make sure properties are set as *Number**, not Text. Rate limits:** CoinGecko and ExchangeRate-API are free but may rate-limit if called too often; keep cadence reasonable (hourly recommended).
by Fahmi Fahreza
Sync QuickBooks Chart of Accounts to Google BigQuery Keep a historical, structured copy of your QuickBooks Chart of Accounts in BigQuery. This n8n workflow runs weekly, syncing new or updated accounts for better reporting and long-term tracking. Who Is This For? Data Analysts & BI Developers** Build a robust financial model and analyze changes over time. Financial Analysts & Accountants** Track structural changes in your Chart of Accounts historically. Business Owners** Maintain a permanent archive of your financial structure for future reference. What the Workflow Does Extract** Every Monday, fetch accounts created or updated in the past 7 days from QuickBooks. Transform** Clean the API response, manage currencies, create stable IDs, and format the data. Format** Convert cleaned data into an SQL insert-ready structure. Load** Insert or update account records into BigQuery. Setup Steps 1. Prepare BigQuery Create a table (e.g., quickbooks.accounts) with columns matching the final SQL insert step. 2. Add Credentials Connect QuickBooks Online and BigQuery credentials in n8n. 3. Configure the HTTP Node Open 1. Get Updated Accounts from QuickBooks. Replace the Company ID {COMPANY_ID} with your real Company ID. Press Ctrl + Alt + ? in QuickBooks to find it. 4. Configure the BigQuery Node Open 4. Load Accounts to BigQuery. Select the correct project. Make sure your dataset and table name are correctly referenced in the SQL. 5. Activate Save and activate the workflow. It will now run every week. Requirements QuickBooks Online account QuickBooks Company ID Google Cloud project with BigQuery and a matching table Customization Options Change Sync Frequency** Adjust the schedule node to run daily, weekly, etc. Initial Backfill** Temporarily update the API query to select * from Account for a full pull. Add Fields** Modify 2. Structure Account Data to include or transform fields as needed.
by Trung Tran
Automatic Clean Up Expired AWS ACM Certificates with Human Approval > Automate the cleanup of expired AWS ACM certificates with Slack-based approval. This workflow helps maintain a secure and tidy AWS environment by detecting expired SSL certs, sending detailed Slack notifications to admins, and deleting them upon approval, ensuring full visibility and control over certificate lifecycle management. 🧑💼 Who’s it for This workflow is designed for: AWS administrators** who want to keep their environment clean and secure DevOps teams** managing SSL lifecycle in AWS ACM IT Admins** needing visibility and control over expired cert removal Teams that use Slack for collaboration and approvals ⚙️ How it works / What it does This automated workflow performs the following tasks on a daily schedule: Fetch all ACM certificates in your AWS account. Filter out the expired ones by comparing expiration date and status. Send a Slack approval message with certificate details to the admin team. Wait for approval response directly in Slack (✅ to approve deletion). If approved, it deletes the expired certificate using AWS ACM. Finally, it notifies the IT admin about the action taken. 🔧 How to set up Create the Workflow Add the nodes as shown: Schedule Trigger AWS - ACM: listCertificates AWS - ACM: describeCertificate (loop per cert) IF Node to filter expired certs Slack - Send & Wait for Reaction AWS - ACM: deleteCertificate Slack - Post Message to notify Configure Slack Create a Slack Bot Token with: chat:write reactions:read channels:read Connect it in your Slack nodes. Configure AWS Credentials Use IAM User or Role with: acm:ListCertificates acm:DescribeCertificate acm:DeleteCertificate Set schedule Daily, Weekly, or custom cron expression. 📋 Requirements | Component | Description | |------------------|--------------------------------------| | AWS ACM Access | IAM permissions for ACM actions | | Slack Bot Token | With chat:write & reactions:read | | n8n Environment | Self-hosted or n8n Cloud | | Slack Channel | Where approval messages will be sent | 🛠️ How to customize the workflow 🕒 Change waiting time Adjust the wait time before checking Slack reactions in the sendAndWait node (default 1 hour). 👥 Change Slack target Change the Slack channel or tag specific people (<@U123456>). 📓 Add logging Add Google Sheets, Notion, or DynamoDB to log certificate details and approval decisions. 🧪 Add dry-run/test mode Use an IF node before deletion to simulate removal when ENV === dry-run.
by Ghulam Ahmad
Search LinkedIn Companies, Score Them with AI, and Add to Google Sheets CRM Who is this for? This template is designed for sales teams, business development reps, and marketers who need a reliable, automated way to build targeted prospect lists. It’s especially useful for agencies, consultants, and B2B companies that want to identify, qualify, and prioritize high-value leads. What problem does this workflow solve? Researching companies on LinkedIn, evaluating whether they fit your ideal customer profile, and manually updating your CRM can be slow, inconsistent, and labor-intensive. This workflow replaces that entire process with a fully automated system that finds, qualifies, and organizes leads for you. What this workflow does The workflow searches LinkedIn for companies based on your chosen filters, gathers in-depth company details, applies qualification rules, uses AI to score how well each company matches your ICP, and then adds them to your Google Sheets CRM while automatically preventing duplicates. Setup Create a Ghost Genius API account and generate your API key Add your API credentials to the HTTP Request nodes Make a copy of the included Google Sheets template Set up Google Sheets and OpenAI credentials as described in the n8n documentation Customize the Set Variables node to define your audience and AI scoring parameters How to customize this workflow Update your search filters to target specific industries, regions, or company sizes Change the follower count threshold to match your qualification rules Modify the AI scoring prompt to better reflect your product or service Add notifications (email, Slack, etc.) to alert you when high-scoring leads are found
by Rahul Joshi
Description Keep your CRM and task system perfectly in sync — automatically. This workflow monitors a Google Sheet for lead reply updates, instantly updates the corresponding contact in GoHighLevel (GHL), and creates a ClickUp follow-up task when a response is detected. It ensures your sales team never misses a warm lead and every reply is logged, tracked, and acted upon. ⚡ What This Template Does Watches a Google Sheet for reply status changes (“Yes” in the Replied column). 📄 Filters only rows where a lead has replied. 🔍 Updates the corresponding contact record in GoHighLevel (GHL). 🔗 Automatically creates a follow-up task in ClickUp with lead details. 🗂️ Merges updates from both GHL and ClickUp into a single result. 🔄 Logs sync status and timestamps in a tracking sheet (Sheet2) for auditing. 📋 Key Benefits Instant sync: Update GHL and ClickUp the moment a lead replies. ⚙️ Zero manual work: Automated updates and follow-up task creation. 🚫 Full traceability: Audit trail stored in a second Google Sheet. ✅ Increased sales responsiveness: Teams act immediately on new replies. 💬 Multi-app harmony: Connects Google Sheets, GHL, and ClickUp seamlessly. 🌐 Features Google Sheets trigger runs every minute to check for changes. ⏱️ Conditional logic (If node) processes only “Replied = Yes” leads. ✅ GHL contact update node for CRM synchronization. 💼 ClickUp task creation node with customizable priority and naming. 📝 Merge node to unify both paths before final sheet update. 🔀 Timestamp and action tracking for audit clarity. 📊 Visual sticky notes explaining each stage. 🧩 Requirements n8n instance (cloud or self-hosted). 🧰 Google Sheet with headers: Name, GHL_ID, Replied, Email. 📑 Connected credentials for: Google Sheets API (Trigger + Update access) GoHighLevel OAuth2 API ClickUp API Separate “log” sheet (Sheet2) for sync tracking. 📄 Target Audience Sales teams using GoHighLevel for CRM and ClickUp for task management. 🎯 Agencies managing multiple client pipelines. 🤝 Business development reps who track lead replies manually. 📞 Founders automating lead follow-up and CRM hygiene. 🚀 Step-by-Step Setup Instructions (Concise) Prepare a Google Sheet with columns: Name, GHL_ID, Email, Replied. 📋 Add a second sheet (“Sheet2”) for tracking updates. 📊 Connect credentials for Google Sheets, GoHighLevel, and ClickUp in n8n. 🔐 Import and open this workflow. Update GHL contact field mappings if your CRM structure differs. ⚙️ Adjust ClickUp team, space, and list IDs to match your setup. 📂 Execute manually once for testing, then enable it to run every minute. ▶️ Security Best Practices Share your Google Sheet only with the n8n Google account (Editor). 🔒 Keep API credentials securely stored in n8n’s credential manager. 🛡️ Log timestamps for traceability and rollback. ⏳ Periodically archive older sync logs to keep the sheet lightweight. 🧹
by Miha
This n8n template gives you a chat-style assistant that can search your HubSpot CRM on demand. Ask natural-language questions like “show me leads in Germany” or “what deals close next month,” and the agent translates your request into precise HubSpot searches—then answers in plain English. Great for founders, AEs, and ops folks who want quick answers without clicking through the CRM. How it works Chat trigger** starts a session from your n8n chat UI or embed. AI Agent (Gemini 2.5 Pro)** interprets the message and: Chooses the right HubSpot search (contacts or deals). Fills filter property, operator (EQ, NEQ, GT, GTE, LT, LTE, BETWEEN, IN, NOT\_IN), and value(s). Requests specific properties (email, name, lifecycle stage, owner, activity timestamps, etc.). HubSpot tools** execute live queries: Contacts: flexible property filter + free-text query. Deals: filters by owner and core deal fields (stage, amount, pipeline, close date). Memory buffer** keeps the last turns so you can say “now only show closed won over 10k” and the agent understands context. How to use Connect credentials HubSpot OAuth on both HubSpot Tool nodes. Google Gemini API key on the Gemini Chat Model. Open the chat (the “When chat message received” node). Ask questions like: “Find contacts named Hans created after Sept 1.” “Deals owned by me in Proposal with amount > 10,000.” “Contacts with lead status = New and no email reply in the last 14 days.” Refine with follow-ups: “Sort by most recently contacted.” “Only Germany.” “Show top 5 with emails.” Requirements HubSpot** (OAuth2) Google Gemini** (API key) Notes & customization Property/operator control:** The contact search node lets the agent set both the property (e.g., email, lifecyclestage, hs_lead_status) and the operator (EQ, IN, BETWEEN in epoch ms for dates, etc.). Owner filtering for deals:** Uses hs_all_owner_ids; swap or extend to filter by pipeline/stage ranges. Guardrails:** Add allowlists for searchable properties or cap result counts to avoid noisy answers. Display format:** Have the agent return concise tables (name, email, stage, last activity, CTA). Handoffs:** Add Slack/Email actions—e.g., “post this list to #sales” or “export to CSV.” Telemetry:** Log queries for later dashboards (common searches, coverage gaps). Troubleshooting No results?** Loosen operators (use IN lists, broaden dates) or include a free-text query. Date filters:** Provide epoch ms for GT/GTE/LT/LTE/BETWEEN on time fields (the agent handles this; keep system time in UTC). Too chatty?** Reduce memory window or ask the agent to summarize to bullet points.