← Articles

ChatGPT Workで会員サイトにログインし、テニスの空き状況を調べてもらう

PCでテニスの空き確認をスキル化し、スマホのChatGPT Workから実行しました。専用フォームでのログイン、Workへのスキル登録、実際に取得できた結果を紹介します。

ChatGPTに会員サイトの情報を調べてもらいたいとき、気になるのがログインIDやパスワードの扱いです。普段自分で見ているページでも、ログインが必要になると、URLを伝えるだけでは情報を取得できません。

ChatGPT Workには、ログインが必要なサイトで専用フォームから認証する仕組みがあります。公式ヘルプによると、このフォームに入力したIDとパスワードはモデルには見えず、クラウド上のブラウザーに直接送られます。Cloud browserの公式ヘルプ

今回はこの機能を使って、通っているテニススクールの空き状況を調べてもらいました。PCで手順をスキル化しておき、スマホのChatGPT Workから呼び出す使い方です。

今回の目的

私が通っているテニススクールの会員サイトにログインしてもらい、直近3日間の空き状況を表にまとめてもらうことが目的です。外出先でもスマホから依頼できるよう、実行にはChatGPT Workを使います。

「今週末に参加できるレッスンはあるか」「仕事のあとに行ける時間帯に空きがあるか」を、会話で確認できるようにしたいと思っています。

項目 今回やりたいこと
対象 テニススクール
調べる条件 既定では本日を含む3日間・振替可能のみ。期間などは変更可能
取得する情報 日付、時間、クラス、コーチ、空き人数
完了の目安 指定期間の空き状況と確認日時を表で確認できる
操作の範囲 空き状況の閲覧まで。予約・振替・キャンセルは行わない

準備はPCで行いました。最初にCodexでサイトの操作手順を確認してスキルを作り、その後、スマホから使えるようにWork向けに移しました。

PCで準備
  サイトの操作確認 → スキル作成 → Workに個人用として登録
                                      ↓
スマホで実行
  Workでスキルを選ぶ → 必要ならログイン → 空き状況を受け取る

方法

最初に伝えること

まずは、対象サイトと調べてほしい内容を伝えます。私の場合はPCのCodexから始めましたが、Workで始める場合も、タスクに対象サイトと条件を伝えるのが基本です。サイトへのアクセス許可を求められたら、対象を確認して許可します。Cloud browserでタスクを開始する手順

以下は、今回の依頼内容をWork向けに整理したプロンプト例です。実際の会話をそのまま引用したものではありません。山括弧の部分は、自分が利用する会員サイトのURLに置き換えます。

私が利用しているテニススクールの会員サイトで、
レッスンの空き状況を調べてください。

対象サイト:<会員サイトのURL>
対象施設:<xxxxxx>
スクール:成人テニス
対象期間:日本時間の本日から2日後までの3日間
検索条件:振替可能のみ。時間帯・クラス・コーチは指定なし
実行時の現在日付を確認し、対象期間を明示してください。
結果が複数ページある場合は、最終ページまで確認してください。

ログインが必要な場合は、専用のログインフォームを案内してください。
IDやパスワードはチャットには記載しません。

結果は「日付・時間・クラス・コーチ・空き人数」の表にして、
確認日時と参照したページのURLも添えてください。
空きがあるレッスンだけを、日時の早い順に並べてください。
人数が表示されない場合は推測せず、サイトの表記を使ってください。
取得できなかった日付や項目は、空きなしと区別してください。
「定員」と「空き人数」を取り違えないようにしてください。

今回は閲覧だけです。
予約、振替、キャンセル、会員情報の変更は行わないでください。

「空き状況を調べて」だけでなく、対象期間と出力項目まで指定するのがポイントです。「取得できなかった」と「空きがなかった」も分けてもらうと、結果を確認するときに迷いません。

ログインから情報取得までの流れ

Workで実行するときの流れは次のとおりです。ログインが必要になったところで自分が専用フォームに入力し、その後の画面操作をChatGPTに続けてもらいました。

