見出し画像

AIでChatworkの管理を掌握する!Chatwork GPTの構築方法およびGAS InterpreterとのAPI接続

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強者になりましょう。

ここから先は

55,336字 / 14画像 / 1ファイル

AGIラボ

¥2,980 / 月
このメンバーシップの詳細