GASとChatWorkをAPI連携して毎週のタスクをbot通知する方法
最終更新日:2026年8月6日
1.はじめに
| 項目 | Google Apps Script | Excel VBA | Python |
|---|---|---|---|
| 主な用途 | Google Workspace自動化 | Excel業務自動化 | 汎用自動化・データ分析 |
| 学習難易度 | 低(JavaScript系) | 中 | 低〜中 |
| 実行環境 | クラウド(無料) | Windows/Excel必須 | ローカル or クラウド |
| Googleサービス連携 | 最高 | 低 | API経由で可 |
日々の業務でコミュニケーションツールを利用している方は多いでしょう。リモートワークを行っているなら尚更なのではないでしょうか。コミュニケーションツールはSlackやChatWorkが有名ですが、この記事ではChatWorkを利用したbot通知を送る方法についてお伝えしていきます。これは弊社のチームで実際に利用している方法ですので、同じように利用できる方もいるのではないかと思い、シェアさせていただくこととなりました。では以下で「GASとChatWorkをAPI連携して毎週のタスクをbot通知する方法」について画像とともに説明させていただきます。
以下の画像は執筆当時の旧エディタUIのスクリーンショットです。現行のGoogle Apps Scriptエディタ(script.google.com)では「リソース」メニューは廃止されており、ライブラリの追加方法も変更されています。現行の手順は「4.GASとChatWorkを連携する」内の補足をご参照ください。基本的な流れ(APIトークン取得→コードを書く→ライブラリを追加→トリガーを設定)自体は変わっていません。
2.ChatWorkでAPIトークンを取得する
まず、ご利用のChatWorkを開けてください。今回は他のメンバーに迷惑をかけないようテストアカウントを取得しマイチャットを利用して実践していきますが、実際にはグループチャットで運用していますので、テストが出来たら、グループチャットでの運用を試みてください。テストのためにわざわざテスト用のアカウントを作成する必要はありません。ご利用中のアカウントのマイチャットでテストは可能です。ただし、会社から付与されたアカウントで、管理者権限がない場合は管理者に対応を依頼してください。
ChatWorkの画面右上の「アカウント名」をクリックしてください。

サービス連携をクリックすると別タブが開くので左サイドバーの「API Token」をクリックしChatWorkにログインする際のパスワードを入力し「表示」ボタンを押してください。

するとChatWorkのAPIトークンが発行されるので、これをコピーしましょう。

これでChatWorkのAPIトークンを取得できました。これを使ってGASと連携していきます。
3.GASとChatWorkを連携する
GASとChatWorkを連携して、GASのコードを作成していきます。
まずGASを開いていきましょう。スプレッドシートやドキュメントとコンテナバインドしていなくても大丈夫なので、マイドライブからGASを開いていきます。

私のチーム内ではスプレッドシートと連携させていますが、利用目的によってコンテナバインドかスタンドアロンか決めてください。
GASのスクリプトエディタが開いたら以下のコードを記述します。内容は適宜変更してください。
function chatWorkMessage() {
var client = ChatWorkClient.factory({token: 'APIトークンを入力'});
client.sendMessage({room_id: ChatWorkのルームIDを入力, body: '送信メッセージを入力'});
}
ルームIDとはChatWorkのチャットグループを選択した状態でURLに出てくる「#ridxxxxxxxxx」のxxxxxxxxxの部分です。

次にライブラリを追加します。執筆当時のエディタでは「リソース」→「ライブラリ」から追加していましたが、現行のエディタでは画面左側の「ライブラリ」欄の横にある「+」アイコンをクリックします。

「スクリプトID」欄に「M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT」をコピペで入力し、「検索」をクリックしてください。

バージョンが最新のものを選択し、「追加」をクリックしましょう。

