今回はGoogleスプレッドシートのセルに記載された値をSlackに投稿する方法を紹介します。Webhookを利用して簡単に実装できます。
1. SlackでWebhook URLを取得する
まず、Slackのアプリ管理画面で「Incoming Webhooks」を有効にします。次に、対象のチャンネルを選択し、Webhook URLを生成してください。


2. Google Apps Scriptのコードを作成
Googleスプレッドシートを開き、「拡張機能」→「Apps Script」から新規スクリプトを作成します。
コードの例は以下の通りです。
function sendToSlack() {
// SlackのWebhook URLを指定
const slackWebhookUrl = "取得したWebhook URLをここに貼り付ける";
// シートを取得
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート名"); // ★任意のシート名に変えてください
// A1セルの値を取得
const value = sheet.getRange("A1").getValue(); // ★任意の値に変えてください
// Slackに送るメッセージの内容
const payload = {"text": value};
// オプション設定
const options = {
"method": "post",
"contentType": "application/json",
"payload": JSON.stringify(payload)
};
// POSTリクエストを送信
try {
UrlFetchApp.fetch(slackWebhookUrl, options);
} catch (error) {
Logger.log("Slackへの送信エラー: " + error);
}
}コードのポイント
- SpreadsheetApp.getActiveSpreadsheet()
現在開いているスプレッドシートを取得します。 - getSheetByName(“シート名”)
特定のシートを取得します。 - UrlFetchApp.fetch()
指定のURLにデータを送信します。
実行方法
GASのエディタで作成した関数を選択し、「実行」ボタンをクリックすることで手動で動作を確認できます。
日々のレポートや定期的な通知など、活用シーンが幅広くあります。ぜひ試してみてください。