mcpField
C
calendly-automation

calendly-automation

github.com/sickn33生産性48.8k116 回インストール今日更新
リポジトリ

calendly-automation について

calendly-automation は、Rube MCP と Composio の Calendly ツールキットを使って、Calendly の予約や組織管理を行うスキルです。ツールの呼び出し順、URI とページネーションの要件に加え、書き込み操作の権限や確認条件を示します。

主な機能

  1. 01イベント一覧と招待者の確認
  2. 02イベントタイプと空き時間の照会
  3. 03単回利用のスケジューリングリンク作成
  4. 04組織への招待とメンバーの管理
  5. 05手順に沿ったイベントのキャンセル

活用シーン

  1. 01指定した範囲の予約イベントの確認
  2. 02イベントタイプの空き時間の照会
  3. 03イベントタイプの予約リンク作成
  4. 04組織への招待やイベントのキャンセル

MCP 対応

クライアントを `https://rube.app/mcp` の Rube MCP に接続し、Composio の Calendly ツールキットを利用します。ワークフローの実行前に Calendly の接続状態を確認し、最新のツールスキーマを取得します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/sickn33/agentic-awesome-skills --skill calendly-automation

インストール後、Claude Code で/calendly-automationを入力して読み込まれたか確認します。

詳細

Rube MCP による Calendly の自動化

Composio の Calendly ツールキットを通じて、イベントの一覧表示、招待者の管理、スケジュールリンクの作成、空き状況の照会、組織の管理など、Calendly の操作を自動化します。

前提条件

  • Rube MCP が接続されている必要があります(RUBE_SEARCH_TOOLS を利用可能な状態にします)
  • calendly ツールキットを使用した、RUBE_MANAGE_CONNECTIONS による有効な Calendly 接続
  • 最新のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください
  • 多くの操作にはユーザーの Calendly URI が必要です。CALENDLY_GET_CURRENT_USER で取得できます

セットアップ

Rube MCP を取得する:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。アカウントのリンク/OAuth と許可されたスコープも必要です。エンドポイントを追加するだけでは Calendly へのアクセス権は付与されません。ホスト設定の追加や変更は、許可を得た場合に限って行ってください。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. calendly ツールキットを指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクを開いて Calendly OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

書き込み操作の前に、実際のユーザー/組織とタイムゾーンを確認してください。一覧の取得は、招待、メンバーの削除、スケジュールリンクの作成、キャンセルを許可するものではありません。依頼された変更操作ごとに、その対象と通知への影響を確認してください。最新のスキーマと返されたページネーションフィールドを参照してください。この静的なツール名一覧は変更されている可能性があります。結果が不確かな書き込み操作は、既存の状態を確認せずに再試行しないでください。

1. スケジュール済みイベントの一覧表示と確認

使用する場合:ユーザーが今後または過去の Calendly イベント、あるいは条件を指定したイベントを確認したい場合

ツールの呼び出し順序:

  1. CALENDLY_GET_CURRENT_USER - 認証済みユーザーの URI と組織の URI を取得します[前提条件]
  2. CALENDLY_LIST_EVENTS - ユーザー、組織、またはグループをスコープとしてイベントを一覧表示します[必須]
  3. CALENDLY_GET_EVENT - 特定のイベントの詳細情報を UUID で取得します[任意]

