AI workers for Google Calendar
Ready-made AI workers for Google Calendar: protected focus blocks, travel buffers, and a morning agenda that is placed and rechecked on its own, under scheduling rules you set.
- Meeting Prep Assistant
Builds a prep sheet for each meeting on your calendar: who, history, open items, and talking points.
- Inbox Triage Assistant
Triages your inbox each morning, drafts replies, and flags what needs you.
- Executive Daily Briefing
Delivers a prioritized morning brief of your day: meetings, urgent email, blockers, and team chatter.
- Inbox Guardian
Watches your inbox while you are heads-down or away, drafts holding replies, and pings you only for real emergencies.
- Appointment Reminder Texter
Texts your clients a day-before reminder for their appointments, cutting no-shows dramatically.
- Recruiting Coordinator
Keeps candidate threads moving: replies drafted, interviews scheduled, and the pipeline board current.
- Dynamic Focus-Time Optimizer
Protects two hours of deep work a day: scans your calendar 14 days out, books and adjusts Focus / Deep Work blocks, and emails you a fix plan when a day is too fragmented.
- Weekly Calendar Cleanup Planner
A weekly calendar hygiene pass: scores the coming week for fragmentation and lost focus time, protects lunch and deep work, and writes a before-and-after cleanup plan.
- Travel Buffer Guardian
Blocks travel time around your flights, trains and off-site meetings, keeps those holds honest when a trip moves, and emails you a brief the night before.
- Promise Keeper
Finds commitments you made in email and chat, flags overdue ones, and leaves status-update drafts for review.
- RSVP and Agenda Hygiene
Flags pending invites and meetings without agendas, then drafts agenda asks or polite decline notes — never RSVPs for you.
- Loop Closer
Finds open promises and stale threads across email, calendar, and chat, then leaves draft replies for you to approve.
- School Email to Calendar
Scan school emails and create complete calendar events organized by child name.
- Meeting Prep Needed Screen
Reads the week ahead and says, meeting by meeting, whether the owner needs to prepare and what kind of preparation it is.
- Meeting Entity Relevance Finder
Finds matching meeting that was actually about a customer, project, vendor, person or topic you name, including the internal ones the target was never invited to.
- Grok Morning Brief
Hands Grok Bot a prioritized morning digest of meetings, urgent email, and team chatter — read-only, under 400 words.
- Critical Meeting Finder
Reads the week ahead and returns only the meetings where revenue, a decision, a customer or an external commitment suffers if the owner skips them or walks in unprepared.
- Calendar Jev Classifier
Sorts the week ahead into your own meeting categories and returns one typed row per event, so an agent can read the shape of a calendar in one call.
- Decision Queue
Ranks Slack or Teams threads where you are the blocker and boosts anything before a same-day meeting.
- Grok Inbox Triage
Triages overnight email into buckets, saves draft replies only, and never sends — built for Grok Bot operators.
- Post-Meeting Closer
Reads today's meeting notes, extracts owners and asks, then leaves follow-up email drafts — never posts or books.
- Interview Panel Schedule Review
Checks interview panel timing, attendance responses and preparation gaps.
- Interview Panel Preparation Workflow
Combines panel logistics and the role guide into a structured interview preparation pack.
What is an AI worker for Google Calendar?
An AI worker for Google Calendar is an AI agent scoped to one scheduling job, such as defending focus time or briefing you on the day ahead. It reads your events and free time through your connected Google account and can place or move events only where you have granted write access, so meetings other people booked stay exactly as they left them.
What these workers do
Defend focus time every morning
Finds the real gaps in the coming days and places protected blocks inside your working hours, instead of scattering them wherever there is space.
Add travel buffers around offsite meetings
Spots the events you physically have to reach and holds the door to door time on both sides so you are not scheduled to be in two places.
Send a morning agenda
Summarizes the day ahead, names the double bookings, and points at the meetings that still need a decision from you before they start.
Keep a recurring planning slot honest
Checks each week that the planning hold survived, and rebooks it when something else has taken the slot.
How an AI worker runs in Google Calendar
It works in your timezone, not UTC
What it can place, and what it must not touch
Running early, then checking again
Google Calendar questions, answered.
Can an AI worker create events in my Google Calendar?
Yes, when you grant create access, and only then. You can allow it to add its own blocks while withholding permission to edit attendees, which means it can protect your time but can never add or remove people from a meeting.
Will it move meetings I have with other people?
Only if you grant permission to edit event times, and many calendar workers are deliberately set up without it. A worker limited to creating its own events can defend your week without touching a single meeting somebody else booked.
Can it accept or decline invitations for me?
Not unless you grant that specific permission, which is usually withheld. Responding to an invitation is a social act with consequences a worker cannot judge, so the normal setup lets it flag what needs an answer and leaves the answer to you.
Does it work across several calendars?
Yes, and reading and writing are separate choices per calendar. That lets a worker plan around a shared team calendar, or around a colleague's calendar you already have access to, while only ever placing its own blocks on the one calendar you nominated for it.
What AI workers can do in Google Calendar
The tools a worker can be granted in Google Calendar once you connect it. A kit grants only the ones its job needs, and you can narrow them further on the worker.
List Calendars
List all calendars for the connected account. Returns each calendar's numeric `id` (small integer, used as `calendarId` in every other tool), `externalId`, name, provider (GOOGLE or M365), timezone, `isPrimary`, and `isOperatorOwner` (the account holder's main calendar). Works at every access level, including free-busy-only.
Search Calendar Events
Search and list calendar events. If you already have an `eventId`, use calendar_get_event; for availability questions, prefer calendar_freebusy. Returns each event's `id`, title, start/end (UTC), durationMinutes, attendees with RSVP, organizer, status, joinUrl, labels, calendarId, provider, and `currentUserCalendarEmail` (which attendee is 'you'). Paginate via `meta.hasMore`: advance `offset` by `meta.count` until false (don't infer from `events.length`). Defaults to today through today+7 days. If `accessInfo` is present, results were limited by an access rule — render it verbatim. Local time fields carry their UTC offset; use timeZoneId to select the requested display zone and check the response timezone before labeling report times. Convert values whose offset differs from the requested display zone; do not merely relabel them.
Get Calendar Event
Get full details of a single calendar event by its opaque ID. Returns title, start/end (UTC), durationMinutes, description, location, attendees with RSVP status, organizer, joinUrl, labels, calendarId, provider, and `isRecurringEvent`. The response also carries `currentUserCalendarEmail` so you can correctly identify which attendee is 'you'. A 404 means the event either does not exist OR is hidden by an access policy — the two cases are not distinguishable by design. Local time fields carry their UTC offset; use timeZoneId to select the requested display zone and check the response timezone before labeling report times. Convert values whose offset differs from the requested display zone; do not merely relabel them.
Check Calendar Availability
Check calendar availability for a date range. Returns per-calendar busy and free time blocks (no event details, ever — this is the right channel for 'is the user available?' questions). Works at every access level, including free-busy-only access that cannot read event content. Prefer this over calendar_search_events for availability questions. Local time fields carry their UTC offset; use timeZoneId to select the requested display zone and check the response timezone before labeling report times. Convert values whose offset differs from the requested display zone; do not merely relabel them.
Find Events by Contact
Find calendar events involving a specific contact, searched by email substring and/or display-name substring. At least one of `email` or `name` is required. The `name` match also falls back to the email's local-part when the upstream omits a display name (common on Google for external attendees) — so `name=alice` matches both 'Alice Chen' and a bare 'alice@example.com'. Defaults to a server-controlled window (past 90 days / next 180 days), narrowed if a timeframe restriction applies. Returns the same event shape as calendar_search_events including `currentUserCalendarEmail`, but `meta.totalCount` and `meta.hasMore` are omitted — do not paginate blindly against this endpoint. For full pagination over a contact, use calendar_search_events with `attendeeEmail` instead. Local time fields carry their UTC offset; use timeZoneId to select the requested display zone and check the response timezone before labeling report times. Convert values whose offset differs from the requested display zone; do not merely relabel them.
Create Calendar Event
Create a new calendar event. Returns the full new event on success. For all-day events, set `allDay: true` and use the date component of startTime as the inclusive start and endTime as the EXCLUSIVE end (Google convention — a single-day all-day event uses startTime=2026-07-04T00:00:00Z, endTime=2026-07-05T00:00:00Z).
Update Calendar Event
Update an existing calendar event. Only include the fields you want to change — omitted fields stay as they were. `addAttendees` / `removeAttendees` are DIFFS, not replacements: pass only the addresses to add or remove, never the full roster. Updates are atomic — if any change is rejected (e.g. a newly added attendee fails a policy rule), no field on the event is modified; correct the request and retry.
Delete Calendar Event
Hard-delete a calendar event from the provider (Google/Microsoft). There is no PortEden-side trash — the event is gone. By default a cancellation email is sent to every attendee; set `notifyAttendees: false` to suppress it.
Respond to Calendar Invite
RSVP to a calendar event invitation on behalf of the user. Two non-retryable 409 errors to surface as user-facing precondition failures, not transient errors: `CANNOT_RSVP_AS_ORGANIZER` (the user owns the event — organizers don't RSVP to themselves, drop the RSVP step) and `NOT_AN_ATTENDEE` (the user's address isn't on the invite — fix by adding them via calendar_update_event addAttendees before retrying).