Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

office365-connectorOffice365 连接器

Agent Skill

office365-connector 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

80,895

周安装

3,241

GitHub Stars

3

下载量

26,187
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:office365-connector(Office365 连接器)
来源仓库:https://github.com/tirandagan/office365-connector
安装命令:
openclaw skills install office365-connector
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install office365-connector

简介

Office 365 / Outlook 连接器,用于使用弹性 OAuth 身份验证的电子邮件(读/发送)、日历(读/写)和联系人(读/写)。现在提供多帐户支持!通过一项技能管理多个 Microsoft 365 身份。解决连接 Office 365 电子邮件、日历和联系人的困难。使用 Microsoft Graph API 和全面的 Azure 应用程序注册设置指南。非常适合从 OpenClaw 访问 Microsoft 365/Outlook 数据。

SKILL.md

name
office365-connector
description
Office 365 / Outlook connector for email (read/send), calendar (read/write), and contacts (read/write) using resilient OAuth authentication. NOW WITH MULTI-ACCOUNT SUPPORT! Manage multiple Microsoft 365 identities from a single skill. Solves the difficulty connecting to Office 365 email, calendar, and contacts. Uses Microsoft Graph API with comprehensive Azure App Registration setup guide. Perfect for accessing your Microsoft 365/Outlook data from OpenClaw.

Office 365 Connector (Multi-Account Enhanced)

Overview

This skill provides resilient, production-ready connection to Office 365 / Outlook services including email, calendar, and contacts. Now with multi-account support (v2.0.0), you can manage multiple Microsoft 365 identities (work, personal, consulting, etc.) from a single skill installation.

It solves the common challenge of connecting to Office 365 from automation tools by providing OAuth authentication, automatic token refresh, per-account isolation, and comprehensive Azure App Registration setup guidance.

Perfect for:

  • Managing multiple work identities across organizations
  • Separating personal and professional email/calendar
  • Accessing shared mailboxes and delegated calendars
  • Consultants and freelancers working across multiple clients

New in v2.0.0: Multi-account support! See MULTI-ACCOUNT.md for complete usage guide.

Attribution: Enhanced by Matthew Gordon (matt@workandthrive.ai) - See CREDITS.md for full attribution.

What's New in v2.0.0

Major Enhancements by Matthew Gordon:

  • Multi-Account Management - Handle multiple Microsoft 365 identities from one skill
  • 🔐 Per-Account Token Isolation - Separate, secure token storage for each account
  • 🔄 Easy Account Switching - Use --account=name flag across all operations
  • ⚙️ Default Account Selection - Set your preferred account for convenience
  • 📦 Legacy Import Tool - Migrate existing single-account setups seamlessly
  • 🎯 Account Management CLI - Simple add/remove/list/default commands
  • Full Backward Compatibility - Existing single-account setups work unchanged

See CHANGELOG.md for complete version history.

Capabilities

Email Operations

  • Read emails (inbox, sent items, folders)
  • Send emails (with attachments, HTML formatting)
  • Search emails by sender, subject, date range
  • Manage folders and move messages
  • Mark as read/unread, flag messages
  • Delete messages

Calendar Operations

  • Read calendar events
  • Create/update/delete events
  • Check availability
  • Manage meeting invitations
  • Support for recurring events
  • Time zone handling

Contact Operations

  • Read contacts and contact folders
  • Create/update/delete contacts
  • Search contacts by name, email, company
  • Manage contact groups
  • Sync contact information

Quick Start - Multi-Account

Add Your First Account

cd skills/office365-connector

# Add account
node accounts.js add work <tenant-id> <client-id> <client-secret> you@work.com "Work account"

# Authenticate
node auth.js login --account=work

Add More Accounts

# Add personal account
node accounts.js add personal <tenant> <client> <secret> you@outlook.com "Personal"

# Add consulting account
node accounts.js add consulting <tenant> <client> <secret> you@client.com "Consulting"

# Set default
node accounts.js default work

# List all accounts
node accounts.js list

Use Your Accounts

