Back to Catalog

Recover missed demos with Calendly, Zoom & AI-generated follow-ups

Connor ProvinesConnor Provines
60 views
2/3/2026
Official Page

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:

  1. Booking capture: Calendly webhook fires when a demo is scheduled, extracting Zoom meeting details and attendee information
  2. Meeting monitoring: When the Zoom meeting ends, a second webhook triggers attendance verification by pulling the participant list from Zoom's API
  3. No-show identification: Workflow cross-references the expected attendee email with actual Zoom participants to confirm whether they attended
  4. Automated response: For confirmed no-shows, AI generates personalized recovery messages while the system updates your database and notifies your team via Slack
  5. 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.

Recover Missed Demos with Calendly, Zoom, and AI-Generated Follow-ups

This n8n workflow automates the process of identifying and following up with leads who have missed their scheduled demos. It leverages a combination of webhooks, AI for personalized messaging, and CRM integration to ensure no lead falls through the cracks.

What it does

This workflow streamlines the recovery of missed demos by:

  1. Receiving Missed Demo Notifications: It listens for incoming webhook requests, likely triggered by a scheduling tool (e.g., Calendly) or a video conferencing platform (e.g., Zoom) when a demo is marked as "missed" or "no-show".
  2. Generating Personalized Follow-up Emails: It uses OpenAI to generate a tailored follow-up email, ensuring the message is relevant and engaging.
  3. Sending Follow-up Emails: The generated email is sent to the missed demo attendee.
  4. Notifying Internal Teams: It posts a message to a Slack channel, informing the relevant team about the missed demo and the automated follow-up.
  5. Updating CRM (HubSpot): It updates the lead's record in HubSpot, marking the demo as missed and potentially adding a note about the follow-up email sent.
  6. Responding to the Webhook: It provides a response back to the originating webhook, acknowledging receipt and processing.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running instance of n8n.
  • Webhook Source: A system (e.g., Calendly, Zoom, or a custom application) configured to send webhook notifications for missed demos.
  • OpenAI API Key: An OpenAI account with an API key for generating AI-powered email content.
  • SMTP Credentials: An email account configured for sending emails via SMTP.
  • Slack Account: A Slack workspace and an API token or webhook URL for posting messages.
  • HubSpot Account: A HubSpot account with API access for updating contact records.

Setup/Usage

  1. Import the Workflow: Import the provided JSON into your n8n instance.
  2. Configure Webhook:
    • Locate the "Webhook" trigger node.
    • Copy the generated webhook URL.
    • Configure your scheduling or video conferencing platform (e.g., Calendly, Zoom) to send a POST request to this URL whenever a demo is missed or marked as a no-show. Ensure the webhook payload includes necessary information like the attendee's name, email, and demo details.
  3. Configure Credentials:
    • OpenAI: Set up your OpenAI credential with your API key.
    • Send Email: Configure your SMTP credentials for sending emails.
    • Slack: Set up your Slack credential (e.g., OAuth or Webhook).
    • HubSpot: Set up your HubSpot credential.
  4. Customize Nodes:
    • Code: Review and adjust the JavaScript code in the "Code" node to extract and format data from your incoming webhook payload as needed for subsequent nodes.
    • OpenAI: Customize the prompt in the "OpenAI" node to generate the desired tone and content for your follow-up emails.
    • Send Email: Adjust the email subject, sender, and recipient fields using expressions to dynamically pull data from previous nodes.
    • Slack: Customize the message content for your Slack notification.
    • HubSpot: Configure the "HubSpot" node to update the correct contact properties based on your HubSpot setup.
    • Filter: (Optional) If you need to filter missed demos based on specific criteria before processing, configure the "Filter" node accordingly.
  5. Activate the Workflow: Once all configurations are complete, activate the workflow.

Now, whenever a demo is missed and the webhook is triggered, the workflow will automatically send a personalized follow-up, notify your team, and update your CRM.

Related Templates

AI-powered code review with linting, red-marked corrections in Google Sheets & Slack

Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.

higashiyama By higashiyama
90

Track daily moods with AI analysis & reports using GPT-4o, Data Tables & Gmail

