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 isaWOW
Description Activate this workflow once and every weekday morning at 8AM your phone receives a complete day briefing on Telegram — automatically. It fetches your unread emails and today's and tomorrow's calendar events in parallel, sends everything to GPT-4o-mini which filters out promotions and noise, and delivers one clean structured message with your urgent emails, today's schedule, tomorrow's preparation, and one focus recommendation. Built for founders, executives, and busy professionals who want full day context before they open a single app. What This Workflow Does Fetches emails and calendar simultaneously** — Pulls unread inbox emails from the last 24 hours and calendar events for today and tomorrow at the same time to save processing time Filters out email noise automatically** — GPT-4o-mini identifies only emails that need a reply or action — newsletters, promotions, automated notifications, and receipts are silently excluded Separates today and tomorrow events** — Calendar events are split into two lists so your schedule and your preparation are clearly distinct in the brief Generates one focus recommendation** — Based on the combined context of your emails and calendar, GPT surfaces the single most important thing to concentrate on today Adds a preparation tip for busy meetings** — If tomorrow has meetings with more than two attendees, the brief automatically includes a preparation suggestion Delivers with Markdown formatting** — The Telegram message uses bold headings and clean layout so the brief is easy to scan on a phone screen Includes a timezone-aware timestamp** — A footer shows the exact local time the brief was generated so you always know when the data was pulled Setup Requirements Tools Needed n8n instance (self-hosted or cloud) Gmail account (the inbox you want monitored) Google Calendar (your primary calendar) OpenAI account with GPT-4o-mini API access Telegram bot (created via @BotFather) Credentials Required Gmail OAuth2 Google Calendar OAuth2 OpenAI API key Telegram Bot credential Estimated Setup Time: 15–20 minutes Step-by-Step Setup Import the workflow — Open n8n → Workflows → Import from JSON → paste the workflow JSON → click Import Get your Telegram Chat ID — Open Telegram → search for @userinfobot → send /start → it replies with your numeric chat ID Fill in Config Values — Open node 2. Set — Config Values → replace all four placeholders: | Field | What to enter | |---|---| | PASTE_YOUR_TELEGRAM_CHAT_ID_HERE | Your Telegram chat ID from step 2 | | PASTE_YOUR_GMAIL_ADDRESS_HERE | Your Gmail address (e.g. you@gmail.com) | | PASTE_YOUR_NAME_OR_COMPANY_HERE | Your name or company name (used in the GPT prompt greeting) | | timezone | Your timezone string — default is Asia/Kolkata. Change to your timezone e.g. America/New_York, Europe/London, Asia/Singapore | Connect Gmail — Open node 3. Gmail — Fetch Unread Emails → click the credential dropdown → add Gmail OAuth2 → sign in with the Gmail account you want monitored → authorize access Connect Google Calendar — Open node 4. Google Calendar — Fetch Today and Tomorrow → click the credential dropdown → add Google Calendar OAuth2 → sign in with the same Google account → authorize access Connect OpenAI — Open node 7. OpenAI — GPT-4o-mini Model → click the credential dropdown → add your OpenAI API key → test the connection Connect Telegram — Open node 9. Telegram — Send Morning Brief → click the credential dropdown → add your Telegram Bot API credential (paste the bot token from @BotFather) → save Activate your Telegram bot — Open Telegram → find your bot → send /start — this is required before the bot can message you for the first time Activate the workflow — Toggle the workflow to Active — it will run automatically every weekday at 8AM > ⚠️ Test before 8AM — To test immediately, click on node 1. Schedule — Every Weekday 8AM and use the manual Execute option to trigger a test run. How It Works (Step by Step) Step 1 — Schedule: Every Weekday 8AM This step fires the workflow automatically every Monday through Friday at 8AM. The cron expression 0 8 * * 1-5 ensures it never runs on weekends. No manual trigger is needed once activated. Step 2 — Set: Config Values Your Telegram chat ID, Gmail address, name, timezone, and all date variables used throughout the workflow are stored here. Today's date, today's ISO timestamp, yesterday's timestamp (for the 24-hour email window), tomorrow's timestamp, and the day-after-tomorrow's timestamp are all calculated automatically from the current date — you never need to update these. Step 3 — Gmail: Fetch Unread Emails (parallel) All unread inbox emails received in the last 24 hours are fetched from your Gmail account. This step runs at the same time as the calendar fetch to save time. Up to 20 emails are processed — the sender, subject line, and a short preview of each message are captured. Step 4 — Google Calendar: Fetch Today and Tomorrow (parallel) All events from your primary Google Calendar for today and tomorrow are fetched simultaneously alongside the Gmail step. For each event, the title, start and end time, location, and attendee count are captured. If the event has a specific time it is formatted as HH:MM to HH:MM — all-day events are labelled accordingly. Step 5 — Code: Merge Emails and Calendar Both the email and calendar data are read together here and formatted into clean text for GPT. Emails are listed with sender, subject, and preview. Calendar events are separated into a today list and a tomorrow list, each with time and attendee count. If either source returns no data, a clean fallback message is used (e.g. "No unread emails in the last 24 hours"). The formatted text, event counts, and email count are all packaged for the AI step. Step 6 — AI Agent: Write Morning Brief GPT-4o-mini receives your name, today's date, the full email list, and both calendar lists. It writes a structured 4-section brief in plain text with basic Telegram Markdown bold headings. Section 1 lists only urgent emails that need a reply or action — all promotional and automated emails are excluded. Section 2 lists all today's events with their times. Section 3 lists tomorrow's events and adds a preparation tip for any meeting with more than two attendees. Section 4 gives one single focus recommendation for the day based on the combined context. The brief is kept under 300 words. Step 7 — OpenAI: GPT-4o-mini Model This is the language model powering the brief. It runs at temperature 0.4 for a natural, warm tone that is not robotic but also not overly creative. It is capped at 600 tokens to keep the brief concise and costs extremely low — well under $0.001 per morning brief. Step 8 — Code: Prepare Telegram Message The GPT brief text is read and a timestamp footer is added in your local timezone (e.g. Brief generated at 08:02). If GPT failed to generate any output, a fallback message is used instead so Telegram always receives something. The complete message and your Telegram chat ID are packaged for delivery. Step 9 — Telegram: Send Morning Brief The full brief is sent to your Telegram chat with Markdown rendering enabled. Bold headings render correctly in Telegram so the four sections are clearly separated. A Telegram attribution footer is suppressed so the message looks clean. Key Features ✅ Fully automated weekday delivery — Runs Monday to Friday at 8AM with zero manual input after the one-time setup ✅ Parallel Gmail and Calendar fetch — Both data sources are pulled at the same time rather than one after the other, keeping the workflow fast ✅ Noise-filtered email list — GPT actively excludes newsletters, promotions, and automated notifications so only actionable emails appear in your brief ✅ Two-day calendar view — Today's schedule and tomorrow's events are always both included so you can plan ahead from the morning brief alone ✅ Preparation tips for group meetings — If tomorrow has a meeting with more than two attendees, the brief automatically suggests how to prepare ✅ Fallback protection — If GPT fails or returns empty output, a fallback message is sent to Telegram so you always receive something at 8AM ✅ Timezone-correct timestamp — The footer shows your local time based on the timezone value in Config Values — not UTC ✅ Under $0.001 per brief — GPT-4o-mini at 600 tokens with temperature 0.4 costs fractions of a cent per run — 260 working days a year costs less than $0.25 total Customisation Options Change the delivery time — In node 1. Schedule — Every Weekday 8AM, edit the cron expression 0 8 * * 1-5 to fire at a different hour — for example 0 7 * * 1-5 for 7AM or 30 7 * * 1-5 for 7:30AM. Include weekends — In node 1. Schedule — Every Weekday 8AM, change the cron expression from 0 8 * * 1-5 to 0 8 * * * to receive a brief every day of the week including Saturday and Sunday. Add a specific Gmail label filter — In node 3. Gmail — Fetch Unread Emails, add a label filter to only pull emails tagged with a specific Gmail label (e.g. your client label) so the brief focuses only on the emails that matter most to you. Include a second Google Calendar — After node 4. Google Calendar — Fetch Today and Tomorrow, duplicate the step and connect it to a second calendar ID — then update node 5. Code — Merge Emails and Calendar to also read from that second calendar result and merge the events together. Add a Slack summary for your team — After node 8. Code — Prepare Telegram Message, add a Slack node that posts a shorter 2-line version (just today's meeting count and your one focus) to a #team-standup channel so your team gets daily context too. Troubleshooting Workflow not triggering at 8AM: Confirm the workflow is Active — inactive workflows do not run on a schedule Check that the cron expression in node 1. Schedule — Every Weekday 8AM is exactly 0 8 * * 1-5 — any accidental edit breaks the schedule Confirm your n8n instance is running at 8AM — self-hosted instances that are turned off will not fire scheduled workflows To test immediately, click on node 1 and use the manual Execute option Gmail returning no emails even when you have unread messages: Confirm the Gmail OAuth2 credential in node 3. Gmail — Fetch Unread Emails is connected and not expired — re-authorize if needed The filter fetches emails received after yesterdayISO — if your n8n instance timezone is set incorrectly, this window may shift unexpectedly Check that PASTE_YOUR_GMAIL_ADDRESS_HERE in node 2. Set — Config Values is replaced with your actual Gmail address Google Calendar returning no events: Confirm the Google Calendar OAuth2 credential in node 4. Google Calendar — Fetch Today and Tomorrow is connected with the same Google account that owns the calendar The step fetches from the primary calendar — if your events are on a different calendar (e.g. a work calendar with a different email), you need to change the calendar ID in the step Check that your calendar events have dates that fall within today or tomorrow relative to your n8n server's timezone OpenAI not generating the brief: Confirm the API key is connected in node 7. OpenAI — GPT-4o-mini Model and your account has available credits If the brief arrives as the fallback message ("Your brief could not be generated"), check the execution log of node 6. AI Agent — Write Morning Brief for the raw error Temperature 0.4 and 600 max tokens are set by design — do not reduce max tokens below 400 or the brief may be cut off mid-section Telegram message not arriving: Confirm the Telegram Bot credential in node 9. Telegram — Send Morning Brief is connected with a valid bot token from @BotFather Confirm PASTE_YOUR_TELEGRAM_CHAT_ID_HERE in node 2. Set — Config Values is replaced with your numeric chat ID from @userinfobot You must send /start to your bot in Telegram before the first message can be delivered — bots cannot initiate conversations without this activation step Support Need help setting this up or want a custom version built for your team or agency? 📧 Email: info@isawow.com 🌐 Website: https://isawow.com/
by Oneclick AI Squad
This workflow provides personalized travel destination recommendations by analyzing past trip history, user preferences, travel behavior patterns, and current trends. It uses Claude AI to generate intelligent, context-aware suggestions tailored to each traveler. How it works Receive Trip Request - Webhook captures user query with preferences and constraints Validate Input - Checks required fields, normalizes data, calculates user profile metrics Fetch Travel History - Retrieves past trips, ratings, and behavioral data from Google Sheets Analyze Patterns - Identifies travel patterns, preferred destinations, seasonal preferences Claude AI Recommendation - Generates personalized destination suggestions with reasoning Enrich with Live Data - Adds current weather, events, flight prices (optional) Store Recommendation - Saves suggestion to database with full context Send Personalized Response - Delivers recommendations via email or API response Daily Batch Updates - Scheduled job to refresh recommendations for all active users Trend Analysis - Weekly reports on popular destinations and emerging trends Setup Steps Import workflow into n8n Configure credentials: Anthropic API - Claude AI for recommendation engine Google Sheets - Trip history and user profiles SMTP / Gmail - Email notifications Weather API (optional) - Real-time weather data Flight API (optional) - Price comparisons Create Google Sheets with tabs: user_profiles - User data and preferences trip_history - Past trip records recommendations - Generated suggestions analytics - Trend analysis logs Set your API keys and sheet IDs in the configuration nodes Activate both webhook and scheduled workflows Sample Trip Request Payload { "userId": "USER-2025-1234", "userName": "Sarah Johnson", "userEmail": "sarah.j@example.com", "preferences": { "budget": "moderate", "travelStyle": "adventure", "interests": ["hiking", "local cuisine", "cultural sites"], "climate": "warm", "duration": "7-10 days", "travelMonth": "June" }, "constraints": { "maxBudget": 3000, "departureCity": "San Francisco", "companions": "solo", "accessibility": "none" }, "excludeRegions": ["visited_recently"], "prioritize": "unique_experiences" } Features AI-Powered Personalization** - Claude analyzes patterns and generates unique suggestions Behavioral Learning** - Improves over time based on trip ratings and feedback Real-Time Data Integration** - Weather, events, and pricing for recommended destinations Budget Optimization** - Suggests best value destinations within user budget Seasonal Intelligence** - Recommends optimal travel timing Trend Detection** - Identifies emerging destinations before they get crowded Multi-Factor Scoring** - Balances preferences, budget, timing, and uniqueness
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 ueharayuuki
This workflow provides a comprehensive weather reporting system with two main functionalities: a scheduled daily summary and an interactive AI agent for dynamic queries. Who's it for? This template is ideal for anyone who wants to stay updated on the weather, from individuals planning their day to teams needing automated daily briefings. It's also a great example for developers and n8n users who want to explore the capabilities of AI Agents and integrating external APIs in their workflows. What it does / How it works This workflow operates in two distinct modes: Scheduled Daily Summary: The workflow triggers automatically every day at 9:00 AM (customizable) or can be run manually. It fetches the latest weather data for a specified location (default is near Chiba, Japan) from the Open-Meteo API. It then formats a message with the day's maximum and minimum temperatures. Finally, it sends this summary to a designated Gmail address and a Slack channel. AI-Powered Forecasts via Chat: When you send a message to the Chat Trigger webhook, it activates the AI Agent. The AI Agent, powered by an OpenAI model, understands natural language questions like "What's the humidity right now?" or "Will it be warmer tomorrow?". The agent uses an HTTP Request tool to fetch real-time, specific data from the weather API to answer your question. The generated answer is then sent back to you via both Gmail and Slack. How to set up Configure Credentials: Add your credentials for OpenAI, Gmail, and Slack in the credentials menu. Set Your Location: In the Fetch Weather Data and HTTP Request Tool for AI nodes, update the latitude and longitude in the URL to your desired location. Update Email and Slack: In the Send Email Summary and Send AI Response via Email nodes, change the recipient email address to your own. In the Send Slack Summary and Send AI Response via Slack nodes, select your desired Slack channel. Adjust the Schedule: Modify the Schedule Trigger node to change the time or frequency of the daily summary. Activate the Workflow: Click the "Active" toggle in the top-right corner to enable the workflow. How to customize the workflow Change the Message:** You can easily customize the notification message in the Format Daily Summary node (for the summary) and in the Send... nodes for both flows. Add More Data:** The Open-Meteo API provides a wealth of data. You can fetch additional information like precipitation, wind speed, or UV index by modifying the URL in the HTTP Request nodes. Integrate Other Services:** Add other notification nodes like Discord, Telegram, or Microsoft Teams to send the weather reports to more platforms.
by Kumar SmartFlow Craft
🚀 How it works Runs daily at 06:00 UTC, pulls every Shopify product variant's stock level, calculates real sales velocity from the last 7 days of orders, then uses GPT-4o to predict stockout dates and decide whether to reorder — automatically. 🛍️ Fetches all Shopify product variants and current inventory quantities 📦 Pulls the last 7 days of orders and computes units sold per variant ⚡ Calculates sales velocity (units/day) and estimated days until stockout 🤖 AI Agent classifies risk: critical / high / medium / low and recommends reorder quantity (30-day demand + 20% safety buffer) 📧 Sends a formatted reorder request email to your supplier for high-risk variants 📊 Logs every decision (reordered or skipped) to Google Sheets for inventory tracking 🛠️ Set up steps Estimated setup time: ~15 minutes Shopify — create a Custom App in your Shopify Admin → Apps → Develop Apps; enable read_products and read_orders scopes; copy the Admin API Access Token OpenAI — connect your OpenAI API credential (GPT-4o) Gmail — connect Gmail OAuth2; replace supplier@example.com with your real supplier address Google Sheets — connect Google Sheets OAuth2; replace YOUR_REORDER_LOG_SHEET_ID with your sheet ID; create a sheet tab named Reorder Log Follow the sticky notes inside the workflow for per-node guidance 📋 Prerequisites Shopify store (any plan with Admin API access) OpenAI API key Gmail account for supplier notifications Google Sheets for reorder log Custom Workflow Request with Personal Dashboard kumar@smartflowcraft.com https://www.smartflowcraft.com/contact More free templates https://www.smartflowcraft.com/n8n-templates
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 Deniz
Good to know: The workflow runs every hour with a randomized delay of 5–20 minutes to help distribute load. It records the exact date and time a lead is emailed so you can track outreach. Follow-ups are automatically scheduled two days after the initial email. How it works: After apify completes, the JSON data is retrieved and inserted into the proper JSON node (only the JSON is removed — nothing else). The agent then runs on its own, parsing the data and pushing it to Google Sheets. When a lead is emailed, the system tags it with the date and time for tracking. Two days later the workflow automatically triggers a follow-up, again on an hourly schedule with the same time delay. How to use: Start by connecting your apify account to retrieve data. Place the returned JSON into the designated JSON node. Configure your Google Sheet where the data will be stored. Adjust the time delay window or follow-up period if needed. Insert your email credentials and the message. Requirements: Apify account with active leads/data. Google Sheet for storing and managing parsed lead information. n8n credentials configured for your accounts. email credentials Customising this workflow: You can easily extend this template to include other CRMs, different time delays, or additional notification steps. For example, push new leads to Slack, send SMS notifications, or trigger downstream analytics dashboards automatically.
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."
by Trung Tran
SmartSupport Flow: Auto-Handle IT Requests from Email to JIRA with Slack notification Watch the demo video below: Who’s it for > This workflow is built for lean IT teams, office managers, and business operators who receive support requests via email and want to automate ticket creation, smart AI resolution advice, and seamless communication with both users and internal teams, all without lifting a finger. If your team is tired of manually triaging inbox requests, this AI-powered flow will transform your support handling process. How it works / What it does Trigger on New Email: Uses Gmail Trigger to detect new support request emails. Fetch Email Content: Retrieves the full message body and metadata. Check for Duplication: Skips processing if the email has already been handled (based on READ/UNREAD label). Mark as Read: Updates Gmail to mark the email as processed. Extract Structured Request: Uses the Support Request Reader Agent powered by OpenAI to extract: Request title Request description Requested by Department Category and priority Create Jira Ticket: A main issue is created in Jira using the structured request. Generate AI-Based Solution: Invokes the IT Support Advisor Agent to propose resolution(s). Post Comment to Jira: Adds the suggested solution(s) to the issue as a comment. Notify IT Team: Sends the ticket and context to a Slack channel for visibility and action. (Optional) Send Email to Requester: Currently deactivated. Can be enabled to acknowledge receipt. How to set up Gmail Integration Connect Gmail in the “Gmail Trigger” and “Get Email Content” nodes. OpenAI Configuration Use OpenAI API credentials in both the Reader and Advisor agent models. Jira Integration Authenticate your Jira account. Set project key and issue fields in the “Create Main Issue” node. Slack Notification Configure Slack connection and select a target channel. Set up Jira, Slack, Email Set your company Jira based URL, IT Support slack channel and IT Support email in the Edit Fields (Set) node (Optional) Email Acknowledgment Provide SendGrid credentials and email template in the “Send email to requester” node if re-enabled. Requirements Gmail API access with appropriate permissions OpenAI account with API access (for GPT-4 or GPT-3.5) Jira instance with project and permission to create/comment on issues Slack workspace and Webhook or OAuth setup n8n instance running with all above integrations configured How to customize the workflow Enhance Email Deduplication**: Adjust the deduplication logic to use message-id, threadId, or custom headers. Expand Reader Agent**: Configure the LLM to extract more details such as asset tags, urgency levels, or locations. Tailor Advisor Agent**: Adjust prompt to generate multiple solutions, troubleshooting guides, or internal references. Routing by Department**: Add logic to forward requests to different teams based on the request category or department. Enable Email Acknowledgment**: Activate and customize the email notification step to inform requesters that their issue is being handled.
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 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**.