SlackメッセージをGoogleスプレッドシートに自動保存する方法【無料・Makeで30分】

SlackメッセージをGoogleスプレッドシートに自動保存する方法【無料・Makeで30分】

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

この記事では、Slackの特定チャンネルに投稿されたメッセージをGoogleスプレッドシートへ1行ずつ自動保存する仕組みを作ります。ノーコード(プログラミング不要)で設定でき、Makeの無料プランから始められます。実際に動くところまで順番に進めていきましょう。

完成すると、Slackに流れていく情報をスプレッドシートへ時系列で残せます。あとから検索したり集計したりするときにも便利です。

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

使うのは3つだけです。

  • Slack:メッセージの取得元
  • Googleスプレッドシート:保存先
  • Make(旧Integromat):Slackとスプレッドシートをつなぐ自動化ツール。無料プランから利用可能

流れは「Slackのチャンネルを監視 → 新しいメッセージを検出 → スプレッドシートに1行追加」です。Makeの無料プランではスケジュール実行の間隔に制限があり、最短15分間隔で実行できます。リアルタイム性が必要ないログ保存なら十分使いやすい設定です。

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

項目 用途 費用/支払い情報 ここで取得・作成するもの
Slackアカウント(ワークスペース) メッセージの取得元 無料プラン可。クレカ不要(※ワークスペースのアプリ承認ルールによっては管理者承認が必要) 監視したいチャンネル(公開/非公開どちらでも可)
Googleアカウント スプレッドシート保存先 無料。クレカ不要 保存用のスプレッドシート(後述の列名で新規作成)
Makeアカウント 自動化の実行 無料プランでOK(1,000クレジット/月、最短15分間隔、2シナリオ)クレカ不要 SlackとGoogleの連携承認

ポイント:非公開チャンネルを監視する場合は、Slack側でMakeの連携アプリを対象チャンネルに追加する必要があります。またワークスペースの設定によってはアプリの利用に管理者承認が必要です。

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

4-1. Googleスプレッドシートを用意する

まず保存先を作ります。すぐにテストできるよう空のスプレッドシートを1つ用意してください。名前は「Slackログ」など分かりやすいもので構いません。

1行目(ヘッダー)だけ先に作っておきます。MakeでSlackのデータをどの列へ入れるか設定しやすくなるためです。最初は次の4列がおすすめです。

  • 日時
  • ユーザー
  • チャンネル
  • 本文

余裕があれば「メッセージID」や「リンク」列を追加しても構いません。まずは4列で始めれば十分です。あとから列を増やすこともできます。

4-2. Slack側の準備

保存したいチャンネルを1つ決めてください。最初は公開チャンネルの方が設定しやすいです。非公開チャンネルでも利用できますが、連携アプリをチャンネルへ追加する必要があります。

テスト用に、そのチャンネルへ「テスト保存します」など短いメッセージを1つ投稿しておくと後の動作確認がスムーズです。

4-3. Makeの無料アカウント作成

Make公式サイトで無料登録します。Googleアカウントを使った登録も可能です。無料プランから始められるので、まずはアカウントを作成しましょう。登録後にダッシュボードから「Scenario(シナリオ)」を作成できれば準備完了です。

5. 自動化ツールの設定

ここからはMakeで実際につなぎます。各ステップで何をしているのかも簡単に説明します。

5-1. 新規シナリオを作る(全体の箱づくり)

Makeで新規シナリオを作成します。シナリオは自動化処理全体をまとめる入れ物です。名前は「Slack→Sheets保存」など用途が分かるものにしておくと後から探しやすくなります。

5-2. トリガー(起点)としてSlackを追加

キャンバス中央の「+」からSlackモジュールを追加し、「Watch Public Channel Messages(公開チャンネルのメッセージ監視)」を選びます。プライベートチャンネルで作った場合は「Watch Private Channel Messages」を選んでください。ここが自動化のスタート地点です。新しいメッセージを検出すると後続の処理へ進みます。

初回はSlackとの連携を許可する画面が開きます。自分のワークスペースを選び、画面の案内に沿って承認してください。「管理者の承認が必要」と表示された場合はワークスペース管理者に確認してもらいましょう。

モジュールの設定では監視するチャンネルを選択します。非公開チャンネルを使う場合は、事前にMakeの連携アプリを対象チャンネルへ追加してください。チャンネル側の「アプリを追加」などから設定できます。表示される項目やアプリ名はSlackの環境によって異なる場合があります。

「Limit(取得件数)」はテスト時なら1で問題ありません。まずは1件を取得して正常に動くことを確認しましょう。デフォルトの2のままでも問題ないです。

5-3. アクションとしてGoogle Sheetsを追加

続けて右側の「+」を押してGoogle Sheetsモジュールを追加し、「Add a Row(行を追加)」を選びます。Slackで取得したメッセージ1件をスプレッドシートの1行として保存するためです。

初回はGoogleアカウントとの連携画面が開きます。スプレッドシートへのアクセスを許可してください。

設定画面で対象のスプレッドシートとシート名(タブ)を指定します。


