outlook-automation について
outlook-automationは、ComposioのOutlookツールキットとRube MCPを通じてMicrosoft Outlookを操作するスキルです。メール、カレンダー、連絡先、フォルダーのワークフローに利用できます。
主な機能
- 01メールの検索と絞り込み
- 02メールと添付ファイルの照会
- 03予定とスケジュールの管理
- 04連絡先の作成と整理
- 05メールフォルダーの管理
活用シーン
- 01送信者や日付でメールを検索
- 02特定フォルダー内のメールを絞り込み
- 03予定と空き時間を確認
- 04連絡先やメールフォルダーを作成
MCP 対応
Rube MCP経由でComposioのOutlookツールキットを呼び出します。MCP接続と有効なOutlookアカウント接続が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ composiohq/ awesome-claude-skills --skill outlook-automationインストール後、Claude Code で/outlook-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による Outlook の自動化
Rube MCP を介して Composio の Outlook ツールキットを使用し、Microsoft Outlook の操作を自動化します。
ツールキットのドキュメント:composio.dev/toolkits/outlook
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS を利用可能な状態にする)
- ツールキット
outlookを指定したRUBE_MANAGE_CONNECTIONSによる有効な Outlook 接続 - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出すこと
セットアップ
Rube MCP の入手:クライアントの設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで使用できます。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認します- ツールキット
outlookを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Microsoft OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. メールの検索と絞り込み
使用する場面:ユーザーがメールボックス全体から特定のメールを探したい場合
ツールの呼び出し順序:
OUTLOOK_SEARCH_MESSAGES- KQL 構文で全フォルダーを検索します[必須]OUTLOOK_GET_MESSAGE- メッセージの詳細をすべて取得します[任意]OUTLOOK_LIST_OUTLOOK_ATTACHMENTS- メッセージの添付ファイルを一覧表示します[任意]OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT- 添付ファイルをダウンロードします[任意]
主なパラメーター:
query:KQL 検索文字列(from:、to:、subject:、received:、hasattachment:)from_index:ページネーションの開始位置(0 起点)size:1 ページあたりの結果数(最大 25)message_id:メッセージ ID(検索結果の hitId を使用)
注意点:
- Microsoft 365/Enterprise アカウントでのみ機能します(@hotmail.com/@outlook.com は対象外)
- ページネーションは hitsContainers[0].moreResultsAvailable に依存します。false になるまで停止しないでください
- 後続の呼び出しで message_id として使用するのは、検索結果の hitId です。resource.id ではありません
- インデックスの遅延により、ごく最近のメールはすぐには表示されない場合があります
- インライン画像も添付ファイルとして表示されます。実際のドキュメントを取得するには mimetype で絞り込んでください
2. フォルダー内のメールを照会する
使用する場面:ユーザーが OData フィルターを使用して、特定のフォルダー内のメールを一覧表示したい場合
ツールの呼び出し順序:
OUTLOOK_LIST_MAIL_FOLDERS- メールフォルダーを一覧表示してフォルダー ID を取得します[前提条件]OUTLOOK_QUERY_EMAILS- 構造化フィルターを使用してメールを照会します[必須]
主なパラメーター:
folder:フォルダー名('inbox'、'sentitems'、'drafts')またはフォルダー IDfilter:OData フィルター(例:isRead eq false and importance eq 'high')top:結果の最大数(1~1000)orderby:並べ替えフィールドと順序select:返すフィールドの配列
注意点:
- QUERY_EMAILS が検索するのは単一のフォルダーのみです。フォルダーをまたいで検索する場合は SEARCH_MESSAGES を使用してください
- カスタムフォルダーでは表示名ではなくフォルダー ID が必要です。LIST_MAIL_FOLDERS を使用してください
- ページネーションでは必ず response['@odata.nextLink'] を確認してください
- 受信者や本文の内容では絞り込めません。その場合は SEARCH_MESSAGES を使用してください
3. カレンダーの予定を管理する
使用する場面:ユーザーがカレンダーの予定を一覧表示、検索、または確認したい場合
ツールの呼び出し順序:
OUTLOOK_LIST_EVENTS- フィルターを使用して予定を一覧表示します[任意]OUTLOOK_GET_CALENDAR_VIEW- 指定した期間内の予定を取得します[任意]OUTLOOK_GET_EVENT- 特定の予定の詳細を取得します[任意]OUTLOOK_LIST_CALENDARS- 利用可能なカレンダーを一覧表示します[任意]OUTLOOK_GET_SCHEDULE- 空き時間/予定ありの情報を取得します[任意]
主なパラメーター:
filter:OData フィルター(start/dateTime を使用し、receivedDateTime は使用しないでください)start_datetime/end_datetime:カレンダービュー用の ISO 8601 形式timezone:IANA タイムゾーン(例:'America/New_York')calendar_id:任意のセカンダリカレンダー IDselect:返すフィールド
注意点:
- カレンダー予定のプロパティ(start/dateTime、end/dateTime)のみを使用し、メールのプロパティ(receivedDateTime)は使用しないでください
- カレンダービューには start_datetime と end_datetime が必要です
- 繰り返しの予定で個々の発生分を表示するには、
expand_recurring_events=trueが必要です - 辞退ステータスは参加者ごとに attendees[].status.response で確認します
4. 連絡先を管理する
使用するタイミング:連絡先の一覧表示、作成、整理を行いたい場合
ツールの実行順序:
OUTLOOK_LIST_CONTACTS- 連絡先を一覧表示します[任意]OUTLOOK_CREATE_CONTACT- 新しい連絡先を作成します[任意]OUTLOOK_GET_CONTACT_FOLDERS- 連絡先フォルダーを一覧表示します[任意]OUTLOOK_CREATE_CONTACT_FOLDER- 連絡先フォルダーを作成します[任意]
主なパラメーター:
givenName/surname:連絡先の名前emailAddresses:メールアドレスオブジェクトの配列displayName:表示名contact_folder_id:連絡先を保存する任意のフォルダー
注意点:
- 連絡先の作成では多くのフィールドを指定できますが、必要なのは
givenNameまたはsurnameのみです
5. メールフォルダーを管理する
使用するタイミング:メールフォルダーを整理したい場合
ツールの実行順序:
OUTLOOK_LIST_MAIL_FOLDERS- トップレベルのフォルダーを一覧表示します[必須]OUTLOOK_LIST_CHILD_MAIL_FOLDERS- サブフォルダーを一覧表示します[任意]OUTLOOK_CREATE_MAIL_FOLDER- 新しいフォルダーを作成します[任意]
主なパラメーター:
parent_folder_id:既知の名前またはフォルダー IDdisplayName:新しいフォルダー名include_hidden_folders:非表示のフォルダーを表示します
注意点:
- 既知のフォルダー名:'inbox'、'sentitems'、'drafts'、'deleteditems'、'junkemail'、'archive'
- カスタムフォルダーの操作には、表示名ではなくフォルダー ID が必要です
よく使われるパターン
KQL 検索構文
プロパティフィルター:
from:[email protected]- 送信者を指定to:[email protected]- 宛先を指定subject:invoice- 件名に含まれる語句を指定received>=2025-01-01- 日付フィルターhasattachment:yes- 添付ファイルの有無を指定
論理演算子:
AND- 両方の条件OR- いずれかの条件- グループ化には括弧を使用
OData フィルター構文
メールフィルター:
isRead eq false- 未読メールimportance eq 'high'- 重要度が高いメールhasAttachments eq true- 添付ファイルがあるメールreceivedDateTime ge 2025-01-01T00:00:00Z- 日付フィルター
カレンダーフィルター:
start/dateTime ge '2025-01-01T00:00:00Z'- 指定日以降の予定contains(subject, 'Meeting')- 件名に指定したテキストを含む予定
既知の注意点
アカウントの種類:
- SEARCH_MESSAGES には Microsoft 365/Enterprise アカウントが必要です
- 個人用アカウント(@hotmail.com、@outlook.com)では API へのアクセスが制限されています
フィールドの混同:
- メールのプロパティ(receivedDateTime)とカレンダーのプロパティ(start/dateTime)は異なります
- カレンダーのクエリでメールのフィールドを使用したり、その逆を行ったりしないでください
クイックリファレンス
| タスク | ツールスラッグ | 主なパラメーター |
|---|---|---|
| メールを検索 | OUTLOOK_SEARCH_MESSAGES | query, from_index, size |
| フォルダーをクエリ | OUTLOOK_QUERY_EMAILS | folder, filter, top |
| メッセージを取得 | OUTLOOK_GET_MESSAGE | message_id |
| 添付ファイルを一覧表示 | OUTLOOK_LIST_OUTLOOK_ATTACHMENTS | message_id |
| 添付ファイルをダウンロード | OUTLOOK_DOWNLOAD_OUTLOOK_ATTACHMENT | message_id, attachment_id |
| フォルダーを一覧表示 | OUTLOOK_LIST_MAIL_FOLDERS | (なし) |
| 子フォルダー | OUTLOOK_LIST_CHILD_MAIL_FOLDERS | parent_folder_id |
| 予定を一覧表示 | OUTLOOK_LIST_EVENTS | filter, timezone |
| カレンダー表示 | OUTLOOK_GET_CALENDAR_VIEW | start_datetime, end_datetime |
| 予定を取得 | OUTLOOK_GET_EVENT | event_id |
| カレンダーを一覧表示 | OUTLOOK_LIST_CALENDARS | (なし) |
| 空き時間/予定あり | OUTLOOK_GET_SCHEDULE | schedules, times |
| 連絡先を一覧表示 | OUTLOOK_LIST_CONTACTS | top, filter |
| 連絡先を作成 | OUTLOOK_CREATE_CONTACT | givenName, emailAddresses |
| 連絡先フォルダー | OUTLOOK_GET_CONTACT_FOLDERS | (なし) |
Composio によって提供