Turn Gmail meeting requests into Calendar events with draft replies

Geni watches Gmail for meeting requests, checks your calendar for conflicts, and stages a Calendar invite plus a confirmation draft for one click send.

Agentic Task
GmailGoogle CalendarPersonal ProductivityOperationsMeeting WorkflowsEmail Automation

Build me an agent workflow that turns incoming meeting requests in Gmail into Google Calendar events with a draft confirmation reply waiting for me to send.

Trigger: poll Gmail for new emails (gmail / new_email) on my primary inbox.

For each new message, do this:

1. Use Gmail Get a Message to fetch the full message (subject, body, from, thread id). Decide whether the email is actually requesting a meeting. Signals: proposing one or more specific times, asking to "find time" or "grab 30 min", sharing a list of slots, or replying to an existing scheduling thread. Newsletters, receipts, marketing, generic replies, and anything that is not a real scheduling ask should be ignored. If it is not a meeting request, stop.

2. If it is a meeting request, parse out: the proposed time or times (with time zone), the meeting duration (default to 30 minutes if not stated), the attendees (sender plus anyone CC'd or named), and the topic / title.

3. Call Google Calendar FreeBusy Query against my primary calendar for the proposed time windows to confirm I am actually free.

4. If at least one proposed time is free, use Google Calendar Create Event to book it on my primary calendar. Set a clear title (for example "<Topic> with <Sender Name>"), add the attendees, put a short description with a link back to the email thread, and attach a Google Meet conference link by default.

5. Then use Gmail Create a Draft to draft a confirmation reply on the same thread. Keep it short and natural, for example: "Confirmed for Thursday 2pm ET, calendar invite on its way. Talk soon." Include the chosen time and time zone.

6. If none of the proposed times work, do not create an event. Instead, run FreeBusy across the next 5 business days and pick 2 to 3 open slots that match the requested duration and roughly the time of day the sender suggested. Use Gmail Create a Draft to draft a counter proposal reply on the same thread listing those slots in the sender's likely time zone.

Hard rules: drafts only, never auto send. Always reply on the original thread, never start a new one. Do not create duplicate calendar events for the same email. If anything is ambiguous (no clear time, missing attendees, multi person scheduling that needs everyone's calendar), draft a clarifying reply instead of guessing.

Additional information

What does this prompt do?
  • Polls Gmail for new emails and decides which ones are actually proposing or asking to schedule a meeting.
  • Pulls the message body, parses out the proposed times, duration, attendees, and topic, then runs a Google Calendar FreeBusy query against your primary calendar.
  • If you are free at a proposed time, creates a Google Calendar event with attendees, description, and a Google Meet link, and drafts a confirmation reply on the same Gmail thread.
  • If nothing works, drafts a counter proposal email listing 2 to 3 free slots from your calendar. Drafts only, never auto sent.
What do I need to use this?
  • A Gmail account connected to General Input with permission to read messages and create drafts.
  • A Google Calendar account (usually the same Google login) with FreeBusy and event creation access on your primary calendar.
  • Your default time zone and typical meeting duration so Geni can interpret times like "Thursday afternoon" sensibly.
How can I customize it?
  • Restrict the trigger to a Gmail label or search query (for example only emails in Inbox, or matching subject keywords like "meet", "sync", "call").
  • Change the calendar Geni checks, the default meeting length, the attendee list, or whether a Google Meet link is added.
  • Tweak the tone of the confirmation and counter proposal drafts, or have Geni ping you in Slack instead of drafting an email.

Frequently asked questions

Will this send emails on my behalf without me seeing them?
No. Every reply is created as a Gmail draft on the original thread. Nothing is sent until you open Gmail and hit send.
How does Geni decide an email is actually a meeting request?
It reads the full message via Gmail Get a Message and looks for signals like proposed times, lists of slots, or explicit asks to find time. Newsletters, receipts, and general replies are skipped.
What if I am not free at any of the proposed times?
Geni queries Google Calendar FreeBusy on your primary calendar, picks 2 to 3 open slots that fit the requested duration, and drafts a counter proposal listing those options instead of creating an event.
Does it add a Google Meet link automatically?
Yes. When the event is created via Google Calendar Create Event, Geni attaches a Meet conference by default. You can turn that off if the meeting is in person.
Can I use a calendar other than my primary one?
Yes. Tell Geni which calendar to check and write to (for example a shared team calendar) and it will run FreeBusy and Create Event against that calendar instead.

Stop ping ponging emails to book a 30 minute call.

Connect Gmail and Google Calendar once, and Geni stages the invite and reply for every meeting request that hits your inbox.