【初心者向け】GoogleスプレッドシートとGASでSlack担当者通知Botを作る

【初心者向け】GoogleスプレッドシートとGASでSlack担当者通知Botを作る

チーム運営でよくある課題のひとつが、「今日の担当者は誰か」をすぐに共有できないことです。

Googleスプレッドシートで担当情報を管理し、Google Apps Script(GAS)を使ってSlackへ自動通知すれば、この課題をシンプルに解決できます。

こんな用途に向いている

この仕組みは、以下のような場面に特に向いています。

  • 日替わり担当者の自動共有(例:作業担当の通知)
  • 複数メンバーのローテーション管理
  • 祝日・休日は自動でスキップしたい場合

小規模なチームや、まずは簡単に自動化を始めたい場合にとても相性のよい方法です。

全体の仕組み

流れはシンプルです。

  1. Googleスプレッドシートに、週ごとの担当者を曜日別に入力する
  2. GASが毎朝決まった時間にシートを読み取る
  3. 当日の日付と照合して担当者を特定する
  4. 祝日リストを参照し、休日であれば通知をスキップする
  5. 担当者名をメッセージとして整形し、Slackのチャンネルへ自動送信する

つまり、スプレッドシートを更新するだけで、その内容が翌日以降のSlack通知に自動で反映される仕組みです。

準備するもの

事前に次の3つを用意します。

  • Googleアカウント
  • Googleスプレッドシート
  • Slackの通知先チャンネル

Slack側は、Incoming Webhook を使う方法がもっとも簡単です。

より柔軟な連携をしたい場合は、Slack Appを作成してメッセージ送信APIを使う方法もあります。

スプレッドシートの設計例

このシートは、週カレンダー形式で設計されています。

基本構成

セル内容
A1年(例:2026)
B1月(例:4)
A2〜G2曜日ヘッダー(月・火・水・木・金・土・日)
奇数行(3行目以降)各曜日の日付(例:2026/04/01)
偶数行(4行目以降)各曜日の担当者名(例:Aさん、Bさん、Cさん)

週ごとに「日付行 → 担当者行 → 空白行」の3行セットで繰り返す構成です。

担当者一覧・祝日リスト

内容
I列担当者一覧(Aさん、Bさん、Cさん)
J列祝日の日付リスト
K列祝日名

GASの基本コード例

以下は、Slackへ通知を送る最小構成のイメージです。

この関数に、スプレッドシートから読み取った担当者情報を渡せば、Slackに自動投稿できます。

実際には、対象行を固定するのではなく onEdit トリガーや定期実行で柔軟に処理することが多いです。

トリガーの設定

このシートでは、時間主導トリガーが最も実運用に向いています。

毎朝9時など、業務開始前の決まった時間に sendDutyNotificationToSlack() を実行するよう設定すると、担当者が出社前にSlackで確認できます。

GASのトリガー設定手順は次のとおりです。

  1. GASエディタの左メニューから「トリガー(時計アイコン)」を開く
  2. 「+トリガーを追加」をクリック
  3. 実行する関数:sendDutyNotificationToSlack
  4. イベントのソース:時間主導型
  5. 時間の種類:日タイマー
  6. 時刻:午前9時〜10時などを選択

通知文の例

Slackに届くメッセージのイメージはこのようになります。

【担当通知】
05/20 担当者は A さんです。
よろしくお願いいたします。
本日の対応窓口をお願いします。

このようにすると、Slack上でもすぐ内容を把握できます。

運用のポイント

実運用では、次の点に注意すると安定します。

  • Webhook URL を公開しない。
  • テスト用チャンネルで事前確認する。
  • 担当者が変わった場合はシートのI列の担当者一覧も更新する。

最初はシンプルに作って、必要に応じて条件分岐や例外処理を追加していくのがよい進め方です。

まとめ

GoogleスプレッドシートとGASを組み合わせると、低コストで実用的なSlack通知Botを作れます。

このシートのように「週カレンダー形式 × 担当者ローテーション × 祝日リスト」の構成にしておくと、GAS側で「今日の担当者が誰か」を自動的に特定でき、手動での連絡作業をほぼゼロにできます。

まずは「シート読み取り → 担当者特定 → Slack通知」の最小構成から始めるのが成功しやすいです。

yuchieh.chao