💼 Outlook Calendar Automation
Outlookカレンダーでのイベント作成や出席者管理、会議
📺 まず動画で見る(YouTube)
▶ 【自動化】AIガチ勢の最新活用術6選がこれ1本で丸分かり!【ClaudeCode・AIエージェント・AI経営・Skills・MCP】 ↗
※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と 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.
🇯🇵 日本人クリエイター向け解説
Outlookカレンダーでのイベント作成や出席者管理、会議
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o outlook-calendar-automation.zip https://jpskill.com/download/3267.zip && unzip -o outlook-calendar-automation.zip && rm outlook-calendar-automation.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/3267.zip -OutFile "$d\outlook-calendar-automation.zip"; Expand-Archive "$d\outlook-calendar-automation.zip" -DestinationPath $d -Force; ri "$d\outlook-calendar-automation.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
outlook-calendar-automation.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
outlook-calendar-automationフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。
詳しい使い方ガイドを見る →- 最終更新
- 2026-05-17
- 取得日時
- 2026-05-17
- 同梱ファイル
- 1
💬 こう話しかけるだけ — サンプルプロンプト
- › Outlook Calendar Automation で、私のビジネスを分析して改善案を3つ提案して
- › Outlook Calendar Automation を使って、来週の会議用の資料を作って
- › Outlook Calendar Automation で、現状の課題を整理してアクションプランに落として
これをClaude Code に貼るだけで、このSkillが自動発動します。
📖 Claude が読む原文 SKILL.md(中身を展開)
この本文は AI(Claude)が読むための原文(英語または中国語)です。日本語訳は順次追加中。
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_CONNECTIONSwith toolkitoutlook - Always call
RUBE_SEARCH_TOOLSfirst 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.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLSresponds - Call
RUBE_MANAGE_CONNECTIONSwith toolkitoutlook - If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth
- 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:
OUTLOOK_LIST_CALENDARS- List available calendars [Optional]OUTLOOK_CALENDAR_CREATE_EVENT- Create the event [Required]
Key parameters:
subject: Event titlestart_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 objectsbody: Event description (plain text or HTML)is_html: Set true if body contains HTMLlocation: Physical location stringis_online_meeting: Set true for Teams meeting linkonline_meeting_provider: 'teamsForBusiness' for Teams integrationshow_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:
OUTLOOK_GET_MAILBOX_SETTINGS- Get user timezone for accurate queries [Prerequisite]OUTLOOK_LIST_EVENTS- Search events with filters [Required]OUTLOOK_GET_EVENT- Get full details for a specific event [Optional]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 returnorderby: Sort criteria (e.g., ['start/dateTime desc'])top: Results per page (1-999)timezone: Display timezone for resultsstart_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:
OUTLOOK_LIST_EVENTS- Find the event to update [Prerequisite]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 timesattendees: Updated attendee list (replaces existing if provided)body: Updated description with contentType and contentlocation: 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:
OUTLOOK_DELETE_EVENT- Delete an event [Optional]OUTLOOK_DECLINE_EVENT- Decline a meeting invitation [Optional]
Key parameters:
event_id: Event to delete or declinesend_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:
OUTLOOK_FIND_MEETING_TIMES- Get meeting time suggestions [Required]OUTLOOK_GET_SCHEDULE- Check free/busy for specific people [Alternative]
Key parameters:
attendees: Array of attendee objects with email and typemeetingDuration: ISO 8601 duration (e.g., 'PT1H' for 1 hour, 'PT30M' for 30 min)timeConstraint: Time slots to search withinminimumAttendeePercentage: Minimum confidence threshold (0-100)Schedules: Email array for GET_SCHEDULEStartTime/EndTime: Time window for schedule lookup (max 62 days)
Pitfalls:
- FIND_MEETING_TIMES searches within work hours by default; use activityDomain='unrestricted' for 24/7
- Time constraint time slots require dateTime and timeZone for both start and end
- GET_SCHEDULE period cannot exceed 62 days
- Meeting suggestions respect attendee availability but may return suboptimal times for complex groups
Common Patterns
Event ID Resolution
1. Call OUTLOOK_LIST_EVENTS with time-bound filter
2. Find target event by subject or other criteria
3. Extract event id (e.g., 'AAMkAGI2TAAA=')
4. Use in UPDATE, DELETE, or GET_EVENT calls
OData Filter Syntax for Calendar
Time range filter:
filter: "start/dateTime ge '2024-07-01T00:00:00Z' and start/dateTime le '2024-07-31T23:59:59Z'"
Subject contains:
filter: "contains(subject, 'Project Review')"
Combined:
filter: "contains(subject, 'Review') and categories/any(c:c eq 'Work')"
Timezone Handling
- Get user timezone:
OUTLOOK_GET_MAILBOX_SETTINGSwith select=['timeZone'] - Use consistent timezone in filter datetime values
- Calendar View requires UTC timestamps with Z suffix
- LIST_EVENTS filter accepts timezone in datetime values
Online Meeting Creation
1. Set is_online_meeting: true
2. Set online_meeting_provider: 'teamsForBusiness'
3. Create event with OUTLOOK_CALENDAR_CREATE_EVENT
4. Teams join link available in response onlineMeeting field
5. Or retrieve via OUTLOOK_GET_EVENT for the full join URL
Known Pitfalls
DateTime Formats:
- ISO 8601 format required: '2025-01-03T10:00:00'
- Calendar View requires UTC with Z: '2025-01-03T10:00:00Z'
- Filter values need single quotes: "'2025-01-03T00:00:00Z'"
- Timezone mismatches shift event boundaries; always resolve user timezone first
OData Filter Errors:
- 400 Bad Request usually indicates filter syntax issues
- Not all event properties support filtering (createdDateTime does not)
- Retry with adjusted syntax/bounds on 400 errors
- Valid filter fields: start/dateTime, end/dateTime, subject, categories, isAllDay
Attendee Management:
- Adding attendees triggers invitation emails
- Updating attendees replaces the full list; include all desired attendees
- Attendee types: 'required', 'optional', 'resource'
- Calendar delegation affects which calendars are accessible
Response Structure:
- Events nested at response.data.value
- Event times at event.start.dateTime and event.end.dateTime
- Calendar View may nest at data.results[i].response.data.value
- Parse defensively with fallbacks for different nesting levels
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Create event | OUTLOOK_CALENDAR_CREATE_EVENT | subject, start_datetime, end_datetime, time_zone |
| List events | OUTLOOK_LIST_EVENTS | filter, select, top, timezone |
| Get event details | OUTLOOK_GET_EVENT | event_id |
| Calendar view | OUTLOOK_GET_CALENDAR_VIEW | start_datetime, end_datetime |
| Update event | OUTLOOK_UPDATE_CALENDAR_EVENT | event_id, subject, start_datetime |
| Delete event | OUTLOOK_DELETE_EVENT | event_id, send_notifications |
| Decline event | OUTLOOK_DECLINE_EVENT | event_id, comment |
| Find meeting times | OUTLOOK_FIND_MEETING_TIMES | attendees, meetingDuration |
| Get schedule | OUTLOOK_GET_SCHEDULE | Schedules, StartTime, EndTime |
| List calendars | OUTLOOK_LIST_CALENDARS | user_id |
| Mailbox settings | OUTLOOK_GET_MAILBOX_SETTINGS | select |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.