google-calendar-automation
Rube MCP(Composio)を使用して、Google Calendarのイベント作成、スケジュール管理、空き時間確認、参加者管理を自動化できます。イベントの作成、空き枠の検索、参加者の管理、カレンダーの一覧表示などをプログラムで実行でき、カレンダー運用の効率化が可能です。
description の原文を見る
Automate Google Calendar events, scheduling, availability checks, and attendee management via Rube MCP (Composio). Create events, find free slots, manage attendees, and list calendars programmatica...
SKILL.md 本文
Rube MCP経由のGoogle Calendar自動化
Composioの Google Calendarツールキットを通じて、イベント作成、スケジューリング、可用性チェック、出席者管理、カレンダー閲覧など、Google Calendarワークフローを自動化します。
前提条件
- Rube MCPが接続されていること(
RUBE_SEARCH_TOOLSが利用可能であること) RUBE_MANAGE_CONNECTIONS経由のアクティブなGoogle Calendar接続(ツールキット:googlecalendar)- 常に
RUBE_SEARCH_TOOLSを最初に呼び出して、現在のツールスキーマを取得すること
セットアップ
Rube MCPを取得: クライアント設定にMCPサーバーとして https://rube.app/mcp を追加してください。APIキーは不要です。エンドポイントを追加するだけで動作します。
RUBE_SEARCH_TOOLSが応答することで、Rube MCPが利用可能であることを確認しますRUBE_MANAGE_CONNECTIONSをツールキットgooglecalendarで呼び出します- 接続がACTIVEでない場合は、返されたauthリンクをたどってGoogle OAuthを完了します
- ワークフローを実行する前に、接続ステータスがACTIVEであることを確認します
コアワークフロー
1. イベントの作成と管理
使用時機: ユーザーがカレンダーイベントを作成、更新、または削除したい場合
ツール実行順序:
GOOGLECALENDAR_LIST_CALENDARS- 対象カレンダーIDを特定 [前提条件]GOOGLECALENDAR_GET_CURRENT_DATE_TIME- 適切なタイムゾーン付きで現在時刻を取得 [オプション]GOOGLECALENDAR_FIND_FREE_SLOTS- 予約前に可用性を確認 [オプション]GOOGLECALENDAR_CREATE_EVENT- イベントを作成 [必須]GOOGLECALENDAR_PATCH_EVENT- 既存イベントの特定フィールドを更新 [代替]GOOGLECALENDAR_UPDATE_EVENT- イベントの完全置換更新 [代替]GOOGLECALENDAR_DELETE_EVENT- イベントを削除 [オプション]
主要パラメータ:
calendar_id: メインカレンダーは'primary'、または特定のカレンダーIDstart_datetime: ISO 8601形式 'YYYY-MM-DDTHH:MM:SS'(自然言語ではない)timezone: IANAタイムゾーン名(例: 'America/New_York'、'EST'や'PST'ではない)event_duration_hour: 時間数(0以上)event_duration_minutes: 分数(0~59のみ。60以上は使用しないこと)summary: イベントタイトルattendees: メールアドレスの配列(名前ではない)location: イベント場所の自由形式テキスト
注意点:
start_datetimeはISO 8601である必要があります。'tomorrow'などの自然言語は拒否されますevent_duration_minutesの最大値は59です。60分の場合はevent_duration_hour=1を使用してくださいtimezoneはIANA識別子である必要があります。'EST'、'PST'などの省略形は有効ではありませんattendeesはメールアドレスのみを受け入れます。名前は受け入れません。先に名前を解決してください- Google Meetリンク作成はデフォルトで有効です。個人Gmailアカウントで失敗する可能性があります(グレースフルフォールバック)
- オーガナイザーは
exclude_organizer=trueを指定しない限り、自動的に出席者として追加されます
2. イベントの一覧表示と検索
使用時機: ユーザーがカレンダー上のイベントを検索またはブラウズしたい場合
ツール実行順序:
GOOGLECALENDAR_LIST_CALENDARS- 利用可能なカレンダーを取得 [前提条件]GOOGLECALENDAR_FIND_EVENT- タイトル/キーワードで検索、時間範囲指定 [必須]GOOGLECALENDAR_EVENTS_LIST- 時間範囲内のイベント一覧表示 [代替]GOOGLECALENDAR_EVENTS_INSTANCES- 定期イベントのインスタンスを一覧表示 [オプション]
主要パラメータ:
query/q: フリーテキスト検索(概要、説明、場所、出席者にマッチ)timeMin: 下限(RFC3339形式、タイムゾーンオフセット付き、例: '2024-01-01T00:00:00-08:00')timeMax: 上限(RFC3339形式、タイムゾーンオフセット付き)singleEvents: true で定期イベントをインスタンスに展開orderBy: 'startTime'(singleEvents=true が必須)または'updated'maxResults: 1ページあたりの結果数(最大2500)
注意点:
- タイムゾーン警告: UTC タイムスタンプ('Z'で終わる)はローカル日付と一致しません。代わりにローカルタイムゾーンオフセットを使用してください
- 例: '2026-01-19T00:00:00Z' は PST で 2026-01-18 16:00 から 2026-01-19 16:00 までをカバーします
timeMin/timeMaxを省略するとカレンダー全体をスキャンして遅くなる可能性があります- レスポンスに
pageTokenがあれば結果がまだあります。pageTokenが不在になるまでペジネーションを続けてください orderBy='startTime'にはsingleEvents=trueが必須です
3. 出席者と招待の管理
使用時機: ユーザーがイベント出席者を追加、削除、または更新したい場合
ツール実行順序:
GOOGLECALENDAR_FIND_EVENTまたはGOOGLECALENDAR_EVENTS_LIST- イベントを検索 [前提条件]GOOGLECALENDAR_PATCH_EVENT- 出席者を追加(出席者リスト全体を置換) [必須]GOOGLECALENDAR_REMOVE_ATTENDEE- メールアドレスで特定の出席者を削除 [必須]
主要パラメータ:
event_id: ユニークなイベント識別子(不透明な文字列、イベントタイトルではない)attendees: 出席者メールアドレスの完全なリスト(PATCH は全リストを置換)attendee_email: 削除するメールsend_updates: 'all'、'externalOnly'、または'none'
注意点:
event_idは技術識別子であり、イベントタイトルではありません。常に最初に検索して ID を取得してくださいPATCH_EVENTの attendees フィールドはリスト全体を置換します。既存の出席者を削除しないように含めてください- 出席者の名前は解決できません。常にメールアドレスを使用してください
- 出席者を管理する前に、
GMAIL_SEARCH_PEOPLEを使用して名前をメールアドレスに解決してください
4. 可用性とフリー/ビジーステータスの確認
使用時機: ユーザーが利用可能な時間帯を検索したり、ビジー期間を確認したい場合
ツール実行順序:
GOOGLECALENDAR_LIST_CALENDARS- チェック対象のカレンダーを特定 [前提条件]GOOGLECALENDAR_GET_CURRENT_DATE_TIME- タイムゾーン付きで現在時刻を取得 [オプション]GOOGLECALENDAR_FIND_FREE_SLOTS- カレンダー全体の空き時間帯を検索 [必須]GOOGLECALENDAR_FREE_BUSY_QUERY- ギャップ計算用のビジー期間の生データを取得 [フォールバック]GOOGLECALENDAR_CREATE_EVENT- 確認済みスロットを予約 [必須]
主要パラメータ:
items: チェック対象のカレンダーIDのリスト(例: ['primary'])time_min/time_max: クエリ間隔(省略時はカレント日付がデフォルト)timezone: ナイーブなタイムスタンプを解釈するための IANAタイムゾーンcalendarExpansionMax: 最大カレンダー数(1~50)groupExpansionMax: グループあたりの最大メンバー数(1~100)
注意点:
- Google Calendar freeBusy API制限により、最大期間は約90日です
- 非常に長い範囲またはアクセス不可能なカレンダーは、空のまたは無効な結果を返します
- freeBusyReader アクセス以上の権限があるカレンダーのみが表示されます
- 空き時間スロットレスポンスは UTC('Z')に正規化される可能性があります。オフセットを確認してください
GOOGLECALENDAR_FREE_BUSY_QUERYは RFC3339 タイムスタンプ(タイムゾーン付き)が必須です
共通パターン
ID解決
- カレンダー名 → calendar_id:
GOOGLECALENDAR_LIST_CALENDARSですべてのカレンダーを列挙 - イベントタイトル → event_id:
GOOGLECALENDAR_FIND_EVENTまたはGOOGLECALENDAR_EVENTS_LIST - 出席者名 → メール:
GMAIL_SEARCH_PEOPLE
タイムゾーン処理
- 常に IANA タイムゾーン識別子を使用してください(例: 'America/Los_Angeles')
- ユーザーのタイムゾーンで現在時刻を取得する際は
GOOGLECALENDAR_GET_CURRENT_DATE_TIMEを使用してください - ローカル日付のイベントをクエリする場合は、UTC ではなくローカルオフセット付きのタイムスタンプを使用してください
- 例: PST の場合は '2026-01-19T00:00:00-08:00'、'2026-01-19T00:00:00Z' ではない
ページネーション
GOOGLECALENDAR_EVENTS_LISTはnextPageTokenを返します。不在になるまで反復してくださいGOOGLECALENDAR_LIST_CALENDARSもページネーションします。page_tokenを使用してください
既知の注意点
- 自然言語の日付: サポートされていません。すべての日付は ISO 8601 または RFC3339 である必要があります
- タイムゾーン不一致: UTC タイムスタンプはフィルタリング用のローカル日付と一致しません
- 期間制限:
event_duration_minutesの最大値は 59 です。より長い期間は時間を使用してください - IANAタイムゾーンのみ: 'EST'、'PST'などは有効ではありません。'America/New_York' を使用してください
- イベントIDは不透明: 常に検索して event_id を取得してください。推測または作成しないでください
- メールとしての出席者: 名前は使用できません。
GMAIL_SEARCH_PEOPLEで解決してください - PATCH が出席者を置換: 新規のみではなく、すべての目的の出席者を配列に含めてください
- 会議の制限: Google Meet は個人アカウントで失敗する可能性があります(グレースフルフォールバック)
- レート制限: 大量の検索は 403/429 をトリガーします。呼び出し間でスロットルしてください
クイックリファレンス
| タスク | ツールスラッグ | 主要パラメータ |
|---|---|---|
| カレンダーを一覧表示 | GOOGLECALENDAR_LIST_CALENDARS | max_results |
| イベントを作成 | GOOGLECALENDAR_CREATE_EVENT | start_datetime, timezone, summary |
| イベントを更新 | GOOGLECALENDAR_PATCH_EVENT | calendar_id, event_id, 更新フィールド |
| イベントを削除 | GOOGLECALENDAR_DELETE_EVENT | calendar_id, event_id |
| イベントを検索 | GOOGLECALENDAR_FIND_EVENT | query, timeMin, timeMax |
| イベントを一覧表示 | GOOGLECALENDAR_EVENTS_LIST | calendarId, timeMin, timeMax |
| 定期イベントのインスタンス | GOOGLECALENDAR_EVENTS_INSTANCES | calendarId, eventId |
| 空き時間を検索 | GOOGLECALENDAR_FIND_FREE_SLOTS | items, time_min, time_max, timezone |
| フリー/ビジークエリ | GOOGLECALENDAR_FREE_BUSY_QUERY | timeMin, timeMax, items |
| 出席者を削除 | GOOGLECALENDAR_REMOVE_ATTENDEE | event_id, attendee_email |
| 現在時刻を取得 | GOOGLECALENDAR_GET_CURRENT_DATE_TIME | timezone |
| カレンダーを取得 | GOOGLECALENDAR_GET_CALENDAR | calendar_id |
使用時機
このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用可能です。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- c4kar
- リポジトリ
- c4kar/ktunDepo
- ライセンス
- MIT
- 最終更新
- 2026/3/28
Source: https://github.com/c4kar/ktunDepo / ライセンス: MIT