# Send OWA Outlook 日历+邮件 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": "owa-outlook",
    "name": "OWA Outlook 日历+邮件",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/ilove323/owa-outlook",
    "canonicalUrl": "https://clawhub.ai/ilove323/owa-outlook",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/owa-outlook",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=owa-outlook",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "login.py",
      "owa_calendar.py",
      "owa_mail.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/owa-outlook"
    },
    "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/owa-outlook",
    "downloadUrl": "https://openagent3.xyz/downloads/owa-outlook",
    "agentUrl": "https://openagent3.xyz/skills/owa-outlook/agent",
    "manifestUrl": "https://openagent3.xyz/skills/owa-outlook/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/owa-outlook/agent.md"
  }
}
```
## Documentation

### 触发条件

日历：今天/明天/本周有什么安排、会议、日程、任务、工作
邮件：有没有新邮件、未读邮件、查收件箱、搜索邮件

### 首次配置

敏感信息存放在 ~/.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/owa-outlook
python login.py

脚本输出 [NUMBER:XX] 时，在 Microsoft Authenticator App 输入数字 XX 并批准。

### 日历用法

cd ~/.agents/skills/owa-outlook
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

注意：API 返回时间为 UTC，需 +8 转换为上海时间。

### 邮件用法

cd ~/.agents/skills/owa-outlook
python owa_mail.py --unread              # 未读邮件（默认最近20封）
python owa_mail.py --today               # 今天收到的邮件
python owa_mail.py --limit 50            # 最近50封
python owa_mail.py --search "关键词"     # 搜索主题/发件人
python owa_mail.py --folder Inbox        # 指定文件夹
python owa_mail.py --json                # JSON 格式输出

### 认证说明

Token 过期（1小时）→ 自动续，无感知
Cookie 过期 → 自动重新登录，输出 [MFA] 请在 Authenticator 选择数字：【XX】，你在手机上批准即可，脚本自动继续

### 文件结构

~/.agents/skills/owa-outlook/
├── SKILL.md
├── login.py          # MFA 登录
├── owa_calendar.py   # 日历读取
└── owa_mail.py       # 邮件读取

~/.outlook/
├── config.json       # 账号密码
├── cookies.json      # 登录 Cookie
└── token.json        # Bearer Token 缓存
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: ilove323
- Version: 1.0.2
## 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/owa-outlook)
- [Send to Agent page](https://openagent3.xyz/skills/owa-outlook/agent)
- [JSON manifest](https://openagent3.xyz/skills/owa-outlook/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/owa-outlook/agent.md)
- [Download page](https://openagent3.xyz/downloads/owa-outlook)