Googleスプレッドシート更新をSlackに自動通知する方法|無料で30分・5手順で完成

Googleスプレッドシート更新をSlackに自動通知する方法|無料で30分・5手順で完成

1. この記事でできること

この記事では、Googleスプレッドシートの特定の列が更新されたときにSlackへ自動通知する仕組みを作ります。Zapierを使うのでコードを書く必要はありません。無料プランを中心に進めればクレジットカードの登録も不要です。

最後まで設定すると、シートのステータスなどを変更したときに指定したSlackチャンネルへ通知が届くようになります。今回は案件管理を例にして順番に設定していきます。まずは実際に動くところまで作ってみましょう。

2. 今回作る自動化の仕組みの全体像

今回はZapierという自動化サービスを使います。Zapierでは「Aが起きたらBをする」という処理を画面上で組み立てられます。

今回の仕組みはシンプルです。

  • トリガー(きっかけ):Googleスプレッドシートの指定した列が更新される
  • アクション(実行):Slackの指定チャンネルへメッセージを送る

たとえば案件管理シートの「ステータス」列を監視して「未対応」から「対応中」に変わったらSlackへ通知するといった使い方ができます。監視する列を指定できるので関係のないセルを編集しただけで通知が飛ぶのを防げます。

ZapierのFreeプランではポーリング型のトリガーが15分間隔で動作します。すぐに通知される仕組みではないため注意してください。なおZapierには手動で新しいデータを確認する機能もあります。テスト時はこちらを使うと確認しやすいです。

3. 事前に必要なアカウント・準備物