主なパラメーター:

  • user:Calendly API の完全な URI(例:https://api.calendly.com/users/{uuid})。"me" は指定できません
  • organization:組織をスコープとするクエリに使用する組織の完全な URI
  • status:"active" または "canceled"
  • min_start_time / max_start_time:UTC タイムスタンプ(例:2024-01-01T00:00:00.000000Z)
  • invitee_email:招待者のメールアドレスによるイベントの絞り込み(フィルターであり、スコープではありません)
  • sort:"start_time:asc" または "start_time:desc"
  • count:1ページあたりの結果数(デフォルトは 20)
  • page_token:前回の応答から取得したページネーショントークン

注意点:

  • user、organization、group のうち、指定する必要があるのはちょうど 1 つです。省略したり、複数を組み合わせたりすると失敗します
  • user パラメーターには "me" ではなく、API の完全な URI が必要です。最初に CALENDLY_GET_CURRENT_USER を使用してください
  • invitee_email はフィルターであり、スコープではありません。user、organization、group のいずれかも指定する必要があります
  • ページネーションには count と page_token を使用します。完全な結果を取得するには、page_token がなくなるまで繰り返してください
  • 組織またはグループをスコープとするクエリには、管理者権限が必要な場合があります
2. イベントの招待者を管理する

使用する場合:イベントの予約者を確認したい場合、または招待者の詳細情報を取得したい場合

ツールの呼び出し順序:

  1. CALENDLY_LIST_EVENTS - 対象のイベントを特定します[前提条件]
  2. CALENDLY_LIST_EVENT_INVITEES - 特定のイベントの招待者をすべて一覧表示します[必須]
  3. CALENDLY_GET_EVENT_INVITEE - 1 人の招待者の詳細情報を取得します[任意]

主なパラメーター:

  • uuid:イベントの UUID(LIST_EVENT_INVITEES 用)
  • event_uuid + invitee_uuid:GET_EVENT_INVITEE では両方が必要です
  • email:メールアドレスで招待者を絞り込みます
  • status:"active" または "canceled"
  • sort:"created_at:asc" または "created_at:desc"
  • count:1ページあたりの結果数(デフォルトは 20)

注意点:

  • CALENDLY_LIST_EVENT_INVITEES の uuid パラメーターに指定するのはイベントの UUID であり、招待者の UUID ではありません
  • 招待者の一覧をすべて取得するには、page_token がなくなるまでページネーションを行ってください
  • キャンセルされた招待者はデフォルトでは除外されます。確認するには status: "canceled" を指定してください
3. スケジューリングリンクの作成と空き状況の確認

使用するタイミング: ユーザーが予約リンクを生成したい、または空き時間枠を確認したい場合

ツールの順序:

  1. CALENDLY_GET_CURRENT_USER - ユーザー URI を取得する [前提条件]
  2. CALENDLY_LIST_USER_S_EVENT_TYPES - 利用可能なイベントタイプを一覧表示する [必須]
  3. CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES - イベントタイプの空き枠を確認する [任意]
  4. CALENDLY_CREATE_SCHEDULING_LINK - 単回使用のスケジューリングリンクを生成する [必須]
  5. CALENDLY_LIST_USER_AVAILABILITY_SCHEDULES - ユーザーの可用性スケジュールを表示する [任意]

主要なパラメータ:

  • owner: イベントタイプ URI(例: https://api.calendly.com/event_types/{uuid})
  • owner_type: "EventType"(デフォルト)
  • max_event_count: 単回使用リンクの場合は必ず 1 にする必要があります
  • start_time / end_time: 可用性クエリ用の UTC タイムスタンプ(最大 7 日間の範囲)
  • active: 有効/無効なイベントタイプをフィルタリングするブール値
  • user: イベントタイプ一覧表示用のユーザー URI

注意点:

  • CALENDLY_CREATE_SCHEDULING_LINK は、トークンに権限がない場合や owner URI が無効な場合に 403 を返すことがあります
  • CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMES には UTC タイムスタンプと最大 7 日間の範囲が必要です。それより長い検索は分割してください
  • 空き時間の結果はページネーションされません - すべての結果が 1 つのレスポンスで返されます
  • イベントタイプ URI は完全な API URI である必要があります(例: https://api.calendly.com/event_types/...)
4. イベントのキャンセル

使用するタイミング: ユーザーが予定されている Calendly イベントをキャンセルしたい場合

ツールの順序:

  1. CALENDLY_LIST_EVENTS - キャンセルするイベントを探す [前提条件]
  2. CALENDLY_GET_EVENT - キャンセル前にイベントの詳細を確認する [前提条件]
  3. CALENDLY_LIST_EVENT_INVITEES - 影響を受ける招待者を確認する [任意]
  4. CALENDLY_CANCEL_EVENT - イベントをキャンセルする [必須]

主要なパラメータ:

  • uuid: キャンセルするイベントの UUID
  • reason: 任意のキャンセル理由(招待者への通知に含まれる場合があります)

注意点:

  • キャンセルは取り消しできません - 呼び出す前に必ずユーザーに確認してください
  • キャンセルにより招待者へ通知が送信される場合があります
  • キャンセルできるのは有効なイベントのみです。すでにキャンセルされたイベントはエラーを返します
  • CALENDLY_CANCEL_EVENT を実行する前に、ユーザーから明確な確認を取得してください
5. 組織と招待の管理

使用するタイミング: ユーザーがメンバーを招待したい、組織を管理したい、または組織の招待を処理したい場合

ツールの順序:

  1. CALENDLY_GET_CURRENT_USER - ユーザーと組織のコンテキストを取得する [前提条件]
  2. CALENDLY_GET_ORGANIZATION - 組織の詳細を取得する [任意]
  3. CALENDLY_LIST_ORGANIZATION_INVITATIONS - 既存の招待を確認する [任意]
  4. CALENDLY_CREATE_ORGANIZATION_INVITATION - 組織の招待を送信する [必須]
  5. CALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION - 保留中の招待を取り消す [任意]
  6. CALENDLY_REMOVE_USER_FROM_ORGANIZATION - メンバーを削除する [任意]

主要なパラメータ:

  • uuid: 組織の UUID
  • email: 招待するユーザーのメールアドレス
  • status: 招待を "pending"、"accepted"、または "declined" でフィルタリングします

注意点:

  • 招待と削除を管理できるのは組織のオーナー/管理者のみです。それ以外のユーザーは認可エラーになります
  • 同じメールアドレスに対する有効な招待が重複している場合は拒否されます - まず既存の招待を確認してください
  • 組織のオーナーは CALENDLY_REMOVE_USER_FROM_ORGANIZATION で削除できません
  • 招待のステータスには pending、accepted、declined、revoked があります - それぞれに適切に対応してください

一般的なパターン

ID の解決

Calendly は識別子として単純な ID ではなく完全な API URI を使用します:

  • 現在のユーザー URI: CALENDLY_GET_CURRENT_USER は resource.uri を返します(例: https://api.calendly.com/users/{uuid})
  • 組織 URI: 現在のユーザーのレスポンスの resource.current_organization に含まれます
  • イベント UUID: イベント URI または一覧レスポンスから抽出します
  • イベントタイプ URI: CALENDLY_LIST_USER_S_EVENT_TYPES のレスポンスから取得します

重要: 一覧/フィルタのエンドポイントでユーザーパラメータとして "me" を決して使用しないでください。必ず最初に完全な URI に解決してください。

ページネーション

ほとんどの Calendly のリストエンドポイントは、トークンベースのページネーションを使用します:

  • count でページサイズを設定します(デフォルトは 20)
  • pagination.next_page_token の page_token を、存在しなくなるまで辿ります
  • field:direction 形式でソートします(例:start_time:asc、created_at:desc)
時刻の扱い
  • すべてのタイムスタンプは UTC 形式である必要があります:yyyy-MM-ddTHH:mm:ss.ffffffZ
  • イベントの日付範囲フィルタリングには min_start_time / max_start_time を使用します
  • 空き時間のクエリは最大 7 日間の範囲です。それより長い検索は複数の呼び出しに分割してください

既知の落とし穴

URI 形式
  • すべてのエンティティ参照は完全な Calendly API URI を使用します(例:https://api.calendly.com/users/{uuid})
  • URI が期待される箇所に裸の UUID を渡さないでください。また、リストエンドポイントに "me" を渡さないでください
  • ツールが UUID パラメータを期待する場合(例:CALENDLY_GET_EVENT)、URI から UUID を抽出してください
スコープの要件
  • CALENDLY_LIST_EVENTS は正確に 1 つのスコープ(user、organization、または group)を必要とします - それ以上でもそれ以下でもありません
  • 組織/グループスコープのクエリには管理者権限が必要な場合があります
  • トークンのスコープによって利用可能な操作が決まります。403 エラーは権限不足を示します
データの関連性
  • イベントには招待者(予約した出席者)がいます
  • イベントタイプはスケジューリングページ(所要時間、空き時間ルール)を定義します
  • 組織にはユーザーとグループが含まれます
  • スケジューリングリンクはイベントタイプに紐づき、イベントに直接紐づくわけではありません
レート制限
  • Calendly API にはレート制限があります。大規模なデータセットに対するタイトなループは避けてください
  • 責任を持ってページネーションを行い、バッチ操作には遅延を加えてください

クイックリファレンス

タスクツールスラッグ主なパラメータ
現在のユーザーを取得CALENDLY_GET_CURRENT_USER(なし)
UUID でユーザーを取得CALENDLY_GET_USERuuid
イベントを一覧表示CALENDLY_LIST_EVENTSuser、status、min_start_time
イベントの詳細を取得CALENDLY_GET_EVENTuuid
イベントをキャンセルCALENDLY_CANCEL_EVENTuuid、reason
招待者を一覧表示CALENDLY_LIST_EVENT_INVITEESuuid、status、email
招待者を取得CALENDLY_GET_EVENT_INVITEEevent_uuid、invitee_uuid
イベントタイプを一覧表示CALENDLY_LIST_USER_S_EVENT_TYPESuser、active
イベントタイプを取得CALENDLY_GET_EVENT_TYPEuuid
空き状況を確認CALENDLY_LIST_EVENT_TYPE_AVAILABLE_TIMESイベントタイプ URI、start_time、end_time
スケジューリングリンクを作成CALENDLY_CREATE_SCHEDULING_LINKowner、max_event_count
空き時間スケジュールを一覧表示CALENDLY_LIST_USER_AVAILABILITY_SCHEDULESユーザー URI
組織を取得CALENDLY_GET_ORGANIZATIONuuid
組織に招待CALENDLY_CREATE_ORGANIZATION_INVITATIONuuid、email
組織の招待を一覧表示CALENDLY_LIST_ORGANIZATION_INVITATIONSuuid、status
組織の招待を取り消しCALENDLY_REVOKE_USER_S_ORGANIZATION_INVITATION組織 UUID、招待 UUID
組織から削除CALENDLY_REMOVE_USER_FROM_ORGANIZATIONメンバーシップ UUID

使用するタイミング

このスキルは、概要で説明されているワークフローまたはアクションを実行する場合に適用できます。

例

ユーザーのリクエスト:

Rube MCP(Composio)を介して、Calendly のスケジューリング、イベント管理、招待者の追跡、空き状況の確認、組織の管理を自動化します。

制限事項

  • このスキルは、タスクが上記で説明した範囲に明確に一致する場合にのみ使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代替として扱わないでください。
  • 必要な入力、権限、安全境界、または成功基準が欠けている場合は、停止して確認を求めてください。

コメント