Track your daily mood in one tap and receive automated AI summaries of your emotional trends every week and month. Perfect for self-reflection, wellness tracking, or personal analytics. This workflow logs moods sent through a webhook (/mood) into Data Tables, analyzes them weekly and monthly with OpenAI (GPT-4o), and emails you clear summaries and actionable recommendations via Gmail. ⚙️ How It Works Webhook – Mood → Collects new entries (🙂, 😐, or 😩) plus an optional note. Set Mood Data → Adds date, hour, and note fields automatically. Insert Mood Row → Stores each record in a Data Table. Weekly Schedule (Sunday 20:00) → Aggregates the last 7 days and sends a summarized report. Monthly Schedule (Day 1 at 08:00) → Aggregates the last 30 days for a deeper AI analysis. OpenAI Analysis → Generates insights, patterns, and 3 actionable recommendations. Gmail → Sends the full report (chart + AI text) to your inbox. 📊 Example Auto-Email Weekly Mood Summary (last 7 days) 🙂 5 ██████████ 😐 2 ████ 😩 0 Average: 1.7 (Positive 🙂) AI Insights: You’re trending upward this week — notes show that exercise days improved mood. Try keeping short walks mid-week to stabilize energy. 🧩 Requirements n8n Data Tables enabled OpenAI credential (GPT-4o or GPT-4 Turbo) Gmail OAuth2 credential to send summaries 🔧 Setup Instructions Connect your credentials: Add your own OpenAI and Gmail OAuth2 credentials. Set your Data Table ID: Open the Insert Mood Row node and enter your own Data Table ID. Without this, new moods won’t be stored. Replace the email placeholder: In the Gmail nodes, replace your.email@example.com with your actual address. Deploy and run: Send a test POST request to /mood (e.g. { "mood": "🙂", "note": "productive day" }) to log your first entry. ⚠️ Before activating the workflow, ensure you have configured the Data Table ID in the “Insert Mood Row” node. 🧠 AI Analysis Interprets mood patterns using GPT-4o. Highlights trends, potential triggers, and suggests 3 specific actions. Runs automatically every week and month. 🔒 Security No personal data is exposed outside your n8n instance. Always remove or anonymize credential references before sharing publicly. 💡 Ideal For Personal mood journaling and AI feedback Therapists tracking client progress Productivity or self-quantification projects 🗒️ Sticky Notes Guide 🟡 Mood Logging Webhook POST /mood receives mood + optional note. ⚠️ Configure your own Data Table ID in the “Insert Mood Row” node before running. 🟢 Weekly Summary Runs every Sunday 20:00 → aggregates last 7 days → generates AI insights + emails report. 🔵 Monthly Summary Runs on Day 1 at 08:00 → aggregates last 30 days → creates monthly reflection. 🟣 AI Analysis Uses OpenAI GPT-4o to interpret trends and recommend actions. 🟠 Email Delivery Sends formatted summaries to your inbox automatically.

Jose CastilloBy Jose Castillo
105

IT ops AI SlackBot workflow - chat with your knowledge base

Video Demo: Click here to see a video of this workflow in action. Summary Description: The "IT Department Q&A Workflow" is designed to streamline and automate the process of handling IT-related inquiries from employees through Slack. When an employee sends a direct message (DM) to the IT department's Slack channel, the workflow is triggered. The initial step involves the "Receive DMs" node, which listens for new messages. Upon receiving a message, the workflow verifies the webhook by responding to Slack's challenge request, ensuring that the communication channel is active and secure. Once the webhook is verified, the workflow checks if the message sender is a bot using the "Check if Bot" node. If the sender is identified as a bot, the workflow terminates the process to avoid unnecessary actions. If the sender is a human, the workflow sends an acknowledgment message back to the user, confirming that their query is being processed. This is achieved through the "Send Initial Message" node, which posts a simple message like "On it!" to the user's Slack channel. The core functionality of the workflow is powered by the "AI Agent" node, which utilizes the OpenAI GPT-4 model to interpret and respond to the user's query. This AI-driven node processes the text of the received message, generating an appropriate response based on the context and information available. To maintain conversation context, the "Window Buffer Memory" node stores the last five messages from each user, ensuring that the AI agent can provide coherent and contextually relevant answers. Additionally, the workflow includes a custom Knowledge Base (KB) tool (see that tool template here) that integrates with the AI agent, allowing it to search the company's internal KB for relevant information. After generating the response, the workflow cleans up the initial acknowledgment message using the "Delete Initial Message" node to keep the conversation thread clean. Finally, the generated response is sent back to the user via the "Send Message" node, providing them with the information or assistance they requested. This workflow effectively automates the IT support process, reducing response times and improving efficiency. To quickly deploy the Knowledge Ninja app in Slack, use the app manifest below and don't forget to replace the two sample urls: { "display_information": { "name": "Knowledge Ninja", "description": "IT Department Q&A Workflow", "background_color": "005e5e" }, "features": { "bot_user": { "display_name": "IT Ops AI SlackBot Workflow", "always_online": true } }, "oauth_config": { "redirect_urls": [ "Replace everything inside the double quotes with your slack redirect oauth url, for example: https://n8n.domain.com/rest/oauth2-credential/callback" ], "scopes": { "user": [ "search:read" ], "bot": [ "chat:write", "chat:write.customize", "groups:history", "groups:read", "groups:write", "groups:write.invites", "groups:write.topic", "im:history", "im:read", "im:write", "mpim:history", "mpim:read", "mpim:write", "mpim:write.topic", "usergroups:read", "usergroups:write", "users:write", "channels:history" ] } }, "settings": { "event_subscriptions": { "request_url": "Replace everything inside the double quotes with your workflow webhook url, for example: https://n8n.domain.com/webhook/99db3e73-57d8-4107-ab02-5b7e713894ad", "bot_events": [ "message.im" ] }, "orgdeployenabled": false, "socketmodeenabled": false, "tokenrotationenabled": false } }

Angel MenendezBy Angel Menendez
39013