ツール 用途 無料プラン クレカ登録 この段階で用意・取得
Googleアカウント スプレッドシートの作成・管理 あり(無料) 不要 監視したいスプレッドシート
Slackワークスペース 通知を受け取る場所 あり(無料) 不要 通知用チャンネル(例:#sheet-更新通知)
Zapierアカウント Google SheetsとSlackをつなぐ あり(無料・100タスク/月) 不要 Google・Slackとの連携認可

ZapierのFreeプランでは月100タスクまで利用できます。また無料プランで作成できるZapは1つのトリガーと1つのアクションで構成する2ステップまでです。今回の「Google Sheets → Slack」という構成ならこの範囲で作れます。

会社のSlackを使う場合は外部アプリの追加に管理者の承認が必要なことがあります。ここで止まってしまったらSlackの管理者に確認してください。

4. 必要なツール、アカウントの設定

4-1. スプレッドシートを“トリガー向き”に整える

まずは通知のきっかけにする列を決めます。今回は「ステータス」列を監視する形で進めます。

  • 1行目を見出し(ヘッダー)にする:例「案件名 / 担当 / ステータス / 期限」
  • 監視する列(今回はステータス)を用意する
  • 2行目以降に実際のデータを入力する

見出しを入れておくとZapier側で各項目を分かりやすく指定できます。Google Sheetsの連携ではスプレッドシートやワークシートを指定して各列のデータを取得できます。

ここでは「ステータス」を監視します。ただし同じステータスへ戻す操作を何度も行う場合は注意が必要です。Zapierは過去に取得した値と同じ値への変更を再度検知できないケースがあります。確実に通知したい場合は「Zapier起動」などの専用列を作る方法がおすすめです。

4-2. Slackに通知用チャンネルを作る

次に通知を受け取るSlackチャンネルを作ります。「#sheet-更新通知」のように用途が分かる名前にしておくと管理しやすくなります。

今回はこのチャンネルへZapierから通知を送ります。プライベートチャンネルを使う場合はZapierから投稿できるように設定しておきましょう。

4-3. Zapierのアカウント作成と初期設定

Zapierのサイトで無料アカウントを作成します。Freeプランはクレジットカードなしで始められます。登録が終わったらダッシュボードを開いてください。初期設定で自動化したい内容を聞かれても今回は使わないのでスキップして構いません。

5. 自動化ツールの設定

ここから「Google Sheets → Slack」というZapを作ります。設定するのはトリガーとアクションの2つです。

5-1. トリガー(Google Sheets)の設定

  1. Zapierで新しいZapを作成します。トリガーアプリに「Google Sheets」を選びます。



  2. イベントは「New or Updated Spreadsheet Row(新規または更新された行)」を選択します。このトリガーは新しい行の追加と既存行の更新を検知できます。


  3. Googleアカウントを接続します。画面が表示されたらZapierからGoogle Sheetsへアクセスするための権限を許可します。

  4. Spreadsheetで対象のファイルを選びます。続いてWorksheetで対象のシートを選択します。

  5. Trigger Columnで監視したい列を選びます。今回は「ステータス」を指定します。これでステータスが更新されたときにZapが起動する設定になります。


  6. Testでテストデータを取得します。データが表示されない場合はスプレッドシートにテスト用の行を1つ作ってから再度試してください。

1行目のヘッダーが空白だったり同じ名前の項目が複数あったりすると設定で迷うことがあります。まずは「案件名」「担当」「ステータス」「期限」のように分かりやすい名前を付けておくとスムーズです。

5-2. アクション(Slack)の設定

  1. アクションアプリに「Slack」を選びます。イベントは「Send Channel Message(チャンネルにメッセージ送信)」を選択します。



  2. Slackワークスペースとの接続を設定します。会社のSlackで管理者承認が必要な場合は承認されるまで先へ進めないことがあります。


  3. Channelで通知先のチャンネルを選びます。プライベートチャンネルが表示されない場合はZapierがそのチャンネルへ投稿できる状態か確認してください。


  4. Message Text(メッセージ本文)を作ります。たとえば次のようにすると内容を確認しやすくなります。
【シート更新】{{案件名}} のステータスが変更されました
担当:{{担当}}
新ステータス:{{ステータス}}
期限:{{期限}}
    

波括弧の部分にはGoogle Sheetsから取得した項目を差し込みます。項目はZapierの入力画面から選択できます。

  1. Bot Nameやアイコンは必要に応じて変更します。最初は初期設定のままで問題ありません。

  2. Testを実行してSlackへテストメッセージを送ります。指定したチャンネルに届けばアクション側の設定は完了です。

5-3. ZapをONにする

テストが終わったらZapをONにします。これで自動実行が始まります。

Freeプランではポーリング型トリガーの確認間隔が15分です。たとえばシートを更新した直後にSlackへ通知が届かなくてもすぐにエラーとは限りません。最大15分ほど待ってから確認してみてください。

6. 動作確認(実際の更新例)

設定が終わったら実際にシートを編集してみましょう。

  1. スプレッドシートの任意の行で「ステータス」を変更します。例として「未対応」から「対応中」に変更します。
  2. Zapierが変更を確認するまで待ちます。Freeプランでは最大15分ほどかかる場合があります。
  3. Slackの通知チャンネルを確認します。次のようなメッセージが届けば成功です。
【シート更新】案件A のステータスが変更されました
担当:山田
新ステータス:対応中
期限:2026-08-31
    

すぐに確認したい場合はZapierのテスト機能を利用できます。また公開済みのZapでは手動でトリガーを確認する機能も用意されています。テストでは正常に動くのに本番で通知されない場合はZapがONになっているかも確認してください。

7. うまく動かないときのチェックポイント

  • ZapはONになっていますか:Zapierのダッシュボードで状態を確認してください。OFFになっていると自動実行されません。
  • 監視列は合っていますか:Trigger Columnが「ステータス」になっているか確認してください。別の列を変更しても通知は動きません。
  • 同じ値へ戻していませんか:過去に取得した値と同じ値への変更では再度トリガーされない場合があります。頻繁に同じステータスへ変更する運用なら専用の起動列を用意する方法がおすすめです。
  • ヘッダーに問題はありませんか:1行目が空白だったり項目名が重複していたりするとデータの取得で問題が起きることがあります。
  • テスト用データはありますか:シートが空の場合はテストデータを取得できないことがあります。まず1行だけデータを入れてください。
  • 共有ドライブを使っていませんか:Googleの共有ドライブに保存したシートでは通常の「New or Updated Spreadsheet Row」と別のトリガーが必要になる場合があります。共有ドライブ用の「New or Updated Spreadsheet Row (Team Drive)」を確認してください。
  • Slackへ投稿できる状態ですか:プライベートチャンネルを使っている場合はZapierが投稿できる状態か確認してください。
  • 通知が遅れていませんか:Freeプランのポーリング間隔は15分です。更新直後に通知されなくても少し待ってみましょう。
  • タスクを使い切っていませんか:Freeプランは月100タスクです。上限に達している場合はZapが実行されません。

それでも動かない場合はZapierのZap Historyを確認してください。Google Sheetsの取得で止まっているのかSlackへの投稿で止まっているのかが分かれば原因を絞り込めます。

8. 次にできる改善アイデア

  • 通知を見やすくする:案件名やステータスを目立たせてSlackで確認しやすくする。
  • 通知する条件を絞る:たとえば「対応中になったときだけ通知」のような条件を追加する。Filterなどの機能を使う場合は有料プランが必要です。
  • 通知先を分ける:担当部署や案件の種類に応じて営業用やサポート用のチャンネルへ振り分ける。
  • 起動専用の列を作る:「Zapier起動」などの列を用意して値を変更したときだけ通知する方法です。ステータスを何度も変更する運用ではこちらのほうが扱いやすいことがあります。
  • より早く通知する:Freeプランでは15分間隔なので即時性が必要な場合は有料プランを検討します。現在のZapierではProfessionalが2分、TeamとEnterpriseが1分のポーリング間隔です。
  • 監査・ログに使う:Slackの通知に変更時刻や担当者を入れておくと後から確認しやすくなります。
  • 大量編集時のルールを決める:複数行を一度に変更すると通知が大量に発生することがあります。必要に応じて一括編集時のルールを決めておきましょう。

まずは「シートを変更したらSlackに通知される」という基本の仕組みを作れば十分です。実際に使ってみて通知が多いと感じたら条件を追加します。通知先を分けたい場合も同じように少しずつ機能を増やしていけばOKです。