All Templates
Revenue Operations • Intermediate • 1 n8n workflow

Missed Demo Follow-Up System

Check Zoom attendance for a Calendly invitee. The workflow logs confirmed attendance, sends incomplete evidence to a review queue, and can prepare a Gmail rescheduling draft only for a verified no-show.

By Luka Salagishvili at Uptune

Last updated:

0

One system, 1 connected workflow

Start with the complete package and setup directions. The preview below shows the entry workflow. Import every listed workflow separately, then connect their references in your n8n instance.

Get the workflow Read the setup directions

Entry workflow preview

Powered by n8n.io

Read the architecture, decision rules, and exception handling in the source blueprint .

Continue with the related architecture guide .

How it works

What this workflow does

Check whether the invitee joined a completed demo, then give the rep a safe next step. An authenticated webhook receives the normalized booking details, reads the Zoom participant report, and classifies attendance as attended, needs_review, or no_show. Confirmed attendance is logged, incomplete evidence goes to the review queue, and an optional Gmail rescheduling draft is prepared only for a verified no-show.

The workflow imports inactive with dryRun: true. Run with sample data uses a fictional booking and host-only Zoom report, so the preview does not call Zoom, Gmail, or the Data Table.

This is the attendance-verification layer for the Meeting Lifecycle & Outcome Verification blueprint; the Intelligent Lead Routing & Response blueprint covers how the meeting was booked.

Do not guess a no-show

Classify attendance treats the invitee as attended when the booking email appears in the Zoom participant report. Otherwise, it requires all of the following before calling the booking a no-show:

  • The report has no additional pages.
  • The expected host appears in the report.
  • Every participant email is usable.
  • verifiedZoomIdentityRequired is enabled.

A host-only report is therefore needs_review by default. Missing identities, masked emails, pagination, or a missing host stay visible in the Data Table instead of triggering a rescheduling message.

The Zoom request uses the occurrence UUID, including double-encoding for recurring meeting links. The workflow enforces a configurable report delay (20 minutes by default) so the participant report has time to finalize. An unavailable report fails the execution so the trusted relay can retry later.

Draft only after evidence

Each booking is recorded in the Data Table by event_key. A duplicate booking stops the run. When createGmailDraft is true and the result is a verified no_show, the workflow reserves draft_pending, creates an addressed Gmail draft with an optional Calendly rescheduling URL, verifies the returned draft ID, and records draft_ready. If a draft response is lost, inspect Gmail before releasing the booking for a retry.

Validation scope

The supplied report confirms the isolated n8n 2.47.4 import, inactive state, and sample path. It also covers structural checks, exact attendance matching, host-only reports, missing identities, paginated reports, report delay, and draft opt-in behavior. Live Zoom, Gmail, and Data Table calls require a staging test with your accounts.

How to use

Before you start

  • A current n8n instance with Data Table support.
  • Zoom OAuth access to read meeting participant reports for the meeting hosts.
  • A Gmail OAuth account for the rep who will review the rescheduling draft.
  • A trusted Calendly/Zoom relay that sends the completed-booking event after the report is ready.

1. Import and run the sample

Download the complete package, extract the ZIP, and read the full setup guide. Import missed-demo-follow-up.n8n.json and keep it inactive.

Open Run with sample data and choose Test workflow. Classify attendance should return the sample result with its review reason.

2. Create the state table

Create an n8n Data Table with text columns event_key, status, detail, and result_id. Enter its ID in Setup. The workflow uses the booking ID as event_key, the attendance status, the review reason, and the Gmail draft ID.

3. Configure the workflow

Set reportDelayMinutes (5 to 1,440), an optional bookingUrl using a https://calendly.com/... scheduling URL, and keep both createGmailDraft and verifiedZoomIdentityRequired false for the first connected test.

Connect Zoom OAuth2 API on Read Zoom attendance. Select the rep's Gmail OAuth2 account on Create Gmail rescheduling draft. Add a private Header Auth credential to Receive event.

4. Send a completed booking

From the trusted relay, submit bookingId, meetingUuid, endedAt, inviteeEmail, inviteeName, and hostEmail. Use the Zoom occurrence UUID, including for recurring meeting links, and submit only once the report delay has passed. The webhook acknowledges receipt; the Data Table shows the outcome.

Use the supplied test payloads for a completed booking, a host-only report, an attended report, and an ambiguous report.

5. Test and enable drafts

Test a verified host-only meeting, a meeting with the invitee, and a report with masked emails. Enable verifiedZoomIdentityRequired only when your Zoom setup consistently requires attendees to join with the address used to book. Enable createGmailDraft only after the attendance results match how your meetings are authenticated.

Review records marked needs_review in the Data Table. Serialize submissions for the same booking ID. If a draft attempt stops at draft_pending, inspect Gmail before releasing that booking for a retry.

Use the Calendly Booking Sync System to record the original booking, and the Sales-Call Follow-Up Draft System when the demo does happen. The Sales Objection Coaching System turns the transcript into coaching notes. Read the Meeting Lifecycle & Outcome Verification blueprint for the wider meeting process.

Use the AI Inbound Lead Routing & Sales Follow-Up System for the original inquiry and first response.

By Luka Salagishvili at Uptune

Luka shares practical workflow templates and automation guides at Uptune, covering connected business tools, implementation steps, and testing before launch.

Luka on LinkedIn · Book a consultation

Get the complete automation system

Download the workflow and the supporting files together. Extract the ZIP, then import the workflow JSON listed below separately. Configuration, source code, and other supporting files are not n8n workflow imports.

Download complete package (ZIP)

1 connected n8n workflow

It imports inactive. Follow the package setup directions before activating schedules or delivery.

  1. Missed demo attendance and follow-up workflow

    One authenticated webhook checks the Zoom participant report for a completed Calendly booking, classifies attendance with explicit review reasons, and optionally saves a Gmail rescheduling draft for a verified no-show.

    missed-demo-follow-up.n8n.json
    Download workflow 01

Setup, integration, and validation files

  • Complete setup guide

    Data Table state, Zoom OAuth access, report timing, identity policy, Gmail draft opt-in, and review handling.

    README.md
  • Test payloads

    A completed booking, host-only and attended Zoom reports, and an ambiguous report with a missing participant email.

    test-payloads.json
  • Supplied validation report

    Isolated n8n 2.47.4 import, sample-path result, structural checks, and file hashes. Live provider authentication and calls were not executed.

    validation-report.txt