# Send Outlook Calendar (M365) to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "ilove323-outlook-calendar",
    "name": "Outlook Calendar (M365)",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/ilove323/ilove323-outlook-calendar",
    "canonicalUrl": "https://clawhub.ai/ilove323/ilove323-outlook-calendar",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/ilove323-outlook-calendar",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=ilove323-outlook-calendar",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "login.py",
      "owa_calendar.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/ilove323-outlook-calendar"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/ilove323-outlook-calendar",
    "downloadUrl": "https://openagent3.xyz/downloads/ilove323-outlook-calendar",
    "agentUrl": "https://openagent3.xyz/skills/ilove323-outlook-calendar/agent",
    "manifestUrl": "https://openagent3.xyz/skills/ilove323-outlook-calendar/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/ilove323-outlook-calendar/agent.md"
  }
}
```
## Documentation

### 触发条件

只要用户问任何涉及日程、会议、安排、日历、工作、任务、事情的问题，必须调用此技能。

"明天有什么安排" / "这周有什么会" / "本月日程"
"帮我看看日历" / "我今天几点有会"
"这个月会议一共多少小时"
"我下周有啥工作" / "明天要做啥" / "这周有什么事"
"下周安排" / "有啥任务" / "日程表看一下"
任何时间 + 安排/会议/事件/工作/任务/事情的组合问法

### 首次配置

敏感信息（账号密码、Cookie、Token）存放在 ~/.outlook/，不在 skill 目录内。

### 1. 创建配置文件

创建 ~/.outlook/config.json，内容如下：

{
  "email": "your@company.com",
  "password": "your_password",
  "cookie_file": "/root/.outlook/cookies.json",
  "cookie_max_age_days": 7,
  "mfa_type": "authenticator_number_match"
}

### 2. 安装依赖

pip install playwright requests
playwright install chromium

### 3. 首次登录（MFA）

cd ~/.agents/skills/outlook-calendar
python login.py

脚本输出 [NUMBER:XX] 时，在 Microsoft Authenticator App 输入数字 XX 并批准，Cookie 自动保存到 ~/.outlook/cookies.json。

### 第一步：读取日历

cd ~/.agents/skills/outlook-calendar
python owa_calendar.py --today          # 今天
python owa_calendar.py --tomorrow       # 明天
python owa_calendar.py --week           # 本周
python owa_calendar.py --month 2026-03  # 指定月份
python owa_calendar.py --range 2026-03-01 2026-03-31  # 自定义范围

### 第二步：处理 AUTH_FAILED

若输出 [AUTH_FAILED]，Cookie 或 Token 过期，重新登录：

python login.py

### 第三步：整理输出

按用户问题整理回答：列出事件、统计总时长、按周分组等。
注意：API 返回时间为 UTC，需 +8 转换为上海时间。

### 文件结构

skill 目录（无敏感信息）：
~/.agents/skills/outlook-calendar/
├── SKILL.md
├── login.py          # MFA 登录，保存 Cookie 到 ~/.outlook/
└── owa_calendar.py   # 日历读取（Token 模式）

敏感数据目录：
~/.outlook/
├── config.json       # 账号密码（自行创建）
├── cookies.json      # 登录 Cookie（login.py 自动生成）
└── token.json        # Bearer Token 缓存（自动生成，1h 有效）

### MFA 说明

类型：Authenticator 数字匹配
Cookie 有效期：通常 1-7 天，过期重跑 login.py
多次失败会触发微软限速，等 15 分钟再试
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: ilove323
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/ilove323-outlook-calendar)
- [Send to Agent page](https://openagent3.xyz/skills/ilove323-outlook-calendar/agent)
- [JSON manifest](https://openagent3.xyz/skills/ilove323-outlook-calendar/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/ilove323-outlook-calendar/agent.md)
- [Download page](https://openagent3.xyz/downloads/ilove323-outlook-calendar)