Slackはチーム内の情報共有に便利ですが、業務報告やタスク管理のために投稿内容をGoogleスプレッドシートに残したいという場面もあります。
この記事では、Slackの投稿をスプレッドシートに転記する方法を「手動」と「自動」それぞれの方法でご紹介します。
方法①:手動でコピペする
一番簡単な方法は、Slackの投稿をコピーしてスプレッドシートに貼り付けることです。
手順
- Slackで投稿を右クリック →「メッセージをコピー」
- Googleスプレッドシートを開く
- 任意のセルに貼り付け(Ctrl+V / Cmd+V)
メリット・デメリット
メリット | デメリット |
---|---|
誰でもすぐできる | 投稿が多いと手間がかかる |
特別な設定不要 | ミスや抜け漏れが発生しやすい |
方法②:Slackの「Slack → Google Sheets」連携アプリを使う
Slack公式または外部ツールを使って、自動で特定の投稿をスプレッドシートに転記できます。
代表的なサービス
- Zapier(https://zapier.com/)
- Make(旧Integromat)
- Slack公式のワークフロービルダー
Zapierを使った例
- Zapierにサインアップ
- 「Slack → Google Sheets」のZapを作成
- Slackの投稿をトリガーにして、内容をシートに追加するアクションを設定
メリット・デメリット
メリット | デメリット |
---|---|
自動化できて楽 | 無料枠に制限あり |
特定チャンネルやキーワードで絞れる | 外部サービスに依存 |
方法③:Google Apps Script(GAS)を使って自動転記する
少し上級者向けですが、GASを使えば無料で柔軟な自動転記が可能です。
できることの例
- 特定のSlackチャンネルの投稿を定期的に取得
- Googleスプレッドシートに日時・投稿者・本文を記録
- 投稿内に特定のキーワードがあれば色付けなども可能
基本構成
- Slackの「[カスタムインテグレーション → Webhook URL]」を作成
→ またはSlack API(conversations.history
)を使う - GASでHTTPリクエストを送信し、投稿を取得
- スプレッドシートに書き込み
サンプルコード(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の「トリガー」設定で毎日・毎時などの定期実行ができます。
コメントを残す