自分:調べたいサイトと条件を伝える
  ↓
ChatGPT Work:会員サイトを開く
  ↓ ログインが必要なら一時停止
自分:専用フォームにID・パスワードを入力
  ↓ 必要に応じて追加認証
クラウドブラウザー:ログインした状態になる
  ↓
ChatGPT Work:条件に合うレッスンを確認
  ↓
自分:空き状況の表と参照元を確認する

このブラウザーは、スマホやPCで普段使っているブラウザーとは別の環境です。手元のブラウザーで会員サイトにログイン済みでも、その状態を自動的に引き継ぐわけではありません。ChatGPT Workのブラウザーの仕組み

利用できる機能はプラン、ワークスペースの設定、提供状況によって異なります。始める前に、自分の環境でWorkと対象サイトへのログインが利用できるかを確認してください。

スキル化

空き状況を取得できたあと、同じ確認を繰り返せるようにスキル化しました。作成したスキル名はtennis-availability、Workの一覧での表示名は「テニス空き状況」です。

スキルは、特定の作業の手順や出力形式をまとめたものです。公式ガイドでは、ChatGPTで作成を依頼する際に@skill-creatorを使う方法が紹介されています。Skills & Plugins

今回の作成・移行で伝えた内容を整理すると、次のようになります。

@skill-creator
今回確認したテニスレッスンの空き状況の取得手順を、
「tennis-availability」という名前のスキルにまとめてください。

対象サイト、施設、空き状況の画面までの移動手順、
出力する表の形式を含めてください。
日付・時間帯・クラスは、実行時の依頼で変更できるようにしてください。

ログインが必要なら専用フォームで私に入力を求め、
認証後に空き状況の確認を続けてください。
ログインID、パスワード、認証コード、Cookieは保存しないでください。
予約やキャンセルなどの操作は行わない手順にしてください。

PCを起動せずスマホから使えるよう、Workの個人用スキルとして
登録してください。一般公開はしないでください。
ファイルの作成だけでなく、Workのスキル一覧に表示され、
新しいタスクから呼び出せることまで確認してください。
スキルに含めるもの 実行時に指定・入力するもの
対象サイトと施設 調べたい期間
空き状況の画面までの移動手順 希望の時間帯やクラス
表の列と並び順 必要になったときのログイン情報(専用フォームで入力)
閲覧だけに限定するルール 今回だけ追加したい条件

今回のスキルには、会員サイト固有の操作も含めています。マイページの「スクール欠席・振替予約」から「その他レッスン」の「レッスン予約」へ進み、検索条件を指定する手順です。確認時の検索結果は1ページ5件だったため、全ページを読むことも明記しました。画面上の「定員」と「空き」を区別し、別のレッスンの日時やコーチを混ぜないようにしています。

作成時には、一度つまずいた点もありました。スキルのファイルは作成されたのに、Workのスキル一覧には表示されなかったのです。会話で確認すると、その時点では実行環境内のローカルプラグインとして保存されており、Work側への登録は済んでいませんでした。

そこで改めて「Workのほうにスキルを登録してください」と依頼し、個人用スキルとして登録しました。現在は「スキル」の「インストール済み」と「自分で作成」の両方に表示され、詳細画面でSKILL.mdの内容も確認できます。

作成完了の返答だけで終わらず、スマホで使う側の一覧に表示されることまで確認するのが、今回のポイントでした。

ChatGPT Workのスキル一覧に表示された「テニス空き状況」
ChatGPT Workのスキル一覧に「テニス空き状況」が追加された

実行方法

実行はスマホのChatGPT Workから行います。スキルを登録したアカウント・ワークスペースを開き、入力欄で@を入力して対象スキルを選びます。ChatGPTでは@、Codexでは$でスキルを指定するため、PCで作成した際の書き方をそのまま使わない点に注意します。スキルの呼び出し方法

