Draft weather reschedule emails for tomorrow's client visits

Each afternoon, scan tomorrow's outdoor client appointments, check the forecast, and draft polite reschedule emails for any visits the weather will disrupt.

Agentic Task
WeatherGoogle CalendarGeolocationGmailOperationsSalesEmail AutomationMeeting WorkflowsNotifications & Alerts

Build me an agent that runs on a cron each afternoon at 4pm local time and previews tomorrow's outdoor client appointments, drafting reschedule emails for any visit the weather is likely to disrupt. It should produce drafts only and never auto-send.

Step 1: Call Google Calendar (List Events) for events on the next calendar day on my primary calendar. From the results, keep only events that (a) have a non-empty location string that looks like a real street address, and (b) have at least one attendee whose email domain is different from mine. Skip all-day events, internal meetings, and events whose location is a video link or an empty room name.

Step 2: For each remaining event, call Geolocation (Forward Geocode) on the location string to get latitude and longitude. If geocoding fails, log it and skip that event.

Step 3: Call Weather (Get Weather Forecast) for that latitude and longitude. The forecast comes back in 3-hour intervals, so pull the intervals that overlap the event's start-to-end window and reason about the worst conditions during that span (not the daily average).

Step 4: Decide whether the weather would actually disrupt an on-site visit. Flag the event if any overlapping interval shows heavy rain or thunderstorms, sustained winds above roughly 25 mph, a heat index above about 95F, or a wind-chill / feels-like below about 20F. Events with benign forecasts get no action at all.

Step 5: For each flagged event, call Gmail (Create a Draft) addressed to the external attendees (To line), with me on the From line. The draft should: (1) reference the specific meeting by title, date, and time; (2) name the weather concern in plain language ("heavy thunderstorms forecast around 2pm"); (3) offer two concrete reschedule windows in the next 5 business days; (4) offer a remote alternative (phone or video) for anything that doesn't strictly require being on site; (5) match the tone of the original invite (warm if the invite was warm, brisk if it was brisk); (6) end with a single clear ask.

Leave the drafts in Gmail. Do not send anything. At the end of the run, output a short summary of how many events were scanned, how many were flagged, and the subject line of each draft created, so I can scan it and go straight to the drafts folder to review and send.

Additional information

What does this prompt do?
  • Looks at your calendar each afternoon and finds tomorrow's appointments that have a real address and an outside attendee.
  • Checks the forecast for the visit location at the time the meeting is actually scheduled, not the daily average.
  • When the forecast looks bad enough to disrupt an on-site visit, drafts a friendly reschedule email that names the weather concern, offers two new time options, and suggests a remote alternative.
  • Leaves the drafts in your Gmail outbox so you can review and send. Nothing is auto-sent and meetings with fine weather are left alone.
What do I need to use this?
  • A Google account with Calendar and Gmail (the same one your client invites live in).
  • Tomorrow's site visits must include a real street address in the location field and at least one attendee outside your company.
How can I customize it?
  • Move the run time from 4pm to whenever you'd like the previews ready (morning of, the evening before, or a few days out for longer-lead trades).
  • Tune the bad-weather thresholds. Heavy rain, lightning, high winds, dangerous heat, and dangerous cold are on by default, but a roofing crew and a pool tech care about very different conditions.
  • Change the reschedule options. The default offers two new windows plus a remote alternative, but you can ask for three windows, a specific make-up day, or skip the remote option for visits that must happen in person.

Frequently asked questions

Will it actually send the emails for me?
No. It only creates Gmail drafts. Every reschedule note waits in your drafts folder until you read it and hit send, which keeps a human in the loop for client-facing changes.
How does it know which meetings are outdoor visits?
It looks for calendar events on the next day that have a street address in the location field and at least one attendee from outside your company. Internal meetings, virtual calls, and events without an address are skipped.
What counts as bad enough weather to reschedule?
By default, heavy rain, thunderstorms, dangerous heat or cold, and high winds during the actual meeting window. You can tighten or relax those rules based on what your crew can safely work in.
What if a meeting spans several hours?
It checks the forecast across the full meeting window, so a thunderstorm that only hits the back half of a three-hour install will still trigger a draft.
Can I use this with Outlook or another calendar?
This version runs on Google Calendar and Gmail. If you'd like an Outlook version, click Use this prompt and ask the workflow author to swap the calendar and email steps.

Stop losing afternoons to weather-canceled site visits.

Connect Google Calendar, Gmail, and Weather once, and Geni will scout tomorrow's outdoor appointments every afternoon and leave reschedule drafts in your inbox.