Skip to content
Automation
Skill

/outlook-calendar-automation

Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas.

From plugin
lihongwei-cn
5200 skills1 agent
Install
$ npx -y skills add LiHongwei-cn/lihongwei-cn --skill outlook-calendar-automation --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/outlook-calendar-automation

Context preview

The summary Claude sees to decide when to auto-load this skill.

Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas.

SKILL.md

outlook-calendar-automation.SKILL.md
name: outlook-calendar-automation
description: "Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas."
risk: critical
source: community
date_added: "2026-02-27"

Outlook Calendar Automation via Rube MCP

Automate Outlook Calendar operations through Composio's Outlook toolkit via Rube MCP.

Prerequisites

  • Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
  • Active Outlook connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `outlook`
  • Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas

Setup

**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.

1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds 2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `outlook` 3. If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth 4. Confirm connection status shows ACTIVE before running any workflows

Core Workflows

1. Create Calendar Events

**When to use**: User wants to schedule a new event on their Outlook calendar

**Tool sequence**: 1. `OUTLOOK_LIST_CALENDARS` - List available calendars [Optional] 2. `OUTLOOK_CALENDAR_CREATE_EVENT` - Create the event [Required]

**Key parameters**:

  • `subject`: Event title
  • `start_datetime`: ISO 8601 start time (e.g., '2025-01-03T10:00:00')
  • `end_datetime`: ISO 8601 end time (must be after start)
  • `time_zone`: IANA or Windows timezone (e.g., 'America/New_York', 'Pacific Standard Time')
  • `attendees_info`: Array of email strings or attendee objects
  • `body`: Event description (plain text or HTML)
  • `is_html`: Set true if body contains HTML
  • `location`: Physical location string
  • `is_online_meeting`: Set true for Teams meeting link
  • `online_meeting_provider`: 'teamsForBusiness' for Teams integration
  • `show_as`: 'free', 'tentative', 'busy', 'oof'

**Pitfalls**:

  • start_datetime must be chronologically before end_datetime
  • time_zone is required and must be a valid IANA or Windows timezone name
  • Adding attendees can trigger invitation emails immediately
  • To generate a Teams meeting link, set BOTH is_online_meeting=true AND online_meeting_provider='teamsForBusiness'
  • user_id defaults to 'me'; use email or UUID for other users' calendars

2. List and Search Events

**When to use**: User wants to find events on their calendar

**Tool sequence**: 1. `OUTLOOK_GET_MAILBOX_SETTINGS` - Get user timezone for accurate queries [Prerequisite] 2. `OUTLOOK_LIST_EVENTS` - Search events with filters [Required] 3. `OUTLOOK_GET_EVENT` - Get full details for a specific event [Optional] 4. `OUTLOOK_GET_CALENDAR_VIEW` - Get events active during a time window [Alternative]

**Key parameters**:

  • `filter`: OData filter string (e.g., "start/dateTime ge '2024-07-01T00:00:00Z'")
  • `select`: Array of properties to return
  • `orderby`: Sort criteria (e.g., ['start/dateTime desc'])
  • `top`: Results per page (1-999)
  • `timezone`: Display timezone for results
  • `start_datetime`/`end_datetime`: For CALENDAR_VIEW time window (UTC with Z suffix)

**Pitfalls**:

  • OData filter datetime values require single quotes and Z suffix
  • Use 'start/dateTime' for event start filtering, NOT 'receivedDateTime' (that is for emails)
  • 'createdDateTime' supports orderby/select but NOT filtering
  • Pagination: follow @odata.nextLink until all pages are collected
  • CALENDAR_VIEW is better for "what's on my calendar today" queries (includes spanning events)
  • LIST_EVENTS is better for keyword/category filtering
  • Response events have start/end nested as start.dateTime and end.dateTime

3. Update Events

**When to use**: User wants to modify an existing calendar event

**Tool sequence**: 1. `OUTLOOK_LIST_EVENTS` - Find the event to update [Prerequisite] 2. `OUTLOOK_UPDATE_CALENDAR_EVENT` - Update the event [Required]

