Webex Automation
Cisco Webexのコラボレーションワークフローを自動化します。メッセージの送信、ルームとチームの管理、Webhookの設定、ユーザー検索などを、すべて自然言語で実行できます。
ツールキットドキュメント: composio.dev/toolkits/webex
セットアップ
- Rube MCPサーバーを環境に追加します:
https://rube.app/mcp - プロンプトに従ってWebexアカウントを接続します(Composio経由のOAuthフロー)
- Webex自動化のための自然言語コマンドを発行し始めます
コアワークフロー
1. ルームまたは個人にメッセージを送信
プレーンテキスト、マークダウン、ファイル添付、またはAdaptive Cardを任意のWebexルームまたは個人に直接送信します。
ツール: WEBEX_MESSAGING_CREATE_MESSAGE
主なパラメータ:
roomId-- ターゲットルームのID(WEBEX_MESSAGING_LIST_ROOMSで検索可能)toPersonEmail-- 代わりにプライベート1:1メッセージを送信(roomIdとは排他)text-- プレーンテキストの内容(最大7439バイト)markdown-- マークダウン形式の内容(textより優先)files-- ファイル添付用の公開URLリスト(メッセージごとに1ファイル)attachments-- Adaptive Card JSON(メッセージごとに1カード)parentId-- 特定のメッセージへのスレッド返信
プロンプト例:
「ルームY2lz...にマークダウンメッセージを送信して、デプロイ完了とリリースノートへのリンクを含めてください」
2. ルームの一覧表示と検出
自分が所属するすべてのルームを、タイプやチームでフィルタリング、またはアクティビティ順に並び替えて参照します。
ツール: WEBEX_MESSAGING_LIST_ROOMS
主なパラメータ:
type--direct(1:1)またはgroupでフィルタteamId-- 特定のチーム内のルームに限定sortBy--id、lastactivity、createdで並び替えmax-- 結果の上限(1~1000、デフォルト100)
続けて WEBEX_MESSAGING_GET_ROOM_DETAILS を使用すると、特定のルームのタイトル、タイプ、ロック状態、作成者、タイムスタンプなどの完全なメタデータを取得できます。
プロンプト例:
「Webexで直近アクティブなグループルームを10件表示してください」
3. イベント駆動型自動化のためのWebhook管理
Webexリソースが変更されたときにリアルタイムでHTTP POST通知を受信するWebhookを作成します。
ツール: WEBEX_WEBHOOKS_CREATE_WEBHOOK
主なパラメータ:
name-- 人間にわかりやすいWebhook名(必須)targetUrl-- POST通知を受信するURL(必須)resource-- 監視対象:messages、rooms、memberships、meetings、recordings、meetingParticipants、telephony_callsなど(必須)event-- トリガータイプ:created、updated、deleted、started、ended、joined、left(必須)filter-- 通知の範囲を限定(例:roomId=<id>またはhostEmail=<email>)secret-- ペイロード署名検証用のオプションHMACシークレットownedBy-- 個人用はcreator、組織全体用はorg
関連ツール:
WEBEX_LIST_WEBHOOKS-- 登録済みWebhookを一覧表示(maxとownedByフィルタオプション)WEBEX_WEBHOOKS_GET_WEBHOOK-- 特定のWebhookをwebhookIdで詳細確認
プロンプト例:
「'新着メッセージ'という名前のWebhookを作成して、ルームY2lz...でメッセージが作成されるたびにhttps://my-app.com/hook にPOSTするように設定してください」
4. チームメンバーシップの管理
Webexチームに人を追加し、オプションでモデレーター権限を付与します。
ツール: WEBEX_MESSAGING_CREATE_TEAM_MEMBERSHIP
主なパラメータ:
teamId-- 追加先のチーム(必須)personEmail-- 追加する人のメールアドレスpersonId-- Webexの人物ID(メールの代替)isModerator--trueでモデレーター権限を付与(デフォルトfalse)
事前に WEBEX_LIST_TEAMS を使用して利用可能なチームを検索します。
プロンプト例:
「[email protected]をチームY2lz...にモデレーターとして追加してください」
5. ルームメンバーシップの監査
ルーム内のメンバーを確認したり、特定の人物のメンバーシップを検証したり、チーム全体のメンバーシップを一覧表示します。
ツール: WEBEX_MESSAGING_LIST_MEMBERSHIPS
主なパラメータ:
roomId-- 特定のルームの全メンバーを一覧表示personEmail-- 人物がメンバーかどうかを確認(roomIdが必要)personId-- Webex人物IDで確認(roomIdが必要)teamId-- チーム関連でフィルタmax-- 結果の上限
プロンプト例:
「ルームY2lz...の全メンバーを一覧表示し、モデレーターを教えてください」
6. 人物の検索とルックアップ
メールアドレス、表示名、またはIDでWebex組織内の人物を検索します。
ツール: WEBEX_PEOPLE_LIST_PEOPLE
ダイレクトメッセージを送信したりチームメンバーを追加する前に、名前を人物IDに解決するために使用します。
プロンプト例:
「[email protected]のWebex人物IDを検索してください」
既知の注意点
| 注意点 | 詳細 |
|---|---|
| Webhookの自動無効化 | ターゲットURLがHTTP 2xxで応答する必要があります。5分間に100回の失敗でWebhookは自動的に無効化されます |
| メッセージサイズ制限 | text と markdown はどちらも最大7439バイトです |
| メッセージあたり1ファイル | files 配列はリストを受け付けますが、実際にはメッセージごとに1つの添付のみサポートされます |
| メッセージあたり1カード | メッセージごとに1つのAdaptive Card添付のみサポートされます |
| 排他的なターゲット | メッセージ送信時、roomId と toPersonEmail/toPersonId は同時に使用できません |
| ルーム更新にはタイトルが必要 | WEBEX_UPDATE_ROOM は、ロック状態やチームのみを変更する場合でも常に title パラメータが必要です |
| orgPublicSpacesの競合 | ルーム一覧表示時に orgPublicSpaces を teamId、type、sortBy と組み合わせることはできません |
| Webhookの読み取りスコープ | Webhookを作成するには、監視対象リソースタイプに対する read スコープが必要です |
| メンバーシップフィルターにはroomIdが必要 | メンバーシップ一覧の personEmail および personId フィルターは、コンプライアンスオフィサーでない限り roomId が必要です |
クイックリファレンス
| アクション | ツールスラッグ | 主なパラメータ |
|---|---|---|
| メッセージ送信 | WEBEX_MESSAGING_CREATE_MESSAGE | roomId、text/markdown、toPersonEmail |
| ルーム一覧表示 | WEBEX_MESSAGING_LIST_ROOMS | type、sortBy、max |
| ルーム詳細取得 | WEBEX_MESSAGING_GET_ROOM_DETAILS | roomId |
| ルーム更新 | WEBEX_UPDATE_ROOM | roomId、title |
| メッセージ削除 | WEBEX_MESSAGING_DELETE_MESSAGE | messageId |
| メッセージ詳細取得 | WEBEX_MESSAGING_GET_MESSAGE_DETAILS | messageId |
| Webhook作成 | WEBEX_WEBHOOKS_CREATE_WEBHOOK | name、targetUrl、resource、event |
| Webhook一覧表示 | WEBEX_LIST_WEBHOOKS | max、ownedBy |
| Webhook詳細取得 | WEBEX_WEBHOOKS_GET_WEBHOOK | webhookId |
| チームメンバー追加 | WEBEX_MESSAGING_CREATE_TEAM_MEMBERSHIP | teamId、personEmail、isModerator |
| メンバーシップ一覧表示 | WEBEX_MESSAGING_LIST_MEMBERSHIPS | roomId、personEmail、max |
| 人物一覧表示 | WEBEX_PEOPLE_LIST_PEOPLE | メール、表示名、IDフィルター |
| チーム一覧表示 | WEBEX_LIST_TEAMS | max |
Powered by Composio