Slackの投稿をスプレッドシートに転記する方法【手動・自動まとめ】

Slackはチーム内の情報共有に便利ですが、業務報告やタスク管理のために投稿内容をGoogleスプレッドシートに残したいという場面もあります。
この記事では、Slackの投稿をスプレッドシートに転記する方法を「手動」と「自動」それぞれの方法でご紹介します。


方法①:手動でコピペする

一番簡単な方法は、Slackの投稿をコピーしてスプレッドシートに貼り付けることです。

手順

  1. Slackで投稿を右クリック →「メッセージをコピー」
  2. Googleスプレッドシートを開く
  3. 任意のセルに貼り付け(Ctrl+V / Cmd+V)

メリット・デメリット

メリットデメリット
誰でもすぐできる投稿が多いと手間がかかる
特別な設定不要ミスや抜け漏れが発生しやすい

方法②:Slackの「Slack → Google Sheets」連携アプリを使う

Slack公式または外部ツールを使って、自動で特定の投稿をスプレッドシートに転記できます。

代表的なサービス

Zapierを使った例

  1. Zapierにサインアップ
  2. 「Slack → Google Sheets」のZapを作成
  3. Slackの投稿をトリガーにして、内容をシートに追加するアクションを設定

メリット・デメリット

メリットデメリット
自動化できて楽無料枠に制限あり
特定チャンネルやキーワードで絞れる外部サービスに依存

方法③:Google Apps Script(GAS)を使って自動転記する

少し上級者向けですが、GASを使えば無料で柔軟な自動転記が可能です。

できることの例

  • 特定のSlackチャンネルの投稿を定期的に取得
  • Googleスプレッドシートに日時・投稿者・本文を記録
  • 投稿内に特定のキーワードがあれば色付けなども可能

基本構成

  1. Slackの「[カスタムインテグレーション → Webhook URL]」を作成
    → またはSlack API(conversations.history)を使う
  2. GASでHTTPリクエストを送信し、投稿を取得
  3. スプレッドシートに書き込み

サンプルコード(Slack APIを使う例)

javascriptコピーする編集するfunction importSlackMessages() {
  const token = 'xoxb-xxxxxxxxxxxxxxxxxx'; // SlackのBotトークン
  const channel = 'C0123456789'; // チャンネルID
  const url = `https://slack.com/api/conversations.history?channel=${channel}`;

  const options = {
    method: 'get',
    headers: {
      Authorization: 'Bearer ' + token,
    },
  };

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

  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Slackログ');
  messages.forEach(msg => {
    sheet.appendRow([new Date(Number(msg.ts) * 1000), msg.user, msg.text]);
  });
}

🔑 Slack APIトークンを取得するには、Slack APIページからAppを作成し、Bot Tokenを取得してください。


まとめ

方法難易度自動化費用
手動コピペ無料
Zapierなど無料〜有料
GAS無料

Slackの投稿内容を可視化・集計・記録したい方にとって、スプレッドシートとの連携は非常に有効です。
まずは手動 or Zapierから試し、慣れてきたらGoogle Apps Scriptでのカスタマイズに挑戦してみましょう。


よくある質問

Q. 投稿の時刻やユーザー名は取得できますか?
→ Slack API経由なら可能です。手動コピペでは情報が欠けることもあるので注意。

Q. GASでの定期実行は可能ですか?
→ はい。GASの「トリガー」設定で毎日・毎時などの定期実行ができます。




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です