owa-outlook_skill

This skill reads enterprise Microsoft 365 Outlook calendar and emails, helping you manage schedules, meetings, and inbox activity.
  • Python

2.5k

GitHub Stars

5

Bundled Files

2 months ago

Catalog Refreshed

3 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill openclaw/skills --skill owa-outlook

  • _meta.json290 B
  • login.py4.3 KB
  • owa_calendar.py8.7 KB
  • owa_mail.py7.8 KB
  • SKILL.md2.4 KB

Overview

This skill reads enterprise Microsoft 365 Outlook calendars and mailboxes so an agent can answer questions about schedules, meetings, tasks, and email status. It integrates with Outlook Web Access flows, handles MFA, and caches tokens and cookies to maintain sessions. The skill is focused on actionable calendar and inbox queries for work contexts.

How this skill works

The skill uses a headless browser flow and API calls to fetch calendar and mail data from Microsoft 365. It stores authentication artifacts (config, cookies, and tokens) outside the skill directory and automatically renews bearer tokens; cookie expiry triggers an MFA re-login where the user approves a number shown in their authenticator. Calendar times are returned in UTC and should be converted to the desired timezone (example: +8 for Shanghai).

When to use it

  • Answer 'What's on my calendar today/tomorrow/this week?' questions
  • List upcoming meetings, times, and participants for planning
  • Check for new or unread emails in Inbox or specific folders
  • Search emails by keyword, sender, or date range
  • Export recent messages or calendar ranges in JSON for automation

Best practices

  • Keep sensitive credentials and cookie/token files under ~/.outlook/ with proper filesystem permissions
  • Convert UTC timestamps to local timezone before presenting to users
  • Limit mailbox queries (use --limit) to reduce API load for large inboxes
  • Use the built-in search and folder flags to scope queries and protect privacy
  • Refresh MFA-enabled login only when prompted; approve the authenticator code promptly

Example use cases

  • User asks: 'Do I have any meetings this afternoon?' — return calendar items for the afternoon range
  • Agent checks: 'Show unread emails from this morning' — list unread messages with sender and subject
  • Manager request: 'Get my team's calendar for the week' — aggregate shared calendars or provide user's schedule
  • Automation: 'Export March calendar range as JSON' — provide structured events for downstream processing
  • Support: 'Search inbox for invoices from vendor@example.com' — return matched messages and dates

FAQ

Sensitive data (config, cookies, tokens) is kept in ~/.outlook/ and not inside the skill code directory.

What happens when MFA is required?

The skill prompts with a number; approve that number in your Microsoft Authenticator app and the login continues automatically.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational