by Khairul Muhtadin
This workflow scrapes Google Maps via Decodo API, analyzes each business using Google Gemini 2.5 Flash, scores lead quality, and generates ready to send outreach emails. Why Use This Workflow? Time Savings:** Reduces manual lead research from 20 minutes per lead to 30 seconds processing 100 leads in under an hour Cost Reduction:** Eliminates $300-500/month spent on lead databases and enrichment tools like Apollo or ZoomInfo Scalability:** Process 500+ leads daily without additional staff or subscription costs Ideal For Sales Teams & BDRs:** Building targeted prospect lists for local businesses (restaurants, retail, service providers) with verified contact data and personalized outreach hooks Digital Marketing Agencies:** Identifying high-value clients in specific niches (e.g., "restaurants without websites in Chicago") and automating first-touch campaigns B2B SaaS Companies:** Finding businesses matching ideal customer profiles based on ratings, reviews, and digital maturity indicators Local Service Providers:** Generating qualified leads for web design, SEO, POS systems, or booking software tailored to underserved markets How It Works Trigger: Manually start the workflow or schedule it to run on specific intervals (e.g., daily/weekly) Data Collection: Scrapes Google Maps search results using Decodo API based on your query (e.g., "coffee shops in Austin"), country, and language settings Processing: Parses raw HTML responses into structured lead objects with business name, address, phone, website, ratings, reviews, and coordinates Intelligence Layer: Google Gemini 2.5 Flash analyzes each lead to generate value propositions, identify pain points, create outreach hooks, and assign a 1-10 quality score Output & Delivery: Filters leads scoring ≥7, generates personalized email templates, and saves all data to Google Sheets with enrichment timestamps Storage & Logging: Maintains complete lead database with outreach status tracking; error handler sends Telegram notifications for failed executions Setup Guide Prerequisites | Requirement | Type | Purpose | |-------------|------|---------| | n8n instance | Essential | Workflow execution platform | | Decodo Scraper API | Essential | Google Maps data extraction (get key at dashboard.decodo.com) | | Google Gemini API | Essential | AI-powered lead analysis and scoring | | Google Sheets | Essential | Lead database and outreach tracking | | Telegram Bot (optional) | Optional | Real-time error notifications | Installation Steps Import the JSON file to your n8n instance Configure credentials: Decodo API: Create HTTP Header Auth credential with header name Authorization and value Basic [YOUR_API_KEY] get from Decodo dashboard Google Gemini API: Add your Google AI API key in the "2.5 Flash" node credentials Google Sheets OAuth2: Authenticate with your Google account (both "Save to Google Sheets" and "Save Outreach To Sheets" nodes) Telegram (optional): Add bot token and replace YOUR-CHAT-ID in "Send Error Notification" node Update environment-specific values: In "Set Search Parameters" node: Update searchQuery (e.g., "Italian restaurants in Miami"), country, targetLanguage, and resultsLimit In both Google Sheets nodes: Select your destination spreadsheet and sheet name Customize settings: Adjust lead score threshold in "Filter Hot Leads" (default: ≥7) Modify AI prompt in "Lead Enrichment" node to match your value proposition Customize outreach email template in "Prepare Outreach Message" node Test execution: Start with resultsLimit: 5 to verify all connections work Check Google Sheets for properly formatted data Verify AI enrichment produces actionable insights Technical Details Core Nodes | Node | Purpose | Key Configuration | |------|---------|-------------------| | Decodo Maps Scraper | Fetches Google Maps listings via API | Set target: google_maps, adjust page_to based on resultsLimit | | Parse & Normalize Data | Extracts business data from HTML | Custom JavaScript handles multiple response formats | | Lead Enrichment (AI Chain) | Analyzes leads with Gemini 2.5 Flash | Structured output parser ensures JSON compliance | | Filter Hot Leads | Isolates high-quality prospects | Combines lead score ≥7 + contact info validation | | Save to Google Sheets | Stores all enriched leads | Uses appendOrUpdate with id as matching column | | Save Outreach To Sheets | Updates hot leads with messages | Marks leads as "HOT" category for prioritization | Customization Options Basic Adjustments Search Parameters:** Modify searchQuery, country, targetLanguage in "Set Search Parameters" to target different markets (supports all Google Maps locales) Lead Scoring Threshold:** Change filter condition from ≥7 to ≥6 for broader lead pool or ≥8 for ultra-qualified prospects Batch Size:** Adjust "Split Into Batches" to process 10-50 items per cycle (lower = more reliable, higher = faster execution) Advanced Enhancements Email Automation:** Connect "Prepare Outreach Message" to Gmail/SendGrid nodes for automatic campaign sends (medium complexity) CRM Integration:** Add HubSpot/Salesforce nodes after enrichment to sync leads directly (requires CRM API credentials) Multi-Channel Outreach:** Branch hot leads to LinkedIn automation tools or SMS providers (high complexity, needs additional services) Custom Scoring Models:** Modify AI prompt to prioritize industry-specific signals (e.g., verified badges for healthcare, delivery options for restaurants) Troubleshooting Common Issues | Problem | Cause | Solution | |---------|-------|----------| | "No valid leads extracted" error | Decodo response format changed or empty results | Check Decodo API response in "Parse & Normalize Data" execution logs; verify search query returns results in Google Maps manually | | AI enrichment produces invalid JSON | Gemini output doesn't match schema | Review "Result Parser" schema; add retry logic or simplify AI prompt to reduce complexity | | Google Sheets "matching column not found" | Spreadsheet missing "id" column header | Ensure Sheet1 has headers: id, businessName, category, address, phone, website, rating, reviewCount, valueProposition, painPoints, outreachHook, leadScore, engagementStrategy, googleMapsUrl, scrapedAt, enrichedAt, outreachMessage, status | | Timeout on large batches | Processing 100+ leads exceeds execution limits | Reduce resultsLimit to 25-50; run workflow multiple times with different queries | Use Case Examples Scenario 1: Digital Marketing Agency Prospecting Challenge: Agency needs 200 qualified restaurant leads monthly for web design services, spending 40 hours on manual research Solution: Configure workflow with query "restaurants in [city]" filtered by ratings ≥4.0 and missing professional websites (AI scoring detects this) Result: Generated 312 leads in 8 hours across 3 cities; 89 scored ≥8 (hot prospects); closed 14 clients in first month at $2,500 average contract value Scenario 2: SaaS Company Market Entry Challenge: Booking software startup targeting salons/spas in new geographic market with zero existing contacts Solution: Ran workflow with "beauty salons in Denver" + "day spas in Denver"; AI identified pain points like "manual appointment booking" and "no online presence" Result: 156 leads enriched in 2 days; personalized outreach hooks increased demo booking rate from 2% (cold template) to 11%; secured 8 pilot customers in 3 weeks Scenario 3: Local Service Provider Lead Generation Challenge: POS system reseller needs to identify retail stores still using cash registers, wasting days driving to scout locations Solution: Configured workflow for "retail stores in [neighborhood]" with AI analyzing reviews for mentions of "cash only" or payment friction Result: Identified 47 high-probability prospects in 90 minutes; field sales team prioritized top 15 leads (score ≥9), closed 6 deals worth $32K total revenue Credits & Links Created by: Khaisa Studio Category: Sales & CRM | Tags: lead-generation, google-maps, ai-enrichment, sales-automation, prospecting Need custom workflows? Contact us Connect with the creator: Portfolio • Workflows • LinkedIn • Medium • Threads
by WeblineIndia
Automated SEO Health Monitoring & Reporting This workflow automatically monitors the SEO health of websites stored in a Google Sheet. It fetches each website’s HTML, analyzes key SEO metrics (title, meta description, H1 count, canonical, robots, performance score, etc.) and updates results back into Google Sheets. If performance is poor (<50), it sends an alert email. For healthy sites, it generates a detailed PDF report and stores it in Google Drive. Who’s it for Digital marketing teams SEO agencies Website administrators who want automated SEO health checks Businesses with multiple websites or landing pages to monitor How it works Daily Trigger – Runs every day at 9 AM. Fetch Website List – Reads website URLs from Google Sheets. Crawl Websites – Uses HTTP requests to fetch each website’s HTML. SEO Analysis – Extracts SEO-related metadata (title, meta description, H1, etc.). Health Check – Scores SEO performance based on predefined rules. Decision Node – If score < 50 → Send alert email; else → Generate full SEO report. Update Logs – Logs results back into Google Sheets. Generate PDF Reports – Converts HTML reports into PDFs via PDF.co API. Save to Drive – Stores the PDF reports in Google Drive for long-term access. How to set up Open n8n and import the workflow. Configure your Google Sheets credentials and specify the sheet containing your website URLs. Add your Gmail account to allow automated alert emails. Set up your Google Drive credentials for storing PDF reports. Obtain an API key from PDF.co and configure the HTTP Request node. Adjust the Schedule Trigger to the time that works best (default: 9 AM daily). Test the workflow with a sample domain list. Requirements n8n instance (self-hosted or cloud) Google Sheets account (to store website URLs and logs) Gmail account (for sending alerts) Google Drive account (to save SEO reports) PDF.co API Key (for HTML → PDF conversion) How to customize Change performance threshold**: Modify the IF node condition (default <50). Custom SEO rules**: Edit the “SEO Health Check” Function node to add/remove checks (e.g., missing schema tags, page load times). Different output storage**: Replace Google Drive with Dropbox, S3 or OneDrive. Alternate notification channels**: Swap Gmail with Slack, Microsoft Teams or Telegram. Add-ons Send Slack/Teams notifications for low scores. Add PageSpeed Insights API for performance scoring. Generate weekly summary reports per domain. Integrate with Notion/Confluence to log SEO health history. Use Case Examples An SEO agency monitors 100+ client websites daily and sends alerts when a site has poor SEO signals. A company’s marketing manager gets a daily SEO health PDF report stored in Drive. A SaaS product team automatically logs performance changes for each release. Common Troubleshooting | Issue | Possible Cause | Solution | | ------------------------------------ | ------------------------------------------------ | --------------------------------------------------------------------------- | | Workflow fails at HTTP Crawl | Website blocks requests / timeout | Increase timeout in Set Config node or add retry logic. | | Always returns https://example.com | Missing canonical / OG tags in HTML | Enhanced code now infers from JSON-LD or domain detection. Update analyzer. | | PDF not generated | Invalid API key or wrong endpoint in PDF.co node | Verify PDF.co API key and endpoint URL. | | Email not sending | Gmail credentials not set or blocked | Reconnect Gmail in n8n credentials manager. | | Google Sheet not updating | Wrong column mapping in Update Sheet node | Check node mapping: domain column vs performance/date columns. | | Google Drive upload fails | Missing folder permissions | Ensure correct Drive folder ID and credentials. | Need Help? If you’d like assistance setting up, customizing or scaling this workflow for your use case, our n8n automation team at WeblineIndia can help you: Tailor SEO rules for your industry. Connect to additional APIs (Ahrefs, Semrush, PageSpeed). Automate weekly/monthly reporting with summary dashboards.
by Gerald Denor
Unleash the power of AI to automate your job search, tailor your applications, and boost your chances of landing your dream job! This comprehensive workflow handles everything from finding relevant job postings to generating personalized resumes and cover letters. Use cases are many: Automate your entire job application process:** Spend less time searching and more time preparing for interviews. Tailor your resume and cover letter for every application:** Maximize your ATS compatibility and stand out to recruiters. Efficiently track your applications:** Keep all your job search activities organized in one place. Discover new job opportunities:** Leverage the Adzuna API to find relevant listings. Good to know: Free Adzuna API:* This workflow utilizes the *free Adzuna API, making job search capabilities accessible without initial cost. OpenRouter Chat Model Costs:** AI model usage (for resume rewriting and cover letter generation) will incur costs based on the OpenRouter pricing model. Please check OpenRouter's official website for updated pricing information. Model Availability:** The AI models used may have geo-restrictions. If you encounter a "model not found" error, it might not be available in your country or region. How it works: Webhook Trigger: The workflow is initiated via a webhook, allowing you to trigger it manually or integrate it with other systems (e.g., a form submission with your desired job title and resume). Resume Extraction: Your uploaded resume (e.g., PDF) is automatically extracted into a readable text format. Job Search (Adzuna API): Using the provided job title, the workflow queries the Adzuna API to fetch relevant job postings. Job Filtering: Duplicate job listings are filtered out to ensure you receive unique opportunities. Job Info Extraction: Key details like job description, company name, and job URL are extracted from each posting. Skills Extraction (AI): An AI model (OpenRouter) analyzes the job description to identify the top skills and qualifications required. Resume Match Scoring (AI): Your resume is compared against the extracted job skills by an AI model, generating a compatibility score (1-5). Conditional Resume & Cover Letter Generation: If the resume match score is satisfactory (≥ 3): Tailored Resume Generation (AI): An AI model rewrites your resume, specifically highlighting the skills and experience most relevant to the target job, in an ATS-friendly and human-readable JSON/HTML format. Personalized Cover Letter Generation (AI): A custom cover letter is drafted by AI, uniquely tailored to the job description and your newly optimized resume, generated as well-formatted HTML. Google Sheets Integration: The generated cover letter, tailored resume, job URL, and application status are automatically updated in your designated Google Sheet for easy tracking. Gmail Notification: A personalized email containing the generated cover letter, tailored resume, and a direct link to the job posting on Adzuna is sent to your specified email address. Webhook Response: A final text response is sent back via the webhook, summarizing the sent application materials. How to use: Manual Trigger:** The workflow is set up with a manual trigger (Webhook) for initial testing and demonstration. You can easily replace this with an n8n form, a scheduled trigger, or integrate it into your existing tools. Input:** Provide your desired job search keyword and your resume (e.g., as a PDF) to the webhook. Review & Apply:** Review the AI-generated cover letter and tailored resume sent to your email, then proceed to apply for the job using the provided Adzuna link. Requirements: n8n Instance:** A running n8n instance (self-hosted or cloud). Adzuna API Key:** A free Adzuna API key (easily obtainable from their developer portal). OpenRouter Account:** For AI model access (costs apply based on usage). Google Sheets Account:** To store and track your job applications. Gmail Account:** To send automated application emails. Customizing this workflow: This workflow is highly customizable. You can: Integrate with other job boards (e.g., LinkedIn, Indeed) using their APIs. Add more sophisticated AI models or custom prompts for even finer control over resume and cover letter generation. Connect to other services for CRM, calendar management, or applicant tracking. Implement different filtering criteria for job postings. Expand the data stored in your Google Sheet (e.g., interview dates, feedback). Start automating your job search today and streamline your path to career success!
by Aditya Malur
Overview This workflow automates your entire sales outreach process across LinkedIn, Email, and WhatsApp using AI to create hyper-personalized messages for each prospect. Instead of spending hours crafting individual messages, the workflow analyzes your lead data and generates customized connection requests, emails, and WhatsApp messages that feel genuinely personal and researched. The workflow includes a built-in approval mechanism, so you can review all AI-generated messages before they're sent, ensuring quality control while still saving massive amounts of time. How It Works The workflow follows a seven-step process: Step 1: Data Collection The workflow starts by reading your lead data from a Google Sheet. Your sheet should contain information about each prospect including their name, title, company, industry, technologies they use, and any other relevant details that can be used for personalization. Step 2: Batch Processing To prevent overwhelming APIs and ensure smooth operation, the workflow processes leads in batches. Each lead's complete data is prepared and formatted for the AI agent to analyze. Step 3: AI Personalization This is where the magic happens. The AI agent receives all the prospect data and generates three distinct messages: A LinkedIn connection request (under 300 characters) that references their specific role, company, or industry A professional HTML email that demonstrates you've researched their business and explains how you can help A casual WhatsApp message that's friendly and approachable The AI is instructed to make these messages sound completely human, never generic or templated. Step 4: Data Cleanup and Storage The AI's output is parsed and cleaned up, then written back to your Google Sheet in separate columns. This creates a permanent record of all generated messages for your review. Step 5: Manual Approval Before anything gets sent, you receive an email asking for your approval. You can review all the generated messages in your Google Sheet, make any edits if needed, and then approve or reject the batch. This ensures you maintain full control over what goes out. Step 6: LinkedIn Automation Once approved, the workflow triggers your Phantombuster agent to send LinkedIn connection requests using the AI-generated messages. Phantombuster handles the actual LinkedIn interaction safely within their platform's limits. Step 7: Email and Notification Delivery Finally, the workflow sends out the personalized emails via Gmail and optionally notifies you via Telegram for each message sent. This happens sequentially to respect rate limits and maintain deliverability. Setup Requirements Before you can use this workflow, you'll need to set up several accounts and gather credentials: Essential Services: An n8n instance (cloud or self-hosted) A Google account with Google Sheets access A Gmail account for sending emails An OpenAI account with API access (for the AI agent) Phantombuster account (for LinkedIn automation) Optional Services: Telegram account and bot (for notifications) Credentials You'll Need: Google Sheets OAuth2 credentials Gmail OAuth2 credentials OpenAI API key Phantombuster API key and agent ID Telegram bot token and chat ID (if using notifications) How to Use This Workflow Initial Setup: Import this workflow into your n8n instance Add all required credentials in n8n's credential manager Create your Google Sheet with the following columns at minimum: First Name, Last Name, Title, Company Name, Personal Email, Industry, Website. Add three additional columns for output: Connection, AI Email, AI Whatsapp Message Copy your Google Sheet ID from the URL and update it in all Google Sheets nodes Open the AI Agent node and update the prompt with your personal information: your name, title, email, and LinkedIn URL Update the email addresses in the Gmail nodes to your actual email addresses Configure your Phantombuster agent for LinkedIn and add the API key and agent ID Running the Workflow: Add your lead data to the Google Sheet (you can start with just 2-3 leads for testing) Click "Execute Workflow" in n8n to start the process Wait for the AI to generate messages (this takes a few seconds per lead) Check your email for the approval request Review the AI-generated messages in your Google Sheet Reply to the approval email with your decision If approved, the workflow will automatically send LinkedIn requests, emails, and WhatsApp messages Best Practices: Start small. Process 5-10 leads at a time initially to test the quality of AI-generated messages and ensure everything works correctly. Once you're confident in the output, you can scale up to larger batches. Monitor your results. Keep track of response rates in your Google Sheet and adjust the AI prompt if certain types of messages aren't performing well. Respect rate limits. Gmail allows 100-500 emails per day depending on your account type, and LinkedIn has strict limits on connection requests (typically 100 per week through automation tools). Stay well within these limits to avoid account restrictions. Customizing This Workflow The workflow is designed to be highly customizable to fit your specific use case: Personalizing the AI Prompt: The most important customization is in the AI Agent node's prompt. You can modify it to: Emphasize different aspects of your value proposition Change the tone from formal to casual or vice versa Include specific pain points relevant to your target industry Add your company's unique selling points Adjust message length and structure Modifying the Output: You can change what the AI generates by editing the prompt. For example, you might want: Different message types (Twitter DMs instead of WhatsApp) Multiple email variations for A/B testing Follow-up message sequences Industry-specific templates Adding Features: The workflow can be extended with additional nodes: Add time delays between sends to appear more natural Include condition checks to segment leads by industry or company size Connect to your CRM to automatically log activities Add sentiment analysis to filter out negative-sounding messages Implement response tracking by monitoring your inbox Changing Tools: If you prefer different services, you can swap out nodes: Replace Phantombuster with other LinkedIn automation tools Use SendGrid or Mailgun instead of Gmail for higher volume Add Slack notifications instead of Telegram Connect to WhatsApp Business API for official messaging Data Source Alternatives: Instead of Google Sheets, you could: Connect directly to your CRM (HubSpot, Salesforce, Pipedrive) Use Airtable as your database Pull data from CSV files uploaded to cloud storage Integrate with lead generation tools like Apollo or Hunter Tips for Success The quality of your AI-generated messages depends heavily on the data you provide. The more information you have about each prospect (their role, company size, technologies used, recent news, pain points), the more personalized and effective the messages will be. Regularly review and refine your AI prompt based on the responses you're getting. If prospects aren't responding, your messages might be too sales-focused or not personal enough. Adjust the prompt to make messages feel more consultative and helpful. Don't send to your entire list at once. Even with approval gates, it's wise to test with small batches, measure results, iterate on your approach, and then scale up gradually. Always comply with email and LinkedIn best practices. Never spam, always provide value in your outreach, respect people's time and privacy, and make it easy for them to opt out if they're not interested. This workflow is a powerful tool that can save you hours of work while actually improving the quality of your outreach through AI-powered personalization. Use it responsibly and watch your response rates improve.
by Connor Provines
One-Line Description Automatically detects missed Zoom demos booked via Calendly and triggers AI-powered follow-up sequences. Detailed Description What it does: When a prospect books a demo through Calendly but fails to join the Zoom meeting, this workflow automatically detects the no-show, generates personalized recovery messages using AI, updates your database, and notifies your sales team—all within minutes of the meeting ending. It bridges Calendly, Zoom, and your follow-up channels to ensure no lead falls through the cracks. Who it's for: Sales teams** running high-volume demo calendars who lose 20-40% of booked meetings to no-shows Customer success managers** conducting onboarding calls where attendance tracking matters SDRs and BDRs** who need immediate alerts when prospects miss scheduled meetings Revenue operations teams** seeking to improve demo-to-opportunity conversion rates through faster follow-up Key Features: Real-time no-show detection** - Automatically checks Zoom participant lists against expected attendees within seconds of meeting end AI-generated recovery messaging** - Creates contextual, empathetic follow-up emails and LinkedIn messages tailored to each no-show scenario Instant team notifications** - Sends formatted Slack alerts with attendee details and suggested next actions so reps can manually follow up if needed Attendance tracking database** - Maintains a searchable record of all bookings and attendance status for reporting and analysis Multi-channel follow-up orchestration** - Coordinates email, Slack notifications, and optional CRM updates from a single automation Selective event filtering** - Processes only specific Calendly event types so you control which meetings trigger the workflow How it works: Booking capture: Calendly webhook fires when a demo is scheduled, extracting Zoom meeting details and attendee information Meeting monitoring: When the Zoom meeting ends, a second webhook triggers attendance verification by pulling the participant list from Zoom's API No-show identification: Workflow cross-references the expected attendee email with actual Zoom participants to confirm whether they attended Automated response: For confirmed no-shows, AI generates personalized recovery messages while the system updates your database and notifies your team via Slack Optional integrations: Simultaneously updates CRM deal stages or triggers additional follow-up sequences based on your configuration Setup Requirements Prerequisites: Calendly account** (any paid plan) with webhook access and Personal Access Token Zoom account** (Pro or higher) with Server-to-Server OAuth app credentials for API access OpenAI API key** for AI-generated follow-up message creation Slack workspace** with OAuth permissions to post messages (optional but recommended) n8n Data Table** created with columns: meeting_id, email, status (built-in n8n feature, no external database needed) Email sending service** configured in n8n (SMTP, Gmail, SendGrid, etc.) if enabling automated email sending CRM API access** (HubSpot, Salesforce, Pipedrive, etc.) if enabling deal updates (optional) Note: Zoom API has rate limits (varies by plan); this workflow makes 1-2 API calls per meeting end event. Estimated Setup Time: 45-60 minutes including Zoom app creation, Calendly webhook configuration, and Data Table setup Installation Notes Critical setup steps: Zoom webhook validation**: You must complete Zoom's webhook endpoint validation process before receiving real events. The workflow includes a dedicated validation path—run it once after creating your Zoom app. Calendly webhook creation**: Use the "Manual Setup Trigger" path in the workflow to programmatically create your Calendly webhook subscription. This only needs to run once. Event type filtering**: Replace the placeholder YOUR_CALENDLY_EVENT_TYPE_URI with your specific demo event type URI from Calendly to avoid processing all meeting types. Test with a real meeting**: Book a test demo, join briefly with a different email than the booking email, then leave. The workflow should detect the "no-show" for the booking email. Common pitfalls to avoid: Forgetting to enable the disabled "Send Recovery Email" node after testing (it's disabled by default to prevent accidental sends during setup) Not configuring Zoom Server-to-Server OAuth correctly (requires Account ID, Client ID, and Client Secret—not JWT credentials) Using a personal Calendly account instead of an organization account (webhooks require organization-level access) Overlooking the Data Table creation step—the workflow will fail without this internal database Testing recommendations: Start with Slack notifications only (leave email sending disabled) to verify the workflow logic Use your own email as a test booking to safely generate AI messages without sending to real prospects Check the Data Table after each test to confirm booking records are being created and updated correctly Customization Options Easy modifications: Swap email for SMS**: Replace the email node with Twilio SMS to send text message follow-ups instead Add delays**: Insert "Wait" nodes to schedule follow-ups hours or days later rather than immediately Change AI tone**: Modify the OpenAI prompt to match your brand voice (casual, formal, humorous, etc.) Multi-step sequences**: Duplicate the AI and email nodes to create a 3-touch follow-up cadence over several days Different CRM platforms**: The HubSpot node can be swapped for Salesforce, Pipedrive, or any CRM n8n supports Extension possibilities: Add Google Sheets logging for executive dashboard reporting on no-show rates Integrate with Calendly's rescheduling API to automatically send rebooking links Connect to Loom or Vidyard APIs to attach pre-recorded demo videos in follow-up emails Create a "second chance" discount workflow that offers incentives for rescheduling Build a predictive model by exporting no-show data to analyze patterns (time of day, lead source, etc.) Category Sales Tags calendly zoom no-show-recovery demo-automation lead-follow-up sales-automation meeting-tracking ai-messaging slack-notification openai Use Case Examples SaaS sales team**: A B2B software company runs 40+ demos per week. When prospects no-show, this workflow immediately notifies the assigned rep in Slack with a pre-written LinkedIn message, sends an empathetic recovery email offering a Loom recording alternative, and flags the deal in HubSpot for manual outreach within 2 hours. Agency onboarding**: A marketing agency conducts discovery calls with new clients. If a client misses their scheduled kickoff meeting, the workflow logs the no-show, updates the client status in their CRM, and sends a friendly rescheduling email with three alternative time slots—all before the account manager even notices. Customer success**: A customer onboarding team tracks training session attendance. When users don't join their scheduled implementation calls, the workflow automatically sends a resource-rich email with documentation links, notifies the CSM team channel, and schedules a follow-up task in their project management tool.
by Atta
What it does Customer support calls contain a wealth of valuable feedback and urgent issues, but manually reviewing audio files is inefficient. This workflow acts as an AI assistant for your call log, transforming unstructured audio recordings into structured, actionable data. It provides a clean summary, sentiment analysis, and a list of required actions for every call, eliminating the need for manual listening and ensuring key insights are never missed. How it works The workflow runs on a schedule to fully automate the call analysis process from start to finish. Fetch New Recordings: The workflow triggers on a schedule (e.g., every 5 minutes), searches a designated Google Drive folder for new call recordings, and downloads any new files it finds. Transcribe Audio: Each audio file is sent to the ElevenLabs API to be converted from speech to a text transcript. The result is then formatted into a conversational, multi-speaker format. AI-Powered Analysis: The transcript is passed to a Google Gemini node, which is prompted to return a structured JSON object. This JSON contains a complete analysis of the call, including speaker identification (agent_name, client_name), a summary, the client_sentiment, a call_topic, a department_tag, and a list of action_items. Log the Results: The complete, structured analysis output from Gemini is appended as a new row in a Google Sheet, creating a centralized log with all the extracted call details and the full transcript. Take Action: The workflow uses conditional logic based on the detected sentiment: Negative Sentiment: If a call was negative, an immediate alert containing the call summary and action items is sent to a manager's group on Telegram. Positive Sentiment: If a call was positive, a kudos message is sent to the support team's Telegram channel to celebrate good work. File Management: After processing, the original audio file is automatically moved to a separate "Processed" folder in Google Drive to ensure it isn’t analyzed again. Setup Instructions To configure this workflow, you will need to set up your file storage in Google Drive, create a Google Sheet for logging, and configure credentials for all connected services. Required Credentials Google: You will need Google OAuth2 credentials that have permission for Google Drive, Google Sheets, and the Google AI (Gemini) APIs. ElevenLabs: Sign up for an account at ElevenLabs and get your API Key. You will add this directly into the HTTP Request node for transcription. Telegram: Create a bot using the BotFather in Telegram to get your Bot Token. You will also need the specific Chat ID for the managers' channel and the team's channel. Step-by-Step Configuration Google Drive: Create two folders in your Google Drive: one named "Company - Support Call Recordings" and another named "Processed Recordings". Copy the unique Folder ID from the URL for each and paste it into the respective Google Drive nodes. Google Sheets: Create a new Google Sheet to log the results. In the first row, create the following headers exactly as written: Recording File, Sentiment, Department, Topic, Agent, Client, Summary, Actions, and Fulltext. Copy the Sheet ID from the URL and paste it into the "Log Recording Analysis" (Google Sheets) node. ElevenLabs Node: In the "Convert Speech To Text" (HTTP Request) node, make sure the URL is set to the correct ElevenLabs API endpoint for speech-to-text. Add your ElevenLabs API Key to the authentication header. Telegram Nodes: In the "Send Alert To Managers" node, enter the Chat ID for your managers' group. In the "Send Kudos to Team" node, enter the Chat ID for the main team channel. How to Adapt the Template This workflow is a powerful starting point. Based on your specific needs, you can customize the inputs, the AI analysis, the logging method, and the final actions. Input Method Change File Source:* Instead of Google Drive, you can adapt the workflow to fetch recordings from other services like *Dropbox, **OneDrive, or a custom FTP server. Use a Webhook:* Replace the *Schedule Trigger* with a *Webhook Trigger** to process calls in real-time as they are added from your call software (if it supports webhooks). Final Actions Create Service Tickets:* This is a key area for customization. Replace the *Telegram* nodes with nodes for ticketing systems. For a negative call, you can automatically create a high-priority ticket in *Jira, **Zendesk, or ServiceNow. Create Tasks:* For calls with specific action items, use a node like *Asana, **Trello, or Todoist to automatically create a task and assign it to the correct team member. Send Email Notifications:* Use the *Send Email** node to dispatch summaries and alerts to stakeholders who are not on Telegram. Logging and Analysis Log to a Database:* Instead of Google Sheets, you can use a *Postgres, **MySQL, or Data Warehouse node to log the structured data for more advanced business intelligence and dashboarding. Customize the AI Prompt:** The prompt in the Google Gemini node is the "brain" of the operation. It specifically instructs the AI to return a JSON object with a predefined structure. To change what data is extracted, you can modify this structure in the prompt. For example, you could add a new key-value pair like "competitor_mentioned": "Name of competitor if mentioned, otherwise null" to the JSON structure. The current workflow asks the AI to populate a JSON object like this: { "speaker_identification": { "agent": "speaker_id", "agent_name": "The agent's name", "client": "client_id", "client_name": "The client's name" }, "summary": "A concise summary.", "client_sentiment": "Positive, Negative, or Neutral", "call_topic": "A brief phrase for the topic.", "department_tag": "The most relevant department.", "action_items": [ "A list of actionable tasks." ] } Change AI or STT Service:* You can swap out the *Google Gemini* node for an *OpenAI* node, or change the *HTTP Request* node to use a different transcription service like *AssemblyAI* or *Deepgram**.
by Jitesh Dugar
Meeting Minutes & Action Item Tracker Fully automated meeting documentation workflow that uses AI to transform raw transcripts into professional PDFs and actionable tasks. Features AI-powered summary generation (GPT-4) Automatic action item extraction with assignees, deadlines, and priorities Professional PDF generation with custom styling Multi-channel distribution (Email, Slack, Google Drive) Task creation in Google Tasks Personalized notifications to each assignee Deadline tracking and urgency detection Setup Instructions REQUIRED CREDENTIALS: OpenAI API - Get from Gmail OAuth2 - Connect your Google account Google Drive OAuth2 - Same Google account Google Tasks OAuth2 - Same Google account Slack OAuth2 - Connect your workspace htmlcsstopdf API - Get from CONFIGURATION STEPS: WEBHOOK: Note your webhook URL after activation EMAIL NODES: "Email All Participants": Uses participants array from input "Send Individual Task Emails": Change @yourcompany.com to your domain GOOGLE DRIVE: Select folder where PDFs should be stored Recommended: Create "Meeting Minutes" folder SLACK: Select channel for team notifications Recommended: Create #meeting-notes channel GOOGLE TASKS: Select task list where tasks should be created Default list works fine TESTING: Use the webhook URL with sample meeting data Check execution log for any errors Verify PDF in Google Drive Check emails were sent Confirm tasks created in Google Tasks Example Input Format POST : Headers: Content-Type: application/json Body: { "title": "Weekly Team Standup", "date": "2025-09-29", "participants": [ "john@company.com", "sarah@company.com", "joe@company.com" ], "duration": "30 minutes", "transcript": "John started the meeting by discussing the progress on the API development. Sarah mentioned that she's working on the dashboard and needs to prepare mockups by Thursday. The team agreed that Sarah will review the API documentation before the client demo on Friday. Akshita confirmed she finished the database schema redesign and needs to schedule a meeting with DevOps team by next Monday to discuss production deployment." } This will generate: Professional PDF with summary and action items Emails to all participants Individual task emails to John, Sarah, and Joe Tasks in Google Tasks Slack notification Output After execution, you'll get: Professional PDF stored in Google Drive Email sent to all participants with meeting overview Individual emails to each assignee with their tasks Slack notification with summary and download link Tasks created in Google Tasks with deadlines CUSTOMIZATION: Modify PDF styling in "Generate PDF Document" node Adjust email templates in Gmail nodes Change AI prompts in OpenAI nodes for different output Modify priority/deadline logic in "Parse and Enrich Data" Troubleshooting Workflow stops at validation: Ensure transcript has >50 words Check that webhook payload is correctly formatted No PDF generated: Verify htmlcsstopdf API credentials Check API usage limits Tasks not created: Verify deadline format is YYYY-MM-DD Check Google Tasks API connection Emails not sending: Confirm Gmail OAuth2 is connected Check that email addresses are valid Support For issues or questions, visit the n8n community forum. License MIT License - Feel free to modify and share!
by Md Sabirul Islam
🦷 Dental Clinic Appointment Booking System (n8n) This project is an automated appointment booking system for a dental clinic, built using #n8n. It helps streamline clinic operations by checking availability, creating events in Google Calendar, and sending email notifications to both the doctor and the patient. ✨ Features ✅ Check available slots before booking ✅ Create event in Google Calendar after patient confirmation ✅ Send email notification to the Doctor with appointment details ✅ Send email confirmation to the Patient with their booking details ✅ Unique Appointment ID generation for every booking 🚀 Live Demo https://devsabirul.github.io/Dental-Clinic-Receptionist-N8n/ 🛠 Tech Used n8n.io (Automation Platform) Google Calendar API (Manage bookings) SMTP / Gmail (Send email notifications) 📂 Workflow Setup Import Workflow JSON In n8n, go to Workflows → Import from File. Set Credentials Configure Google Calendar API Credentials in n8n. Configure Email SMTP / Gmail Credentials for sending emails. Update Clinic Info Replace placeholder Doctor’s email with the real email. Customize messages (email subject, body). 📧 Example Email Sent To Doctor: New Appointment Booked Patient: John Doe Phone: +123456789 Email: john@example.com Date: 31st August 2025 Time: 2:15 PM Appointment ID: APT-20250831-ABCD12 To Patient: Hello John Doe, Your appointment has been successfully booked. 📅 Date: 31st August 2025 🕒 Time: 2:15 PM 📍 Appointment ID: APT-20250831-ABCD12 Thank you, Dental Clinic 📌 Tags #n8n #automation #dentalclinic #calendar #appointment 🙌 Author 👨💻 Developed by MD Sabirul Islam
by Daniel Rosehill
Who's it for This workflow is perfect for individuals, small businesses, or households who need to: Automatically process and categorize expense receipts Extract structured data from invoices and receipts using AI Store receipts in multiple locations (Google Drive and S3) Send automated email notifications with expense details Send documents to accounting systems via email hooks How it works This comprehensive expense processing workflow combines AI-powered document analysis with automated file management and notifications. Here's the complete flow: Form Submission: Users submit expenses through a web form with receipt upload and category selection (Personal, Business, or Shared/Home) AI Document Processing: The workflow extracts text from PDF receipts using OCR, then uses Google Gemini AI to parse and structure the data into a standardized JSON format including vendor details, amounts, dates, and categorization Smart Routing: Based on the expense category, receipts are automatically routed to different processing paths with category-specific folder organization Multi-Destination Storage: Receipts are uploaded to: Google Drive (organized by year/month folders) S3 cloud storage buckets Different destinations based on expense type Email Notifications: Sends formatted HTML email notifications with complete expense details and links to stored receipts Accounting System Integration: Automatically forwards business expenses to accounting systems via email hooks (customizable per user requirements) Requirements Credentials needed: Google Gemini API**: For AI-powered document analysis Google Drive OAuth2**: For personal and business drive access Gmail OAuth2**: For sending email notifications S3 Storage**: For cloud backup (AWS S3, Wasabi, etc.) Services used: Google Drive (multiple accounts supported) Google Gemini AI Gmail S3-compatible storage Form trigger webhook How to set up Step 1: Configure Credentials Set up Google Gemini API credentials in n8n Configure Google Drive OAuth2 for both personal and business accounts Add Gmail OAuth2 credentials Set up S3 storage credentials Step 2: Update Configuration Replace all placeholder values: YOUR_GEMINI_CREDENTIAL_ID with your Gemini credential ID YOUR_PERSONAL_GDRIVE_CREDENTIAL_ID with personal Drive credential YOUR_BUSINESS_GDRIVE_CREDENTIAL_ID with business Drive credential YOUR_GMAIL_CREDENTIAL_ID with Gmail credential YOUR_S3_CREDENTIAL_ID with S3 credential Update Google Drive folder structure: Replace YOUR_BUSINESS_DRIVE_ID and YOUR_SHARED_DRIVE_ID with actual drive IDs Update the JavaScript code in the three Code nodes with your actual folder mapping Configure email addresses: Replace user@example.com with your notification email Replace receipts@paperless-service.com with your accounting system's email hook (this is a mail hook for uploading documents to small business accounting systems - can be modified per user requirements) Update S3 bucket names: Replace business-expenses, personal-expenses, and shared-expenses with your bucket names Step 3: Set Up Folder Structure Create organized folder structures in your Google Drives: Drive Root/ ├── 2024/ │ ├── January/ │ ├── February/ │ └── ... (all months) ├── 2025/ │ ├── January/ │ └── ... (all months) └── 2026/ └── ... (all months) Step 4: Test the Workflow Activate the workflow Submit a test expense through the form Verify files are uploaded to correct locations Check email notifications are received How to customize the workflow Expense Categories Modify the form dropdown options and conditional logic to add/remove expense categories: Edit the "On form submission" node form fields Update the IF condition nodes for routing Add new processing paths as needed AI Processing Schema Customize the structured output parser schema to extract different fields: Modify the JSON schema in the "Structured Output Parser" node Update the AI system prompt for different extraction requirements Add new fields for specific business needs Storage Destinations Add or modify storage locations: Duplicate upload nodes for additional cloud services Modify folder organization logic in Code nodes Add new conditional routing for different storage rules Email Templates Customize the HTML email template: Edit the email message content in the Gmail node Add/remove expense fields in the table Modify styling and branding Folder Organization Update the JavaScript code in Code nodes to match your folder structure: Modify the CSV data with your actual folder IDs Change the date-based organization logic Add custom folder naming conventions Integration Extensions Extend the workflow with additional integrations: Add Slack notifications Connect to accounting software (QuickBooks, Xero) Integrate with expense management platforms Add approval workflows for business expenses
by Evervise
🎯 AI Landing Page Analyzer & Optimizer Transform your landing page audits into a powerful lead generation machine with this professional n8n workflow powered by 4 specialized AI agents. What It Does This workflow analyzes any landing page and delivers a comprehensive, $2,000-value audit report in under 90 seconds. Perfect for agencies, consultants, and SaaS companies looking to generate high-quality leads while showcasing their expertise. 🤖 Four Specialized AI Agents Design Critic - Analyzes UX/UI, visual hierarchy, CTA placement, mobile responsiveness, and trust signals Copywriter - Reviews messaging, headlines, value propositions, and emotional triggers SEO Specialist - Audits technical SEO, meta tags, heading structure, and performance indicators Growth Strategist - Synthesizes all findings, assigns an A-F grade, and creates prioritized action plans ✨ Key Features Comprehensive Scoring**: 6-dimension scorecard with detailed justifications Actionable Insights**: Top 5 priorities ranked by impact vs. effort Conversion Lift Estimates**: Conservative, realistic, and optimistic projections Beautiful HTML Reports**: Professional email with all analyses, branded for your business Natural Upsell Path**: Built-in CTA for paid optimization services Fast Delivery**: Complete analysis in 60-90 seconds 📊 What Gets Analyzed Design & UX Visual hierarchy and layout structure CTA design, placement, and effectiveness Color scheme and whitespace usage Trust signals and social proof Mobile responsiveness indicators Copywriting Headline impact and hook effectiveness Value proposition clarity Benefits vs. features balance Emotional triggers and persuasion CTA copy strength and action orientation SEO & Technical Title tag and meta description optimization Heading structure (H1, H2 hierarchy) Image optimization and alt tags Mobile-friendliness Analytics tracking setup Page speed indicators Strategic Overview Overall grade (A+ to F) with detailed explanation Comprehensive scorecard across all dimensions Prioritized action items by ROI Estimated conversion lift potential Strategic recommendations and next steps 💼 Perfect For Digital Marketing Agencies**: Offer free audits to generate leads Freelance Consultants**: Showcase expertise and attract clients SaaS Companies**: Lead magnet for conversion optimization tools Web Development Agencies**: Pre-sales qualification and demonstrations CRO Specialists**: Automated initial assessments 📋 What You Need Required n8n instance (self-hosted or cloud) Anthropic API key (Claude Sonnet 4.5) Gmail account for sending reports (or any SMTP provider) Optional Enhancements Screenshot API (UrlBox, Puppeteer) for visual captures Google PageSpeed Insights API for performance testing CRM integration (HubSpot, Salesforce, Pipedrive) Slack notifications for lead alerts Calendar booking integration (Calendly) ⚙️ Technical Details AI Model**: Claude Sonnet 4.5 (4 separate agents) Average Runtime**: 60-90 seconds Cost Per Analysis**: ~$0.15-0.25 (API costs) Form Fields**: 6 (landing page URL, industry, goal, conversion rate, frustration, email) Output**: Beautiful HTML email report with comprehensive analysis 🎨 Customization Options The workflow includes detailed documentation and is fully customizable: Adjust agent prompts for your specific niche Modify scoring criteria and thresholds Customize email branding and design Add/remove form fields Integrate with your CRM Segment responses by score (different CTAs for different grades) 📈 Expected Results Lead Quality**: High (users actively seeking optimization) Conversion Rate**: 15-30% of audit recipients book calls Time Saved**: 2-3 hours of manual analysis per audit Perceived Value**: $2,000+ professional audit 🔧 Setup Difficulty Intermediate - Requires basic n8n knowledge and API key setup Setup Steps Import workflow to n8n Add Anthropic API credentials Configure Gmail/SMTP credentials Customize form and email branding Test with sample landing page Deploy form on your website 📚 Included Documentation Comprehensive sticky notes explaining each component Setup instructions and prerequisites Customization guide Monetization strategy breakdown Performance optimization tips Enhancement ideas for v2 🌟 Use Cases Lead Magnet: Embed form on your website to capture qualified leads Sales Tool: Use during discovery calls to demonstrate value Content Marketing: Offer audits in LinkedIn posts, email campaigns Partner Program: Provide white-labeled audits to partners Upsell Sequence: Follow up with paid optimization services ⚡ Why This Workflow? Unlike simple template-based audits, this workflow uses real AI intelligence to provide nuanced, contextual insights. Each analysis is unique and considers: Industry-specific best practices Stated business goals Current pain points Competitive landscape User's experience level The result? Reports that feel hand-crafted by experts, not generic checklists. 🤝 Support 📖 Website: https://evervise.ai/ ✨ Support: mark.marin@evervise.com N8N Link 📊 Version History v1.0** - Initial release with 4-agent analysis pipeline Coming soon: Screenshot capture, competitor comparison, visual mockups Tags lead-generation marketing-automation ai-agents conversion-optimization landing-pages anthropic claude audit seo copywriting design-analysis lead-magnet Ready to turn landing page audits into a lead generation machine? Import this workflow and start attracting high-quality clients today.
by Abdul Mir
Overview This workflow auto-generates a personalized research report on any prospect who books a call with you—using their LinkedIn profile and advanced web research. When a call is booked in your calendar, the system looks up the lead’s LinkedIn URL from a Google Sheets database. That profile is then scraped using Relevance AI to extract posts, experiences, and education. It also runs a deep-dive query on the person using Perplexity to uncover relevant news, insights, and context. This structured data is passed to an AI model that produces a clean profile summary, suggested pain points, and solution ideas. Finally, the system builds and sends you a fully formatted HTML report via email—ready to review before your meeting. Who’s it for Founders taking high-stakes sales calls SDRs/BDRs booking back-to-back meetings Agencies and consultants who want to personalize discovery calls Teams doing high-touch enterprise sales or B2B outreach How it works Triggered when a new call is booked via Cal.com Finds matching LinkedIn URL from a local database (Google Sheets) Scrapes public LinkedIn data via Relevance AI Runs a Perplexity query on the prospect for deeper context Formats the scraped data using Code nodes Sends structured info to AI to generate: A company + person profile Suggested pain points and solutions Formats everything into a clean HTML report Emails you the final summary to prep for the call Example use case > Someone books a call. You receive a report 2 minutes later in your inbox with: > - Their role, company, and latest posts > - What their business does > - Recent news and context from Perplexity > - Predicted pain points and how you might help > > You show up to the call prepped and ready How to set up Connect your Cal.com trigger (or replace with any booking tool) Set up your Google Sheet(s) with contact info + LinkedIn profiles Add Relevance AI API key and configure LinkedIn scraping (they have free credits) Link Perplexity API for web research Customize the AI prompts and report formatting Connect Gmail or preferred email provider to send reports Requirements Cal.com or other booking platform Google Sheets for lead storage Relevance AI account and API access Perplexity API key OpenAI or similar LLM for summarization Email integration (e.g. Gmail) How to customize Replace Cal.com with Calendly, SavvyCal, etc. Change AI prompt tone and structure of the report Add CRM push (e.g. log into HubSpot, Notion, or Airtable) Add Slack or Telegram notifications for call alerts Format reports as PDF instead of HTML for download
by Yusuke Yamamoto
This n8n template demonstrates how to use AI to fully automate the generation and scheduling of X (formerly Twitter) content based on a specific, predefined persona. Use cases are many: It's perfect for social media marketers looking to streamline content creation, individual experts building a consistent brand voice, or businesses aiming to drive traffic to specific services with a steady stream of relevant content. Good to know The AI model used in this workflow (via OpenRouter) requires an API key and will incur costs based on usage (typically a few cents per generation). The Blotato node used for posting is a third-party community node and requires a separate Blotato account. How it works This workflow is divided into two main processes: Content Generation and Content Posting. Content Generation Process: A Schedule Trigger kicks off the workflow every 4 hours. An AI Agent (LangChain) generates a post based on a detailed prompt defining a persona, purpose, and rules. A Code node refines the AI's output, ensuring the text ends naturally. The generated post is then saved to a Google Sheet with a "Not Posted" status, creating a content queue. Content Posting Process: The workflow retrieves one "Not Posted" item from the Google Sheet. An IF node checks the post's category to determine if an image is required. If an image is needed, it searches for and retrieves a matching image file from a specified Google Drive folder. The Blotato node posts the text (and image, if applicable) to the designated X (Twitter) account. A confirmation email is sent via Gmail to notify stakeholders of the successful post. Finally, the Google Sheet status is updated to "Completed" to prevent duplicate posts. How to use You can test the workflow anytime using the manual trigger. For production, adjust the posting frequency in the "Trigger: Every 4 Hours" node. The quality of the generated content is determined by the prompt. Edit the system message within the "AI: Generate X Post Content" node to customize the persona, purpose, tone of voice, etc. To generate posts with images, you must upload image files to the specified Google Drive folder. The filename must exactly match the post's category name (e.g., Evidence-based_Graph.png). Requirements An OpenRouter account (or another AI service account) for the LLM. A Blotato account for social media posting. A Google account for content management, image storage, and notifications (Sheets, Drive, Gmail). Customising this workflow Expand the workflow to post to other social media platforms supported by Blotato, such as Facebook or LinkedIn. Instead of posting immediately, add a human-in-the-loop approval step by sending the AI-generated draft to Slack or email for review before publishing. Replace the Schedule Trigger with a Webhook Trigger to generate and post relevant content based on external events, such as "when a new blog post is published."