---
name: outlook
description: Use when the task is about Microsoft Outlook, Microsoft 365 mail/calendar, meeting availability, or Outlook scheduling through MCP tools backed by Microsoft Graph.
---

## When to use

Use this skill when the user asks to:

- read, search, reply to, forward, or move Outlook email
- list, create, or update Outlook calendar events
- check meeting availability or propose meeting times
- send a formal Outlook meeting invite to attendees

Only use this skill if Outlook MCP tools are available in the current tool list, typically with names like `mcp_outlook_*`.

## V1 routing rules

- Keep Outlook execution in the main agent turn.
- Do not `spawn` a local subagent for Outlook work in V1, because the local delegated agent does not inherit MCP tools.
- Do not use the built-in `email` channel for Outlook mailbox operations. Outlook actions should go through MCP -> Outlook MCP server -> Microsoft Graph.

## Tool usage rules

- Prefer the actual Outlook MCP tools shown in the tool list. Follow each tool's schema exactly.
- Each Outlook MCP tool should perform one atomic action only. Compose larger workflows in the main agent by calling multiple tools step by step.
- For mail/calendar tasks, prefer Outlook MCP tools over shell/web workarounds.
- If a tool fails, inspect the error and retry with a narrower or corrected request instead of improvising a different backend.

## Privacy and safety

- Never ask the user to paste access tokens, refresh tokens, client secrets, or raw OAuth credentials into chat.
- If Outlook tools are not configured, explain that Outlook MCP must be connected first.
- Keep progress text brief and avoid echoing sensitive email content unless necessary for the task.

## Scheduling guidance

- For recurring Outlook sync or mailbox maintenance, use `cron` task mode, not reminder mode.
- Treat cron-triggered Outlook work as autonomous background work: execute the needed Outlook MCP steps and report the concrete outcome.
- Avoid creating flows where a cron result is reintroduced as a fresh user request.