**Key parameters**:

  • `event_id`: Unique event identifier (from LIST_EVENTS)
  • `subject`: New event title (optional)
  • `start_datetime`/`end_datetime`: New times (optional)
  • `time_zone`: Timezone for new times
  • `attendees`: Updated attendee list (replaces existing if provided)
  • `body`: Updated description with contentType and content
  • `location`: Updated location

**Pitfalls**:

  • UPDATE merges provided fields with existing event; unspecified fields are preserved
  • Providing attendees replaces the ENTIRE attendee list; include all desired attendees
  • Providing categories replaces the ENTIRE category list
  • Updating times may trigger re-sends to attendees
  • event_id is required; obtain from LIST_EVENTS first

4. Delete Events and Decline Invitations

**When to use**: User wants to remove an event or decline a meeting invitation

**Tool sequence**: 1. `OUTLOOK_DELETE_EVENT` - Delete an event [Optional] 2. `OUTLOOK_DECLINE_EVENT` - Decline a meeting invitation [Optional]

**Key parameters**:

  • `event_id`: Event to delete or decline
  • `send_notifications`: Send cancellation notices to attendees (default true)
  • `comment`: Reason for declining (for DECLINE_EVENT)
  • `proposedNewTime`: Suggest alternative time when declining

**Pitfalls**:

  • Deletion with send_notifications=true sends cancellation emails
  • Declining supports proposing a new time with start/end in ISO 8601 format
  • Deleting a recurring event master deletes all occurrences
  • sendResponse in DECLINE_EVENT controls whether the organizer is notified

5. Find Available Meeting Times

**When to use**: User wants to find optimal meeting slots across multiple people

**Tool sequence**: 1. `OUTLOOK_FIND_MEETING_TIMES` - Get meeting time suggestions [Required] 2. `OUTLOOK_GET_SCHEDULE` - Check free/busy for specific people [Alternative]

**Key parameters**:

  • `attendees`: Array of attendee objects with email and type
  • `meetingDuration`: ISO 8601 duration (e.g., 'PT1H' for 1 hour, 'PT30M' for 30 min)
  • `timeConstraint`
Read more
Ships withlihongwei-cn

MUNDO - THE EMPEROR. Complete AI orchestration system with 1208 skills, 25 capability modules, self-evolving, collective consciousness. GitHub Actions 24/7 automation.

Get the whole plugin
Stats
5
Stars
1
Forks
Maintained
Maintenance
Python
Language
MIT
License
1mo ago
Last commit
4mo ago
Created

Repo: LiHongwei-cn/lihongwei-cn

Other skills on lihongwei-cn.

cheat-on-content
Skill

cheat-on-content

给所有想把"感觉"变成可校准预测的内容创作者。**方法论通用**——打分 → 盲预测 → T+3d 复盘 → 进化 rubric 的循环适用任何能被量化(播放 / 阅读 / 收听 / 点击)的内容。**rubric 是循环的内容,不是循环本身**——当前内置一份观点视频 rubric(参考博主 25+…

cheat-bump
Skill

cheat-bump

提议并执行 rubric 或 bucket 升级。两种模式:**完整 rubric bump**(最高风险动作,5 步强制 + 跨模型审核)和 **--bucket-only 轻量重校**(只换 bucket 边界,不动 rubric 公式)。**Phase 2 强制走 cheat-score-blind…

cheat-init
Skill

cheat-init

cheat-on-content 的首次 onboarding 与脚手架创建器。统一流程——所有用户都走相同 5 阶段闭环,唯一区别是"发过视频的人"会在 init 时多一步:抓取已有视频建立历史 context(用于后续 cheat-seed 给更贴合的选题、更准的…

cheat-migrate
Skill

cheat-migrate

把老用户的 .cheat-state.json 升级到当前 schema_version。读 migrations/registry.md 算迁移链,按顺序应用每一步迁移文件。幂等:跑两次结果一样。失败停在中间版本不前进。触发词:"迁移"/"升级 state"/"migrate"/"我的 state…

cheat-persona
Skill

cheat-persona

从复盘评论数据派生 / 刷新账号的受众画像,写入 audience.md。这是和 rubric 平行的第二个派生物——rubric 答"怎么打分",persona 答"谁在看"。cheat-seed 选题 / 写稿时读它。**audience.md 含实绩信号,cheat-score-blind…