# DM Calendly demo bookings on Messenger and log to Sheets

> The second someone books on Calendly, tag them in Manychat, send a warm Messenger prep note that mentions their meeting time, and log the booking to Sheets.

- Workflow type: agent
- Services: Calendly, Manychat, Google Sheets
- Categories: Sales, Marketing
- Published: 2026-07-02

## What it does

- Kicks in the instant a new Calendly booking lands, so the prep touch happens while your brand is still top of mind.
- Finds the same person in Manychat by email, tags them as a booked demo, and sends a warm Messenger DM that references their meeting time, host, and one detail from their booking answers.
- Logs every booking to a Demo Pipeline sheet with name, email, event type, scheduled time, and whether the Messenger DM went out.
- Skips the DM cleanly when there is no matching Messenger contact, still logs the row, and never messages anyone whose event was already canceled.

## What you'll need

- A Calendly account with permission to send outgoing webhooks when a new invitee is created.
- A Manychat account with an API key, so the workflow can find your Messenger subscribers and DM them.
- A Google account with edit access to the Google Sheet you want to log bookings to.
- A Google Sheet ready to receive the log rows, with a tab like Demo Pipeline.

## Prompt

Build an agent workflow that turns every new Calendly booking into a Messenger prep touch instead of another no-show. Trigger on the Calendly outgoing webhook for invitee.created.

When the webhook fires, read the invitee payload from Calendly. I need the invitee name, email, meeting start time in the invitee's timezone, the event type name, the host name, any answers the invitee gave to custom booking questions, and whether the event is still active. If the payload does not already contain everything, use Calendly Get Event Invitee and Get Scheduled Event to fill in what's missing. If the event status is canceled, stop the run cleanly. Do not tag, do not DM, do not log.

Next, look up the invitee in Manychat. Use Manychat Find Subscriber by System Field with the invitee's email. If no subscriber comes back, skip the Manychat steps entirely but still continue to the Sheets log. Do not create a new subscriber. Do not fall back to another Manychat lookup.

If a Manychat subscriber does exist, do two things. First, use Add Tag to Subscriber by Name to tag them booked-demo and also add a second tag that matches the event type name (for example demo-30min). Second, use Send Content to DM them a short, warm prep note in Dynamic Block v2 format. The DM should greet them by first name, name the host, restate the meeting time in their timezone in a human-friendly way, reference one specific detail they wrote in their booking answers so it does not feel like a template, and end with a one-tap button that links to their Calendly reschedule URL labeled Need to reschedule.

Finally, append one row to a Google Sheet called Demo Pipeline using Google Sheets Append Values. Columns: invitee name, invitee email, event type, scheduled time (invitee timezone), host, Manychat DM sent (true or false), and booking created timestamp. Log the row whether or not the DM was sent, so the sheet is a single source of truth for every booking that hit the system.

Guardrails: never message anyone whose event is canceled, never message anyone who is not already a Manychat subscriber, and never send more than one DM per invitee.created event. The Messenger prep DM is the whole point of this workflow. That is the touch that moves the attendance rate, so keep it warm, specific, and short.

## How to customize

- Change the tags: swap booked-demo for whatever your team uses, and decide whether you want a per-event-type tag too.
- Rewrite the DM tone: keep it warm and casual, or make it terse and business-y. You can also swap the reschedule link for a prep doc link.
- Point the log at a different sheet, add columns like source or rep owner, or split the sheet into one tab per event type.

## FAQ

### Will this DM people who did not opt in to Messenger?

No. It only messages people who already exist as a Manychat subscriber matched by their booking email. If they never messaged your page, they will not get a DM and the workflow just logs the row.

### What happens if someone books and then cancels right away?

The workflow checks whether the event is still active before sending. Canceled bookings are skipped so nobody gets a prep note for a meeting that is not happening.

### Do I have to use Facebook Messenger, or does this work for Instagram DMs too?

Manychat handles both. If the subscriber is on Instagram or WhatsApp inside your Manychat account, the DM will route to whichever channel Manychat has for them.

### Can I personalize the DM using answers from the Calendly booking form?

Yes. The agent reads the invitee payload, including any custom questions they answered at booking, and weaves one specific detail into the DM so it does not feel like a template.

### What if I do not want to log every booking to Sheets?

You can turn the Sheets step off and the workflow will still do the tag plus DM. Most teams keep it on because it doubles as a demo pipeline that any team member can open.

Use this prompt in General Input: https://www.generalinput.com/prompts/dm-calendly-demo-bookings-on-messenger-and-log-to-sheets