業務自動化で脱・手作業!一人事務のDX活用術 | RPA・自動化ツール

業務自動化で脱・手作業!一人事務のDX活用ブログ|RPA・自動化ツールで業務をもっとラクに、もっとスマートに

Google ドライブとSlackを連携してファイル通知を自動化する方法

社内・社外でのコミュニケーションツールとしてSlackを使用している企業も多いのではないでしょうか。Slackは手軽に利用でき、業務効率を向上させるツールとして幅広く活用されています。

今回は、Google Apps Script(GAS)を使用し、Google ドライブの指定フォルダに新しいファイルが追加された際にSlackへ自動通知を送る方法をご紹介します。


SlackとGASの接続準備

1. Slackの「Incoming Webhook」を設定する

まず、SlackとGASをつなげるために「Incoming Webhook」を設定します。

  1. Slack API にアクセスし、右上の「Your Apps」から「Create New App」をクリックします。

  2. 「From scratch」を選択します。

  3. 「App Name」(適当な名前)と通知を送りたいワークスペースを設定します。

  4. 左側のサイドバーから「Incoming Webhooks」をさがし、ON(有効化)にします。

  5. 「Webhook URL」を取得し、後でGASのスクリプトに設定します。


Google Apps Script(GAS)の設定

2. GASスクリプトの作成

  1. Google ドライブを開きます。

  2. 「+ 新規」 → 「Google Apps Script」を選択します。

  3. 以下のスクリプトをコピーして貼り付けます。

function checkNewFiles() {
  var folderId = "あなたのフォルダID"; // 監視するフォルダのIDを入力
  var slackWebhookUrl = "あなたのSlack Webhook URL"; // SlackのWebhook URLを入力
  
  var folder = DriveApp.getFolderById(folderId);
  var files = folder.getFiles();
  
  var scriptProperties = PropertiesService.getScriptProperties();
  var lastCheckTime = scriptProperties.getProperty("lastCheckTime") || 0;
  
  var newFiles = [];

  while (files.hasNext()) {
    var file = files.next();
    var createdTime = file.getDateCreated().getTime();
    
    if (createdTime > lastCheckTime) {
      newFiles.push({
        name: file.getName(),
        url: file.getUrl()
      });
    }
  }
  
  if (newFiles.length > 0) {
    sendSlackNotification(newFiles, slackWebhookUrl);
    scriptProperties.setProperty("lastCheckTime", Date.now());
  }
}

function sendSlackNotification(files, webhookUrl) {
  var message = "新しいファイルが追加されました:\n";
  
  files.forEach(function(file) {
    message += `📂 *${file.name}*\n🔗 ${file.url}\n\n`;
  });

  var payload = {
    text: message
  };

  var options = {
    method: "post",
    contentType: "application/json",
    payload: JSON.stringify(payload)
  };

  UrlFetchApp.fetch(webhookUrl, options);
}

3. フォルダIDを取得

監視したいフォルダをGoogle ドライブで開き、URLを確認します。

例: https://drive.google.com/drive/folders/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX がフォルダIDです。

【GASスプリプトの変更】

あなたのフォルダID
あなたのSlack Webhook URL
を取得したものに置き換えてください。

4. GASのスクリプトプロパティを設定

  1. GASの右下の歯車のマーク(プロジェクトの設定)から、 「スクリプトプロパティ」を開きます。

  2. 名前: lastCheckTime値: 0 を入力して保存します。

5. 定期実行の設定

  1. GASの「時計アイコン」(トリガー)をクリックします。

  2. 「+トリガーを追加」をクリックします。

  3. 実行関数: checkNewFiles

  4. 実行タイミング: 「時間主導型」

  5. 頻度: 1時間ごと

  6. 保存

6. 動作確認

  1. 監視対象フォルダに新しいファイルをアップロードします。

  2. トリガーを手動実行(checkNewFiles を実行)します。

  3. Slackに通知が届くか確認します。

     

    ▼下記のような形で通知が届きました。


活用シーン

この仕組みを導入すると、以下のような業務の自動化が可能になります。

🔹 1. 社内の業務効率化

契約書や重要書類の確認依頼
 ➡︎ 社内の特定フォルダに保存すると、自動で担当者に通知。

出張申請や稟議書の承認フロー
 ➡︎ 稟議書をフォルダにアップすると、上司に通知+Slack上で承認コメントが可能。

シフト表や勤務表の更新通知
 ➡︎ 最新のシフトをアップすると、関係者に自動通知。

🔹 2. 社外とのスムーズなやりとり

顧客や取引先とのファイル共有
 ➡︎ フォルダに営業資料や見積書を入れると、自動で通知が飛ぶ。

サポートチームの対応管理
 ➡︎ 顧客からの問い合わせに関連する資料をフォルダに保存すると、サポートチームがすぐに対応できる。

発注書・納品書のやりとり
 ➡︎ 取引先とのフォルダを監視して、新しい書類が追加されたら通知。


まとめ

GASを活用することで、Google ドライブとSlackを連携させ、ファイルの追加を自動通知する仕組みを簡単に構築できます。

手作業での連絡の手間が省けるだけでなく、ファイル共有のスピードアップにもつながるため、業務効率を向上させることが可能です。

ぜひ、この方法を試して、業務の自動化を進めてみてください。

▼ 役に立ったらブックマークお願いします!

このエントリーをはてなブックマークに追加

人気ブログランキング

人気ブログランキング

現役公認会計士が解説!GASで自動化する経営管理【電子書籍】[ 稲垣 大輔 ]

価格:1980円
(2025/2/21 11:54時点)
感想(0件)

 

プログラム未経験者でもOK!! 業務効率化/自動化のためのGoogle Apps Script [ 事務職たらこ ]

価格:2420円
(2025/2/21 11:56時点)
感想(0件)