これでGASとChatWorkの連携が完了しました。あとは実際に通知を送るだけです。
4.毎週のタスクをトリガーを使ってbot通知する
GASに記述したメッセージ内容が実際にChatWorkに届くか確認してみます。GASの「▶」ボタンを押して実行していきましょう。このとき、はじめて実行する場合は許可の確認が必要となるため許可していきます。許可ができたらChatWorkへ移りましょう。指定したチャットグループにメッセージが届きます。

もう一度GASの「▶」ボタンを押して実行してみると…
もう一通メッセージが届きましたね。

ではこれを毎週決まった時間にメッセージが届くように設定していきましょう。決まった時間に通知するにはGAS側でトリガーの設定をします。トリガーとは時限装置のようなものと考えてくだされば良いでしょう。このトリガーを毎週金曜日の18時半に設定するとしましょう。
GASのタイマーマークをクリックします。

トリガー設定画面が表示されるので、右下の「トリガーを追加」をクリックしましょう。

いくつか選択できる項目がありますが、変更箇所は「時間ベースのトリガーのタイプを選択」と「曜日を選択」、「時間の間隔を選択(時間)」の3箇所です。「時間ベースのトリガーのタイプを選択」は週ベースのタイマーを選択します。「曜日を選択」はここでは金曜日を選択します。「時間の間隔を選択(時間)」は18時半が選択できないので午後6時〜7時を選択します。

最大1時間のタイムラグがありますが、今回のケースだと特に気にするほどでもないので問題ないでしょう。設定ができたら、「保存」をクリックします。
ここではテストのため「時間ベースのトリガーのタイプを選択」の欄で「特定の日時」を選択しかなり細かい日時を設定しました。すると設定した日時になるとChatWorkにしっかりと通知が来ていることが確認できました。

5.おわりに
このようにGASとChatWorkを連携させれば好きな日時にタスクなどのbot通知を送ることができます。弊社のチームでは毎週金曜日に週報を提出しているのですが、それを忘れる人がいたり、提出したかどうか管理するのが面倒なので、毎週金曜日の18時〜19時にChatWorkのグループに以下のようなメッセージが届くように設定しています。

ChatWorkに来た通知から、週報を提出することで、これと紐付いたスプレッドシートに提出の完了・未完了が自動で入力され、管理者以外は閲覧できるようにしています。これだけでも結構な時間と労力を省くことができます。以上を参考にして実践してみてください。
この記事のポイント
- ChatWorkのAPIトークンを取得し、GASからChatWork Client Libraryを使ってメッセージ送信ができる
- ライブラリのスクリプトID「M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT」を追加することでChatWork API連携が可能になる(追加方法は現行UIでは画面左の「ライブラリ」欄の「+」から)
- GASのトリガー機能を使えば、毎週決まった曜日・時間に自動でbot通知を送信できる
- 時間ベースのトリガーには最大1時間程度のタイムラグが生じる場合がある
- ChatWork通知とスプレッドシートを連携させることで、タスク提出状況の自動管理も可能
よくある質問
Q. ChatWorkのAPIトークンは誰でも取得できますか?
A. ChatWorkアカウントを持っていれば基本的に取得可能ですが、会社から付与されたアカウントで管理者権限がない場合は、管理者に対応を依頼する必要があることがあります。
Q. トリガーの実行時刻がずれることはありますか?
A. あります。GASの時間ベースのトリガーは指定した時間帯の中でランダムに実行されるため、最大1時間程度のタイムラグが生じることがあります。分単位の正確な実行が必要な場合は別の方法を検討する必要があります。
Q. ChatWork以外のツール(Slack等)でも同様のbot通知は作れますか?
A. はい。SlackにもIncoming Webhook等のAPIが用意されており、GASから同様の仕組みでbot通知を送ることができます。連携方法はツールごとに異なります。
Q. ライブラリを追加する際にエラーが出る場合はどうすればよいですか?
A. スクリプトIDのコピーミスがないか確認し、最新バージョンを選択しているか確認してください。それでも解決しない場合は、GASの実行ログでエラーメッセージの詳細を確認するとよいでしょう。
関連記事
▼ アクロビジョンについて