その後、列ごとにSlackから取得したデータを割り当てます(マッピング)。

  • 日時 → Slackの投稿時刻(Slackモジュールから取得できる投稿日時の情報を指定します)
  • ユーザー → 投稿者名やユーザー情報
  • チャンネル → 選択したチャンネル名
  • 本文 → メッセージの本文(Text)

ポイント:最初から完璧な形式にする必要はありません。まずはSlackの値がスプレッドシートへ入ることを確認しましょう。日付の表示形式などは後から調整できます。

5-4. 一度だけ手動実行してテストする

シナリオ編集画面の下にある「Run once(1回実行)」をクリックします。先ほど投稿したSlackのテストメッセージが取得され、スプレッドシートに1行追加されるか確認してください。

もし反映されない場合は、Slackに新しいメッセージを投稿してから再度Run onceを実行してみましょう。トリガーによっては前回の実行以降に追加された新しいメッセージが対象になるためです。

5-5. 自動で回るように有効化・スケジュール設定

テストに成功したらシナリオを「ON」に切り替えます。スケジュール設定で実行間隔を確認し、必要に応じて変更してください。Makeの無料プランでは最短15分間隔でスケジュール実行できます。

これでSlackの新しいメッセージを定期的に取得し、スプレッドシートへ自動保存できるようになります。お疲れさまでした!

6. 動作確認(実際の質問例)

次の手順で確認すると分かりやすいです。

  • Slackで対象チャンネルに「テスト保存 1件目 👍」と投稿
  • MakeのシナリオをRun onceして、メッセージが取得されることを確認
  • スプレッドシートを開き、新しい行に「日時/ユーザー/チャンネル/本文」が入っているか確認

結果例:

  • 日時:2026-09-10 10:32
  • ユーザー:ユーザーID
  • チャンネル:#Slackログ連携
  • 本文:テスト保存 1件目 👍

日時が数値や見慣れない形式で表示されても慌てなくて大丈夫です。まず値が保存されていることを確認しましょう。必要ならスプレッドシート側の表示形式を「日時」に変更できます。

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

  • Slackの権限エラー:ワークスペースのアプリ制限で承認待ちになっていませんか?必要なら管理者にMakeのSlack連携について確認してもらいましょう。
  • 非公開チャンネルの取得不可:対象チャンネルにMakeの連携アプリが追加されているか確認してください。Slack側のチャンネル設定からアプリを追加できます。
  • 新着が拾われない:テスト時は新しいメッセージを投稿してからRun onceを実行してください。過去のメッセージがそのまま取得されるとは限りません。
  • スプレッドシートの指定ミス:対象のスプレッドシートやシート(タブ)が正しいか確認してください。ヘッダーも用意しておきましょう。
  • 日時の形式が崩れる:最初は取得した値をそのまま保存して問題ありません。必要ならシート側の表示形式やMakeのformatDate関数で整えられます。
  • Makeの無料枠超過:無料プランの月間クレジットを超えると処理できなくなる場合があります。ダッシュボードで使用量を確認し、不要なシナリオはOFFにしましょう。
  • 共同編集で見え方が変わった:シートにフィルタや並べ替えが設定されていると表示順が変わります。まずはデータ自体が追加されているか確認してください。

どれも設定時に起こりやすいポイントです。まずは「Slackに新規投稿 → Run once → スプレッドシート確認」の流れに戻って確認すると原因を切り分けやすくなります。

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

  • メッセージリンクを保存:Slackメッセージのパーマリンクを取得する処理を追加し、「リンク」列へ保存すると後から該当メッセージを開きやすくなります。
  • ノイズを減らすフィルタ:Makeのフィルタを使い「特定のキーワードを含む」「特定のユーザーが投稿した」など条件を付けると必要なメッセージだけ保存できます。
  • チャンネルを増やす:複数チャンネルのメッセージを同じシートへ保存することもできます。「チャンネル」列を入れておけば後から絞り込みやすくなります。
  • 日付整形:MakeのformatDate関数を使って「YYYY-MM-DD HH:mm」のような形式に統一できます。ログが増えても見やすくなります。
  • ステータス列を追加:後から処理状況を管理したい場合は「ステータス」列を追加し、初期値を「未処理」などにしておく方法があります。Google Apps ScriptやLooker Studioと組み合わせるのも便利です。
  • 実行間隔の短縮:より短い間隔で処理したい場合はMakeの有料プランも候補になります。まずは無料プランで使い勝手を確認してから検討するとよいでしょう。

まずは「動かす → 使ってみる → 必要な部分だけ改善する」の順番で十分です。最初から作り込みすぎない方が業務自動化を続けやすくなります。

まとめ

  • 必要なのはSlack・Googleスプレッドシート・Makeの3つ。無料プランから始められます。
  • スプレッドシートのヘッダーを先に作っておくと設定しやすい。
  • テストは「新規メッセージ → Run once → シート確認」の順番で進める。
  • うまくいかなければ非公開チャンネルのアプリ設定とSlackの権限を確認する。

Slackに流れていく情報を自動で残しておけば、あとから探す手間を減らせます。まずは1つのチャンネルから試してみてください。