【入門編】KibelaのWebhookとGAS(Google Apps Script)を組み合わせて作る!「今週の未読重要ドキュメント」自動リマインドBotの開発手順 – プロジェクト・ナレッジ管理活用バイブル

「Kibelaの通知、流れてしまって大事なドキュメントを見落とすんだよね……」
チームのベロシティを阻害する最大の要因は、実は「情報の欠如」です。優秀なエンジニアやマネージャーほど、ドキュメントの「鮮度」と「重要度」をコントロールすることに心血を注ぎます。

今日は、Kibelaに眠る「今週読むべき重要ドキュメント」を、Google Apps Script (GAS) を使ってSlackに自動でリマインドする仕組みを構築しましょう。これを導入すれば、チーム全員が「何が重要か」を迷わなくなり、生産性が劇的に向上します。

—

1. なぜ「自動リマインド」が必要なのか?

Kibelaの標準通知は便利ですが、情報の洪水に埋もれてしまいます。
今回構築する仕組みの核となる思想は「プル型(自分から探しに行く)」から「プッシュ型(必要な時に届く)」への変換です。情報のサイロ化を防ぎ、チームの認知負荷を下げる。これがナレッジマネジメントの本質です。

2. 全体像:情報の流れ

1. Kibela: 特定のタグ(例: `重要`)がついた記事を管理。
2. GAS: Kibela APIを叩いて「重要」タグの記事を取得。
3. Slack: 整形されたメッセージをエンジニアの手を煩わせずに通知。

—

3. ステップ別構築ガイド

Step 1: Kibelaでアクセストークンを発行する

まず、GASがKibelaとお話しするための「鍵」を作ります。

1. Kibelaの `設定` > `アクセストークン` へ移動。
2. `トークンを作成` をクリックし、「read」権限を持つトークンを発行します。
3. 重要: 発行されたトークンは一度しか表示されません。安全な場所にメモしてください。

Step 2: GASプロジェクトの作成

1. [Google Drive](https://drive.google.com/) で右クリック > `その他` > `Google Apps Script` を選択。
2. プロジェクト名を「Kibelaリマインダー」などに変更。

Step 3: コードの実装

以下のコードをコピーし、エディタに貼り付けてください。

// Kibelaの情報を取得してSlackに投げるメイン関数
function sendWeeklyReminder() {
const KIBELA_TOKEN = ‘あなたのKibelaアクセストークン’;
const TEAM_NAME = ‘あなたのチーム名’; // URLのサブドメイン部分
const SLACK_WEBHOOK_URL = ‘あなたのSlack Webhook URL’;

// 1. Kibelaから「重要」タグの記事を取得
const query = ‘tag:”重要” sort:created_at:desc’;
const url = `https://${TEAM_NAME}.kibe.la/api/v1/notes?q=${encodeURIComponent(query)}`;

const options = {
“method”: “get”,
“headers”: { “Authorization”: `Bearer ${KIBELA_TOKEN}` }
};

const response = UrlFetchApp.fetch(url, options);
const notes = JSON.parse(response.getContentText()).notes;

// 2. メッセージを作成
let message = “【今週の重要ドキュメント】\n以下のドキュメントを確認してください!\n\n”;
notes.forEach(note => {
message += `・<${note.url}|${note.title}>\n`;
});

// 3. Slackへ送信
const payload = { “text”: message };
UrlFetchApp.fetch(SLACK_WEBHOOK_URL, {
“method”: “post”,
“contentType”: “application/json”,
“payload”: JSON.stringify(payload)
});
}

—

4. 動作確認(HelloWorld)

1. `sendWeeklyReminder` 関数を選択した状態で「実行」ボタンを押します。
2. 初回のみ「承認」を求められるので、自身のGoogleアカウントで許可してください。
3. Slackに「今週の重要ドキュメント」が投稿されれば成功です!

もしエラーが出たら、`TEAM_NAME`や`TOKEN`が正しいか再確認しましょう。ここが最初にして最大の難関です。

—

5. 定期実行トリガーの設定(ここが自動化の鍵)

コードが動くことを確認したら、これを毎週自動で走らせます。

1. 左側のメニューから `トリガー`(時計アイコン)をクリック。
2. `トリガーを追加` ボタンをクリック。
3. 以下のように設定します:

  • 実行する関数: `sendWeeklyReminder`
  • イベントのソース: `時間主導型`
  • 時間ベースのトリガーのタイプ: `週タイマー`
  • 曜日と時間: 例:毎週月曜 9:00〜10:00

これで設定は完了です!

—

最後に:エンジニアリングの視点

この仕組みの素晴らしいところは、「誰でも簡単に拡張できる」ことです。
例えば、「未読」を条件に加える、あるいは「特定のプロジェクトの進捗報告だけ抽出する」といったカスタマイズは、APIのパラメータを変えるだけです。

「情報を探す時間」を削り、「情報に基づいて行動する時間」を増やす。
この自動化が、あなたのチームのベロシティを次のステージへ押し上げる一歩になることを確信しています。

何か詰まったら、いつでも聞いてくださいね。現場の生産性を極める旅は、まだ始まったばかりです。

タイトルとURLをコピーしました