No-show and cancellation recovery desk for Calendly

Work through last week's missed and canceled meetings one at a time, flag who really ghosted, and send a fresh booking link only when you decide to.

App
CalendlyGmailHubSpotSalesMeeting WorkflowsEmail Automation
PromptCreate

Build me a recovery desk app where I work through last week's damaged meetings one case at a time and decide each one myself. This is not a scheduled sequence and it must never fire an automated blast: I open the app, look at each row, and choose what happens. Nothing is sent without me clicking send.

The main view is a single queue of past and canceled meetings from the last seven days, with the lookback window adjustable in the UI. Build the queue with Calendly List Scheduled Events. Because that operation filters by status, pull it twice: once for canceled events, and once for active events whose end time is already in the past, since a completed meeting is where a no-show actually lives. For every event in both sets, call Calendly List Event Invitees to get the people, and Calendly Get Invitee No-Show to resolve the attendance record for any invitee that carries one.

Each row shows the invitee name and email, the host, the event type, the scheduled start time, whether the meeting was canceled or simply missed, the cancellation reason and who canceled when there is one, and a clear badge if the invitee is already flagged as absent in Calendly.

Next to every invitee, show a repeat offender count: how many times that email address has canceled or been flagged absent across all history, not just the current window. Key this on the invitee email, because Calendly has no cross-event person record that links someone across separate bookings. Make the count visually loud once it reaches three so I can decide to stop chasing that person.

Give each row these actions. Mark the invitee absent with Calendly Mark Invitee as No-Show, and undo a flag I set wrongly with Calendly Delete Invitee No-Show, so the row toggles both ways and reflects the real state in Calendly after the write. Generate a fresh booking link with Calendly Create Single-Use Scheduling Link against the same event type they missed. Then open a short recovery email in a composer with that link already pasted into the body and the invitee in the To field. The draft is fully editable, and it only goes out through Gmail Send a Message when I click send on that row.

When I send a recovery email, log the attempt in the CRM. Find the person with HubSpot Search Contacts by their email address, then write the attempt with HubSpot Create Note associated to that contact, recording what they missed, the date, and that a rebooking link was sent. If no contact matches, say so on the row and skip the note rather than failing the send.

Every row carries a status of untouched, rebooking sent, or written off. Store that status in the app so it persists between sessions and I can close the tab and come back to a half-worked queue. Sending a recovery email moves a row to rebooking sent automatically, and I can set written off by hand on anyone not worth another attempt.

Add filters for host and for event type at the top of the queue, so a manager can narrow the list to one person and hand them their own queue. Show a small summary of how many rows are untouched versus handled so I know when I am done for the week.

What does this prompt do?

  • Builds a working queue of last week's canceled and missed meetings, one row per invitee, showing the host, the meeting type, the reason they gave when they canceled, and whether they are already flagged as absent.
  • Lets you mark someone absent in Calendly, or clear a flag you set by mistake, from the same screen instead of opening every booking one at a time.
  • Counts how many times each email address has canceled or ghosted across your whole booking history, so you can stop chasing someone who has burned you three times.
  • Generates a fresh single-use booking link, drafts a short recovery email with the link already in it, and logs the attempt as a note on the matching HubSpot contact.

What do I need to use this?

  • A Calendly account connected with permission to view your meetings and update attendance flags
  • Event types you are happy for people to rebook into
  • A Gmail account to send the recovery emails from
  • A HubSpot login if you want each attempt logged against the contact record

How can I customize it?

  • Change the lookback window from last week to whatever period you actually review, such as the last two weeks or month to date.
  • Reword the recovery email template and set the number of misses that earns someone a repeat offender warning.
  • Filter the queue down to a single host or meeting type so a manager can hand one rep their own list.

FAQs

Will this email anyone automatically?
No. Every email is a draft you read and edit first, and nothing leaves your account until you click send on that specific row. The app has no schedule and never runs on its own.
How is this different from an automatic no-show follow-up sequence?
An automatic sequence runs on a timer and emails every person who missed a meeting, whether they deserve a second chance or not. This is the opposite: a review desk where you look at each case, decide if it was really a no-show, and choose who is worth chasing.
Does marking someone absent here actually update Calendly?
Yes. The flag is written onto the booking in Calendly itself, the same flag you would set by hand in their interface, and you can clear it again from the same row if you flagged the wrong person.
How does it know someone has ghosted three times?
It counts by email address across your booking history, because Calendly does not keep one person record that links a contact across separate meetings. Anyone who books under two different addresses will be counted as two people.
Can a manager hand one rep just their own queue?
Yes. Filter by host and by meeting type, and the queue narrows to that person's damaged meetings so they can work through their own list.
What happens if the person is not in HubSpot?
The row tells you no matching contact was found and simply skips the note. You can still mark the no-show, generate the link, and send the recovery email.

Related templates

Prospecting desk that builds account lists from the live web

Stop buying stale lists. Reps run a saved search, work the results like an inbox, and only the accounts they approve ever reach your CRM.

Hyperbrowser
HubSpot
Google Sheets
App
Plan a field sales day around drive time and neglected accounts

Pick a date, a starting point and a radius, then build a sequenced day of customer visits that lands straight on your calendar.

Geolocation
HubSpot
Google Calendar
App
Find ICP accounts, verify the emails, file them in HubSpot

One screen where reps filter for companies that fit, see who is actually reachable at each account, and save only the addresses that verify.

Hunter
HubSpot
App
Compare every Hireflix candidate for a role side by side

A calibration board that lines up every candidate's answer to the same question, hides names until your panel has scored, and writes the agreed rating back.

Hireflix
Gmail
App
Build a PR media list from real worldwide news coverage

Search three months of global coverage on your topic, rank the outlets actually writing about it, and draft a tailored pitch for each one.

GDELT
Google Sheets
Gmail
App
Morning review board for your open Housecall Pro quotes

Open one board every morning to see every outstanding quote by age and value, decide on each one, and send follow-ups only after you approve them.

Housecall Pro
Gmail
App

Stop letting no-shows quietly disappear.

Turn last week's canceled and missed meetings into a short list you actually work through, one decision at a time.