今回は、次のようにスキル名だけを送っても実行できました。

@tennis-availability

対象施設と「本日を含む3日間・振替可能のみ」という条件がスキルに入っているため、毎回長い説明を書く必要がありません。条件を変えたいときは、続けて指定します。以下は期間と時間帯を変更する例です。

@tennis-availability
2026年9月12日〜13日のテニスレッスンで、
18時以降に開始するクラスの空き状況を調べてください。
クラスはすべて対象にし、空きがあるものを日時順の表にしてください。
確認日時も添えてください。予約はしません。

2026年9月9日の実行では、9月9日〜11日を対象にした検索結果として、全3ページから空きのあるレッスンが12件返ってきました。以下はその回答の一部です。コーチ名は記事用に匿名化しています。

日付 時間 クラス コーチ 空き人数
2026-09-09 11:25〜12:45 中級 Aコーチ 5人
2026-09-09 13:10〜14:30 中上級 Bコーチ 5人
2026-09-09 19:40〜21:00 中上級 Cコーチ 5人

回答には確認時刻として「2026年9月9日10:52(日本時間)」が付いており、9月11日は指定条件に該当する空きなしと報告されました。参照元のレッスン検索画面へのリンクと、予約は行っていないことも添えられていました。

これは過去の取得結果であり、現在の空き状況ではありません。また、「振替可能のみ」で検索しても、契約コースなどの条件によって利用できない場合があるとの案内が回答に含まれていました。参加を決める際は、会員サイトで最新の空き状況と受講条件を確認します。

ログイン状態は有効な間、次のタスクでも利用できます。期限が切れた場合などは再ログインが必要です。途中で止まったときは、認証や確認待ちになっていないか会話を確認します。ログイン状態の継続について

また、サイト側のアクセス制限やCAPTCHAなどにより、処理が進まない場合もあります。その場合は取得できた範囲と止まった画面を確認し、必要な操作を自分で引き継ぎます。Cloud browserの制限事項

実際のパスワード入力画面

実際のログインでは、ChatGPT Workが表示した専用フォームに入力しました。今回の会員サイトで必要だったのは、登録メールアドレスとパスワードです。

登録メールアドレスとパスワードを入力するChatGPTの専用ログインフォーム
ChatGPTの専用ログインフォームに認証情報を入力する

専用フォームが表示されたら、まずアクセス先のURLが自分の利用している会員サイトのものかを確認します。そのうえでIDとパスワードを入力し、追加認証が求められた場合は画面に沿って進めます。認証後は、ChatGPTが空き状況の確認を再開できたかを見届けます。

ここで区別したいのが、専用フォームに入力することと、会話の本文にパスワードを送ることです。公式説明でモデルに見えないとされているのは、専用フォームから送る認証情報です。チャットに貼り付けたパスワードにも同じ扱いが適用される、という意味ではありません。専用ログインフォームの説明

情報 今回の扱い
サイトのURL・検索条件 会話で伝える
ログインID・パスワード 専用ログインフォームに入力する
追加の認証コード 認証画面の案内に従って入力する
ログイン後のレッスン情報 ChatGPTが読み取り、結果としてまとめる

「パスワードがモデルに見えない」ことと、「ログイン後の情報をChatGPTが扱う」ことは別です。今回なら、認証後のレッスン情報を読めるようにすることで、空き状況の一覧を作ってもらいます。

画面に「Sign in on web page instead」が表示される場合は、クラウドブラウザー内で直接ログインする方法もあります。この場合は入力中にタスクが一時停止し、「I'm done」で操作をChatGPTに戻します。実際に表示された方法に沿って進めてください。Webページ上でログインする方法

保存されたログイン状態を解除したいときは、設定の「Cloud browser」→「Browser data」からブラウザーデータを消去します。これによりクラウドブラウザー側のサイトからログアウトします。ブラウザーデータの管理

参考資料

公式資料の確認日:2026年9月10日。