# Check work calendar
node calendar.js today --account=work

# Read personal emails
node email.js recent 10 --account=personal

# Send from consulting account
node send-email.js send client@example.com "Subject" "Body" --account=consulting

Migrate from Single-Account Setup

Already using v1.0.0? No problem!

# Import your existing setup
node accounts.js import-legacy

# Continue using without changes (environment variables still work)
# OR add additional accounts
node accounts.js add secondary <tenant> <client> <secret>

Prerequisites

Before using this skill, you must complete the Azure App Registration setup to obtain:

  1. Tenant ID - Your Azure AD tenant identifier
  2. Client ID - Your application (client) ID
  3. Client Secret - Your application secret value

Setup time: ~10-15 minutes per account

See Setup Guide for complete step-by-step instructions.

Permission Validation

This skill requires the following delegated permissions (user consent required):

Email Permissions

  • Mail.Read - Read user email
  • Mail.ReadWrite - Read and write access to user email
  • Mail.Send - Send email as the user

Calendar Permissions

  • Calendars.Read - Read user calendars
  • Calendars.ReadWrite - Read and write access to user calendars

Contact Permissions

  • Contacts.Read - Read user contacts
  • Contacts.ReadWrite - Read and write access to user contacts

Profile Permissions (required for authentication)

  • User.Read - Sign in and read user profile
  • offline_access - Maintain access to data (refresh tokens)

IMPORTANT: Before proceeding with setup, confirm that you understand and approve these permissions. Each permission grants specific access to your Microsoft 365 data.

See Permissions Reference for detailed information about what each permission allows.

Configuration

Multi-Account Configuration (v2.0.0+)

Accounts are stored in ~/.openclaw/auth/office365-accounts.json with tokens in ~/.openclaw/auth/office365/.

Use the accounts.js CLI to manage:

node accounts.js list                # List all accounts
node accounts.js add <name> ...      # Add account
node accounts.js remove <name>       # Remove account
node accounts.js default <name>      # Set default

Legacy Single-Account (Backward Compatible)

Environment variables still work for single-account use:

export AZURE_TENANT_ID="your-tenant-id"
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"

Or in OpenClaw config:

{
  "env": {
    "vars": {
      "AZURE_TENANT_ID": "your-tenant-id",
      "AZURE_CLIENT_ID": "your-client-id",
      "AZURE_CLIENT_SECRET": "your-client-secret"
    }
  }
}

Authentication Flow

This skill uses OAuth 2.0 Device Code Flow for resilient authentication:

  1. Request device code from Microsoft
  2. Display user code and verification URL
  3. User visits URL and enters code
  4. Poll for token completion
  5. Store access + refresh tokens (per-account)
  6. Automatically refresh tokens when expired

Token storage: Tokens are securely stored in ~/.openclaw/auth/office365/<account-name>.json with mode 0600 (owner read/write only).

Usage Examples

Multi-Account Email Operations

# Read from default account
node email.js recent 10

# Read from specific account
node email.js recent 10 --account=work

# Search in consulting account
node email.js search "proposal" --account=consulting

# Send from appropriate identity
node send-email.js send client@example.com "Update" "..." --account=consulting

Multi-Account Calendar Operations

# Check work calendar
node calendar.js today --account=work

# Check personal calendar
node calendar.js week --account=personal

Account Management

# List all configured accounts
node accounts.js list

# Check authentication status
node auth.js status --account=work

# Re-authenticate if needed
node auth.js login --account=work

Real-World Use Cases

Multiple Work Identities

Perfect when working across multiple organizations:

# Morning: Check all calendars
node calendar.js today --account=work
node calendar.js today --account=consulting
node calendar.js today --account=startup

# Process emails by identity
node email.js recent --account=work
node email.js recent --account=consulting

# Send from appropriate account
node send-email.js send client@bigcorp.com "Proposal" "..." --account=work

Personal + Professional Separation

# Work hours: Work account
node calendar.js today --account=work
node email.js recent --account=work

# After hours: Personal account
node email.js recent --account=personal

