← Back to Skills Marketplace
ilove323

Outlook Calendar

by ilove323 · GitHub ↗ · v1.0.2
cross-platform ✓ Security Clean
1228
Downloads
0
Stars
10
Active Installs
3
Versions
Install in OpenClaw
/install outlook-calendar
Description
读取企业 Microsoft 365 Outlook 日历。当用户问任何涉及日程、会议、安排、工作、任务、事情的问题时触发,例如:今天有什么安排、这周有什么会、本月会议多少小时、明天要做什么、下周有啥工作、这周有什么事、有啥任务等。
README (SKILL.md)

Outlook 日历技能

触发条件

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

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

首次配置

敏感信息(账号密码、Cookie、Token)存放在 ~/.outlook/不在 skill 目录内

1. 创建配置文件

创建 ~/.outlook/config.json,内容如下:

{
  "email": "[email protected]",
  "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 分钟再试
Usage Guidance
This skill appears to do what it claims: it automates a Microsoft 365 login (with MFA) using Playwright, saves cookies/tokens under ~/.outlook, and calls only outlook.office.com/login.microsoftonline.com. Before installing, consider: (1) the skill requires you to store your email/password in plaintext in ~/.outlook/config.json — prefer a dedicated service account or least-privilege account and ensure file permissions restrict access; (2) Playwright will download a Chromium binary (playwright install chromium) — run installation in a controlled environment if concerned; (3) verify the code origin because the source is unknown; review login.py and owa_calendar.py yourself (they are short and readable) and confirm they only access Microsoft domains; (4) consider using a proper OAuth/app registration flow rather than storing credentials if your organization requires it; (5) run initial tests in an isolated environment or with an account that has no access to sensitive mailboxes. Overall the skill is coherent, but take precautions around credential storage and installation of browser automation tooling.
Capability Analysis
Type: OpenClaw Skill Name: outlook-calendar Version: 1.0.2 The OpenClaw Outlook Calendar skill is designed to read Microsoft 365 Outlook calendar events. It uses Playwright and Requests to log in, obtain authentication tokens, and query the Outlook API. Sensitive user credentials (email, password) are explicitly instructed to be stored by the user in `~/.outlook/config.json`, outside the skill directory, which is a good security practice. The `SKILL.md` provides clear, non-malicious instructions for the AI agent. While the Playwright scripts use `--no-sandbox` for Chromium, which can be a vulnerability in certain environments, there is no evidence of intentional malicious behavior such as data exfiltration to unauthorized endpoints, backdoor installation, or prompt injection attempts to subvert the agent's core functions or steal unrelated data. All network activity and file operations are consistent with the stated purpose of fetching calendar data.
Capability Assessment
Purpose & Capability
Name/description (read Outlook calendar) match the included scripts: login.py performs an interactive Playwright MFA login and saves cookies; owa_calendar.py extracts a Bearer token from Outlook Web and calls the Outlook Calendar API. Required binary (python3) is appropriate. The skill does not request unrelated cloud credentials or unexpected services.
Instruction Scope
SKILL.md explicitly instructs the user to create ~/.outlook/config.json containing email/password and to run pip install playwright + playwright install chromium, then run login.py and owa_calendar.py. These steps are within scope for a credential-based scraper, but they require storing plaintext credentials and installing browser automation tools — both are sensitive and worth user attention.
Install Mechanism
There is no automated install spec; the README instructs using pip and Playwright to install dependencies and Chromium. That's expected for Playwright-based tooling. No downloads from untrusted personal servers or URL shorteners are present in the repository or scripts.
Credentials
The skill asks users to place their account email/password in ~/.outlook/config.json (not via env vars). Requesting credentials is proportionate to the chosen approach (password+MFA automation), but storing plaintext passwords on disk is sensitive — the skill does not declare any environment variables or use unrelated credentials.
Persistence & Privilege
The skill does not request always:true and has no mechanism to modify other skills or system-wide settings. It will persist cookies/token files under the user's home (~/.outlook), which is expected for caching auth artifacts.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install outlook-calendar
  3. After installation, invoke the skill by name or use /outlook-calendar
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
test
v1.0.1
重构:账号密码/Cookie/Token迁移至~/.outlook/,SKILL.md新增首次配置说明,OWA REST API模式替代DOM解析
v1.0.0
首发:Microsoft 365 Outlook 日历读取,MFA登录+Token缓存+OWA REST API,敏感信息存~/.outlook/不入代码
Metadata
Slug outlook-calendar
Version 1.0.2
License
All-time Installs 10
Active Installs 10
Total Versions 3
Frequently Asked Questions

What is Outlook Calendar?

读取企业 Microsoft 365 Outlook 日历。当用户问任何涉及日程、会议、安排、工作、任务、事情的问题时触发,例如:今天有什么安排、这周有什么会、本月会议多少小时、明天要做什么、下周有啥工作、这周有什么事、有啥任务等。 It is an AI Agent Skill for Claude Code / OpenClaw, with 1228 downloads so far.

How do I install Outlook Calendar?

Run "/install outlook-calendar" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Outlook Calendar free?

Yes, Outlook Calendar is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Outlook Calendar support?

Outlook Calendar is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Outlook Calendar?

It is built and maintained by ilove323 (@ilove323); the current version is v1.0.2.

💬 Comments