GPT経由でChatworkのあらゆるAPI操作を実行できるChatwork GPTを開発しました。
Chatworkを普段の業務に使っている方からすると非常に有用なGPTです。
後半では、GAS Interpreter でのChatwork API利用方法についても触れます。
Chatwork GPTの多様な機能
Chatwork GPTは具体的には以下30種類のタスクを実行できます。(ファイルアップロードなど一部動作しないものもあります)
ユーザープロファイル管理
ユーザープロファイルの取得
ユーザー情報を取得して

ユーザーの現在の状況の取得
私の現在の状況を取得して

ユーザーのタスクリストの取得
私のタスクリストを取得して

ユーザーのコンタクトリストの取得
コンタクトリストを取得して

ルーム管理
ルームリストの取得
所属ルームを全て取得して

特定のルームの詳細の取得
5番のルーム情報を取得して

新規ルームの作成
石川とChatGPT研究所とGPT-botでグループ作っておいて。

特定のルームの詳細の更新
このルームの名前を、ボット検証に変えて

Chatwork側で実際に動作している様子:

特定のルームの削除または退出
※このAPIはエラーが出て動作確認ができませんでした。
ルームメンバー管理
特定のルームのメンバーリストの取得
このルームのメンバー一覧を取得して

特定のルームのメンバーの更新
メンバーから、GPT-botを削除して

メッセージ管理
特定のルームのメッセージリストの取得
このAPIは少しトリッキーです。
以下の特徴があります。
最新100件のメッセージを取得
2回目以降の呼び出しは、前回取得したメッセージの続きからになる
force: 1 と指定すれば、常に最新の100件を取得する
重要:GPTsの制限により、メッセージの容量が多すぎるとエラーになってしまう(この制限は不便ですが、force 0 にすれば、新着のメッセージのみを取得するためOK。GAS Interpreterを使うとメッセージ情報を減らしてから取得するなどの工夫が可能)
ルーム327167106のメッセージを取得して

特定のルームへの新規メッセージの投稿
返信しておいて

実際に送信されている様子:

特定のメッセージの更新
初めましての挨拶に変えてください。

実際に変更された様子:

特定のメッセージの削除
やっぱり削除して

特定のメッセージの取得

タスク管理
特定のルームに新規タスクの作成
明日の14時までに記事執筆するタスクを入れてください。

※ Code Interpreterでunix時間を計算しなければならない点に注意
実際に追加されたタスク:

特定のタスクの状態の更新
完了したので、DONEにして

特定のタスクの取得

特定のルームのタスクリストの取得
このルームのタスク一覧を取得して

ファイル管理
特定のルームのファイルリストの取得
マイチャットのファイル一覧を取得して

特定のファイルの取得

特定のルームに新規ファイルのアップロード
このAPIは、Actions経由では使えません。
GAS Interpreter 経由ならファイルのアップロードが可能です。
ルーム招待管理
ルーム招待リンクの作成
ルームID:327167106への招待リンクを作成してください。

ルーム招待リンクの更新
招待メッセージを歓迎する文章に変更して

実際に作成されたリンク:

ルーム招待リンクの詳細の取得
ルームID:327167106への招待リンクを取得して

ルーム招待リンクの削除
このリンクを削除して

同じURLにアクセス:

コンタクトリクエスト管理
受信コンタクトリクエストの取得
受信コンタクトリクエストを取得して

受信コンタクトリクエストの承認
承認して

受信コンタクトリクエストの拒否
拒否して

Chatwork GPT の特徴は、30種類のChatworkのAPIを操作できることです。
このGPTの構築方法には、文字数50261文字の巨大なYAMLファイルが含まれます。
このYAMLファイルはChatwork専門のGPTを作るだけではなく、他のGPTに入れ込むことでChatworkへの接続機能をつけることにも使うことができます。
また、別の方法としてGAS Interpreter経由でChatwork APIにアクセスする方法もあり、そちらも同時に紹介します。
GAS Interpreter と繋げた場合
GAS Interpreter経由でChatworkを使用できることの利点は、
- for文などの制御構文をコードで使用することでより柔軟な命令ができること、また重要なポイントとして、
- Chatworkのメッセージ取得APIの出力が多すぎる問題に対処できる点、
- 長大なYAMLファイルが必要ない点が挙げられます。
反対に、YAMLで設定することによる利点は、コード生成が必要ないので、実行スピードが速い点や、API仕様書が正確な点が挙げられます。
GAS InterpreterでChatwork API を扱うことの一番の利点は、プログラム経由でシームレスにGoogleサービスとChatworkがつながることです。
自分の所属するすべてのルームの最新100件までのメッセージをスプレッドシートに構造的にまとめる
私のルーム情報をChatworkで取得して、すべてのルームにおいてメッセージをすべて取得し、それらをスプレッドシートでルームID別でまとめてください。

出力されたスプシが以下です。ここには、自分の所属するすべてのルームの最新100件までのメッセージがまとまっています。このようなGoogleを絡める高度な操作は、Chatwork GPTの方ではできません。

それでは早速、Chatwork GPTの構築方法および、GAS Interpreter での利用方法を見ていきます。
※ Chatwork GPTへのアクセスは、AGIラボ会員の方限定となります。
AGIラボは、最新のAI活用情報が集まるマガジン・コミュニティであり大好評のGAS Interpreterの作り方他、これまでChatGPT研究所が執筆した多種多様なAI関連記事が閲覧できます。
私たちのミッションは、日本にAI強者を増やすことです。
ぜひAGIラボへ加入して、みんなで一緒にAI強者になりましょう。







