AI workers for Outlook Calendar
Ready-made AI workers for Outlook Calendar: preparation holds, conflict checks across shared calendars, and daily briefings that fit how Microsoft 365 scheduling actually works.
- 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 Outlook Calendar?
An AI worker for Outlook Calendar is an AI agent scoped to one scheduling job on your Microsoft 365 calendar, such as holding preparation time before a significant meeting or warning you about a day that has quietly filled up. It reads availability through your connected work account and writes only where permitted, so an invitation you have not answered stays unanswered.
What these workers do
Hold preparation time before key meetings
Looks at what is coming, judges which meetings need real preparation, and books that time before the surrounding day fills up.
Warn about days that have filled up
Flags back to back stretches with no gap for lunch or travel, early enough that something can still be moved.
Check conflicts across shared calendars
Reads your calendar alongside the team calendars you can access and surfaces the clashes that only show up when both are considered together.
Retire holds that outlived their purpose
Finds the placeholder blocks that were never cleaned up and clears the ones whose reason has passed.
How an AI worker runs in Outlook Calendar
Where it sits in Microsoft 365
Preparation time as a first class job
The line it does not cross
Outlook Calendar questions, answered.
Does this need my Microsoft 365 administrator to approve it?
Connecting a work account follows your tenant's normal consent rules, so some organisations ask an administrator to approve the connection once. Once connected, the worker's reach is set by the permissions you give it, not by the connection alone.
Will it reply to meeting invitations?
Not unless you grant that permission, and it is usually withheld. The standard setup lets a worker see that an invitation is waiting and tell you about it, while leaving the accept or decline entirely to you.
Can it see my colleagues' calendars?
Only the ones your own account can already open, and only if you scope it to them. It inherits your visibility rather than gaining any new access, so a calendar you cannot see is one the worker cannot see either.
Does it handle recurring meetings correctly?
Yes. Recurring series are read as the individual occurrences they produce, so a worker planning next week reasons about the meetings that actually fall in that week rather than the abstract pattern behind them.
What AI workers can do in Outlook Calendar
The tools a worker can be granted in Outlook 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).