こんな人に向けて書いています
Slackでの報告がいっぱい上がっているけど、メンションをつけても、記入シートを使ってもなかなか完全に抜け漏れを防げきれず、タスク管理に悩んでいる方
何の問題が起きた?
原因: 5、6人で回す週に一回HPにアップデートする案件があります。
行う作業:
収録
文字起こし
動画編集
校正校閲
動画アップロード
サムネイル作成 (ブログ&YouTube)
YouTubeセッティング(タイトル、概要欄、終了画面、カード、おすすめ動画など....)
など...
一つ一つの作業としてはハードではないのですが、ワークフローがあるので、
前の人が終わらないと進まない作業もあります。
そのため、スプレットシートで管理表を作って、
終わったらチェックを入れるタスクを一個足した。
今までの流れ:
シート記入→Slackで報告
問題:
- チェックリストの記入漏れ
- Slackの情報が確認できてない
- 次の人がタスクに進まず、毎回納期ギリギリになって一気に動き出してチーム全体の負担になっている
解決案
問題2: Slackの情報が確認できてない
がなぜ発生したかを考えてみた。
ヒアリングしたところ、
・ メンションされてないから見ない
・ スレッドが長くなると確認しづらい
そういう問題に解決策:
スプレットシートにチェックした時点で、何をチェックされたの自動的にSlackに通知がこれば解決。
アプリから来るので、細々な連絡を減らす
目指すゴール
・連絡漏れがなくなる
・「〇〇さん、〇〇が終わりました、ご確認お願いします」←これを打つ時間をなくす
・シートを開いて、チェックされてるかどうかの確認をある程度省ける
行ったこと
Googleスプレットシートのチェックボックスをトリガーにして、
クリックしたら、自動的に通知が来るように!!
手順
① スプレットシートのApps Scriptで下記のコード作成
// Slack Webhook URL
const SLACK_WEBHOOK_URL = 'YOUR_SLACK_WEBHOOK_URL';
// Spreadsheetのチェックボックスがチェックされたら実行
function onEdit(e) {
onCheckboxChecked(e);
}
//チェックボックスの有効範囲を設定 (全部!!)
function onCheckboxChecked(e) {
const range = e.range;
const sheet = range.getSheet();
const row = range.getRow();
const column = range.getColumn();
const value = e.value;
// チェックボックスがチェックされたら
if (value === 'TRUE') {
const taskName = sheet.getRange(2, column).getValue(); //チェックした行の該当欄
const customerName = sheet.getRange(row, 1).getValue(); //チェックした欄の該当行
sendToSlack(taskName, customerName);
}
}
// Slackに通知を送る
function sendToSlack(taskName,customerName) {
const payload = {
text: `${customerName}「${taskName}」が完了しました。` //通知内容
};
const options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
};
UrlFetchApp.fetch(SLACK_WEBHOOK_URL, options);
}
// インストール可能なトリガーを作成 (=Apps Scriptで実行する部分)
function createInstalledTrigger() {
ScriptApp.newTrigger('onCheckboxChecked')
.forSpreadsheet(SpreadsheetApp.getActive())
.onEdit()
.create();
}
webhookの取得はこちらの記事を参考しました。
②Incoming Webhooksの設定
公式のapp directoryからIncoming webhooksを作成します。
Customize nameとCustomize iconでAppの名前をアイコンを自由に設定できる。
③ Apps Scriptを実行し、トリガーが実装されてるの確認
お客様の名前を入力して、テスト
チェックボックスにチェックを入れて、slackに反映できたら、完成!!
結果
まだテスト中ですが、管理者の私は楽になりました。
チェックして、一つずつ確認、催促する手間を減らせて、自動的にタスクを完成したことがわかるようになり、チームのネガティブなコミュニケーションを少し減らせた気がします。
技術として複雑ではないのですが、かなり手間を省けるので、ぜひ試してみてください。