Send personalized Calendly follow-up emails from Granola notes

When a Granola meeting note lands, an agent matches the Calendly booking, weaves in the invitee's intake answers, and sends a personalized follow-up email.

Agentic Task
GranolaCalendlyGmailSalesPersonal ProductivityMeeting WorkflowsEmail AutomationContent Generation

Build me an agent workflow that sends a personalized follow-up email after every external Calendly meeting, using the meeting recap I get from Granola.

Trigger: poll Granola for new_note. Each fired event hands the agent a meeting note id.

What the agent should do, in order:

1. Pull the full Granola note with Get Note so it has the title, attendees, calendar event, summary, action items, decisions, and (if available) the transcript. If the note has no external attendees or no clear next steps, stop and do nothing. If the meeting looks purely internal (only same-domain attendees as me), stop and do nothing.

2. Find the matching Calendly booking. Call Calendly's List Scheduled Events with min_start_time and max_start_time set to a tight window (about 30 minutes before and after the Granola note's meeting start time) and a status of active. Pick the event whose name and start time best match the Granola note's title and timing. If nothing matches confidently, stop and do nothing.

3. Get the invitee. Call Calendly's List Event Invitees on the matched event, then call Get Event Invitee for full details on the primary invitee. Capture their name, email, timezone, and every question/answer pair they filled out when booking.

4. Write the follow-up email. It should: open with a warm, specific thank-you that references something concrete from the conversation (a quote, a commitment, or a topic from the Granola summary); recap the 2-4 most important points discussed; list next steps as a clean bulleted list with owners and dates pulled from the action items; explicitly answer any open questions the invitee raised on the Calendly booking form or during the meeting; close with a clear next touchpoint. Match my voice: warm, direct, no corporate filler, no em dashes.

5. Send it. Default behavior is to call Gmail Send a Message to the invitee's email with a subject like "Follow-up from our {meeting topic} call" and the body composed above. If I tell you I want a review step, call Gmail Create a Draft instead so I can read it before sending.

Guardrails: never send if the invitee email is missing, never send if the Granola note has fewer than two action items or decisions, never invent commitments that are not in the note, and never include the raw transcript in the email. If the agent skips a meeting, log a one-line reason so I can see why.

Inputs I can configure: my Gmail send-from address, send vs. draft mode, an optional CC list, a signature block, and a list of internal email domains that should always be treated as internal.

Additional information

What does this prompt do?
  • Watches Granola for new meeting notes and only acts on calls with an external invitee booked through Calendly.
  • Matches the meeting to the right Calendly booking and pulls the invitee's name, email, and the answers they gave on your booking form.
  • Drafts a warm, specific follow-up email that recaps what was discussed, lists next steps with owners and dates, and answers any open questions the invitee raised.
  • Sends the email through your Gmail account, or drops it into Gmail drafts when you want a quick review before it goes out.
What do I need to use this?
  • A Granola account with meeting notes turned on for your calls
  • A Calendly account that hosts the bookings you want followed up
  • A Gmail account you want the follow-ups sent from
  • A clear preference for whether the agent should send automatically or save a draft for review
How can I customize it?
  • Switch between sending immediately and saving a Gmail draft when you want a final read before it ships.
  • Tighten the skip rules so internal meetings, no-shows, or calls without clear next steps never trigger an email.
  • Adjust tone, length, and signature so the follow-up sounds like you, whether that is a quick three-line note or a structured recap with sections.

Frequently asked questions

What if the meeting was not booked through Calendly?
The agent skips it. It only acts on Granola notes that match a real Calendly booking in the same time window, so internal calls and ad-hoc meetings are ignored.
Will it use the answers people give on my Calendly booking form?
Yes. That is the whole point. The agent reads the invitee's intake answers and weaves any specific asks, goals, or open questions back into the follow-up email.
Can I have it draft instead of send?
Absolutely. Tell the agent to save a draft in Gmail and you will get a ready-to-review email in your drafts folder right after the meeting wraps.
What happens if the note has no clear action items?
The agent skips sending. We would rather miss a follow-up than send a vague email that wastes the invitee's time.
Can I personalize the tone or signature?
Yes. Edit the prompt to describe how you want the email to sound, what to sign off with, and any boilerplate links you always include.

Stop writing the same follow-up email after every Calendly call.

Connect Granola, Calendly, and Gmail once, and Geni handles the recap, the next steps, and the personalization for you.