Calendly no-show recovery sequence at 6pm

Every weekday evening, find every Calendly meeting that ended in a no-show, send a tactful re-engagement email, and log the follow-up in HubSpot.

Agentic Task
CalendlyHubSpotGmailSalesOperationsMeeting WorkflowsEmail AutomationLead Enrichment

Build me an agent workflow that runs on a cron schedule every weekday at 6:00pm America/New_York and recovers every Calendly meeting that ended in a no-show today.

Step 1 (Calendly): Use List Scheduled Events to fetch every event for our Calendly user/organization whose start_time falls between today 00:00 and now in America/New_York, with status=active or completed. For each event, call List Event Invitees. For any invitee whose no_show field is set (or is referenced by a no-show URI), call Get Invitee No-Show to confirm and capture the no-show record. Build a working list of {event, invitee, event_type_name, scheduled_start_time, owner_email, no_show_record}.

Step 2 (quarter cap): Before acting on each no-show, count how many times this same invitee email has been marked no-show in Calendly during the current calendar quarter (use List Scheduled Events over the quarter window, then List Event Invitees / Get Invitee No-Show as needed, or cache counts within the run). If the count is greater than 2, skip this person entirely and record the skip in the run summary.

Step 3 (HubSpot lookup): For each remaining no-show, call HubSpot Search Contacts filtered by email equals the invitee's email. If a contact is found, fetch their lifecycle stage and use HubSpot Search Deals filtered by associated contact id and an open/non-closed deal stage to find any open deals plus the deal owner. If the contact is not found, continue to step 4 with just the Calendly details and skip the HubSpot logging in step 5.

Step 4 (Gmail re-engagement email): Draft a short, human-sounding re-engagement email from the meeting owner's Gmail account to the invitee. Reference the specific event type they booked (for example, "our intro call" or the actual event type name), acknowledge the missed time without guilt-tripping, and offer a fresh Calendly booking link to the same event type. Vary the wording per send so it does not feel templated. Send it via Gmail Send a Message with the meeting owner as the From, the invitee as the To, and a clear subject like "Sorry we missed you, want to grab another time?". Capture the sent message id and subject.

Step 5 (HubSpot logging): If a HubSpot contact exists, call Create Note associated with that contact summarizing: the missed event type, scheduled start time, that the invitee was marked no-show, and that a recovery email was sent (include subject and timestamp). If the contact has at least one open deal, also call Create Task associated with the contact and the deal: assign it to the deal owner (fall back to the meeting owner), set the subject to something like "Follow up on no-show: <invitee name>", set due date to 3 business days from now, and priority HIGH.

Step 6 (run summary): At the end of the run, log a structured summary with: total no-shows found, emails sent, contacts noted, tasks created, and people skipped due to the quarterly cap or missing data. If zero no-shows were found, exit cleanly without sending anything.

Inputs to expose as configurable: Calendly user/organization URI, the Calendly event type / scheduling URL to use as the fresh booking link, default Gmail sender (the meeting owner) and signature, the no-show cap per quarter (default 2), the follow-up task delay in business days (default 3), and the run time and time zone.

Be tactful in the email copy: no guilt, no aggressive sales push, just a warm one-liner offering a new time. Never email anyone who is over the quarterly cap. Never create a HubSpot task when there is no open deal.

Additional information

What does this prompt do?
  • Pulls every Calendly meeting that ended today and finds the invitees flagged as no-shows.
  • Looks each person up in HubSpot to grab their lifecycle stage and any open deals before doing anything.
  • Drafts and sends a human-sounding re-engagement email from Gmail with a fresh booking link.
  • Logs a note on the contact summarizing the miss and creates a 3-day follow-up task for the meeting owner when an open deal exists.
  • Skips anyone who has already no-showed more than twice this quarter so you do not nag repeat offenders.
What do I need to use this?
  • A Calendly account where you mark no-shows after meetings.
  • A HubSpot login with access to your contacts, deals, notes, and tasks.
  • A Gmail account that should send the recovery emails.
  • A short fresh booking link or event type you want to offer in the email.
How can I customize it?
  • Change the run time, time zone, or weekday schedule (for example, run at 7pm PT or include Saturdays).
  • Adjust the no-show cap (default is more than twice this quarter) or change the lookback window.
  • Tweak the email tone, subject line, signature, or which Calendly event type the booking link points to.
  • Change the follow-up task delay (default 3 days) or only create tasks for deals above a certain stage or amount.

Frequently asked questions

Will this work if I forget to mark someone as a no-show in Calendly?
No. The workflow only acts on invitees that have an explicit no-show record on the event. Make marking no-shows part of your post-meeting habit, or have your assistant do it before 6pm.
What if the no-show is not in our HubSpot?
The agent still sends the recovery email using the Calendly invitee details, but it skips the note and follow-up task because there is no contact to attach them to. You can change this to create a new contact instead.
Can I use Outlook instead of Gmail?
This template is wired for Gmail. If your team sends from Outlook, ask the workflow to swap Gmail for Outlook when you generate it. The rest of the logic stays the same.
How does the agent decide who to skip?
Before drafting an email, it counts how many times each contact has been marked no-show in Calendly during the current quarter. Anyone above the threshold (default: more than two) is skipped and noted internally.
Does this reschedule the meeting automatically?
No. It sends a tactful nudge with a fresh Calendly link so the invitee picks a new time themselves. That keeps the tone human and avoids double-booking your calendar.

Stop letting no-shows quietly kill pipeline.

Connect Calendly, HubSpot, and Gmail once, and Geni runs this every weekday at 6pm so every missed meeting gets one warm, well-timed second chance.