Error Handling

The skill includes robust error handling for:

  • Token expiration - Automatic refresh with exponential backoff
  • Rate limiting - Retry logic with appropriate delays
  • Network errors - Connection timeout handling
  • Permission errors - Clear messages about missing scopes
  • API errors - Detailed error messages from Microsoft Graph
  • Account not found - Helpful error messages with suggestions

Rate Limits

Microsoft Graph API has rate limits:

  • Per-app limit: 130,000 requests per hour
  • Per-user limit: Variable based on workload
  • Throttling: 429 status code triggers automatic retry

The skill automatically handles throttling with exponential backoff.

Security Considerations

  1. Token Security: Tokens stored with restricted file permissions (0600)
  2. Per-Account Isolation: Each account has separate token storage
  3. Scope Limitation: Request only the minimum required permissions
  4. Refresh Tokens: Rotated automatically, old tokens invalidated
  5. Client Secret: Never logged or exposed; stored with mode 0600
  6. Multi-tenant: This setup is single-tenant (your organization only)

Troubleshooting

Multi-Account Issues

"No account specified and no default account set"

# Set a default account
node accounts.js default work

# Or always specify --account=
node calendar.js today --account=work

"Account not found"

# List available accounts
node accounts.js list

# Add the missing account
node accounts.js add <name> <tenant> <client> <secret>

Authentication expired

# Check status
node auth.js status --account=work

# Re-authenticate
node auth.js login --account=work

Common Issues

"AADSTS700016: Application not found in directory"

  • Verify Tenant ID matches your Azure AD tenant
  • Ensure app registration wasn't deleted

"AADSTS65001: User did not consent"

  • Complete the device code flow authentication
  • Check Admin Consent if required by organization

"AADSTS700082: Expired refresh token"

  • Re-authenticate using device code flow
  • Check token storage file permissions

"403 Forbidden"

  • Verify API permissions are granted in Azure
  • Check if admin consent is required

See Setup Guide and MULTI-ACCOUNT.md for detailed troubleshooting.

Limitations

  • Attachment size: Max 4MB per attachment (API limit)
  • Email recipients: Max 500 recipients per email
  • Calendar events: Limited to 1,095 days in the future
  • Batch operations: Max 20 requests per batch

Command Reference

Account Management

node accounts.js list                           # List all accounts
node accounts.js add <name> <tenant> <client> <secret> [email] [desc]
node accounts.js remove <name>                  # Remove account
node accounts.js default <name>                 # Set default
node accounts.js import-legacy                  # Import v1.0.0 setup

Authentication

node auth.js login [--account=name]            # Authenticate
node auth.js status [--account=name]           # Check status
node auth.js token [--account=name]            # Get access token

Email

node email.js recent [count] [--account=name]
node email.js search "query" [--account=name]
node email.js from email@domain [--account=name]
node email.js read <id> [--account=name]

Calendar

node calendar.js today [--account=name]
node calendar.js week [--account=name]

Send & Manage

node send-email.js send <to> <subject> <body> [--account=name]
node send-email.js reply <message-id> <body> [--account=name]
node cancel-event.js <event-id> [comment] [--account=name]

Resources

Documentation Files

Microsoft Resources

  • Microsoft Graph API Documentation: https://learn.microsoft.com/en-us/graph/api/overview
  • Delegated vs Application Permissions: https://learn.microsoft.com/en-us/graph/auth/auth-concepts
  • Rate Limiting: https://learn.microsoft.com/en-us/graph/throttling

Credits

Original Skill: office365-connector v1.0.0 from ClawHub Community

Multi-Account Enhancement (v2.0.0): Matthew Gordon (matt@workandthrive.ai)

Thank you to Matthew Gordon for contributing the multi-account enhancement that makes this skill significantly more useful for consultants, freelancers, and anyone managing multiple work identities!

See CREDITS.md for complete attribution.

License

Maintains compatibility with the original skill's licensing. See CREDITS.md for details.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

82.64%
按下载量换算21,641

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills