GASで始める!中小企業向け夏季業務効率化:Gmail操作による休暇連絡自動化

GASで始める!中小企業向け夏季業務効率化:Gmail操作による休暇連絡自動化

中小企業における夏季休暇中の業務効率化は、従業員の満足度向上と事業継続の両立に不可欠です。本記事では、Google Apps Script(GAS)を活用し、Gmail操作による休暇連絡自動化システムを構築する方法を、中級者向けに解説します。夏季休暇期間中の不在連絡設定を自動化し、顧客や取引先への対応遅延を防ぐとともに、従業員の休暇取得をスムーズに支援します。

休暇連絡自動化システムの概要

本システムは、夏季休暇期間中に受信したGmailに対して、自動的に休暇中である旨を返信するものです。具体的には、以下の機能を実現します。

  • 休暇期間の設定:スプレッドシート上で休暇期間を設定します。
  • 自動返信設定:休暇期間中に受信したメールに対して、指定した自動返信メッセージを送信します。
  • 除外設定:特定のメールアドレス(例:社内からのメール)に対しては自動返信を行いません。
  • ログ記録:自動返信の履歴をスプレッドシートに記録します。

GASによる実装手順

以下に、GASによる実装手順をステップごとに解説します。スプレッドシートの作成からスクリプトの記述、トリガーの設定まで、具体的なコード例を交えながら説明します。

1. スプレッドシートの作成

まず、Googleスプレッドシートを作成し、以下の項目を設定します。

  • シート名:「休暇設定」
  • 項目:開始日、終了日、自動返信メッセージ、除外メールアドレス

例:

項目 内容
開始日 2024/07/01
終了日 2024/08/31
自動返信メッセージ ただいま夏季休暇をいただいております。〇月〇日より順次対応いたします。
除外メールアドレス example@example.com

2. GASスクリプトの記述

スプレッドシートに紐づいたGASスクリプトエディタを開き、以下のコードを記述します。

// スプレッドシートから設定情報を取得する関数
function getSettings() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("休暇設定");
const settings = {};
settings.startDate = new Date(sheet.getRange("B2").getValue());
settings.endDate = new Date(sheet.getRange("B3").getValue());
settings.message = sheet.getRange("B4").getValue();
settings.excludeAddress = sheet.getRange("B5").getValue();
return settings;
}

// Gmailの自動返信を行う関数
function autoReply() {
const settings = getSettings();
const now = new Date();

// 休暇期間外の場合は処理を終了
if (now < settings.startDate || now > settings.endDate) {
return;
}

const threads = GmailApp.search('is:inbox is:unread');
threads.forEach(thread => {
const messages = thread.getMessages();
const firstMessage = messages[0];
const sender = firstMessage.getFrom();

// 除外アドレスの場合は処理をスキップ
if (sender === settings.excludeAddress) {
return;
}

// 自動返信を送信
thread.reply(settings.message);
thread.markRead();

// ログを記録
logReply(sender, firstMessage.getSubject());
});
}

// 自動返信のログを記録する関数
function logReply(sender, subject) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName("ログ");
sheet.appendRow([new Date(), sender, subject]);
}

3. トリガーの設定

GASのトリガーを設定し、autoReply関数を定期的に実行するようにします。

  • トリガーの種類:時間主導型
  • 実行時間:1分おき

応用例と活用シーン

本システムは、夏季休暇だけでなく、年末年始休暇や長期出張時など、様々なシーンで活用できます。また、自動返信メッセージの内容を動的に変更することで、よりパーソナライズされた対応も可能です。例えば、顧客の種類に応じて異なるメッセージを送信したり、問い合わせ内容に応じてFAQへのリンクを送信したりすることができます。

まとめ

GASを活用したGmail操作による休暇連絡自動化システムは、中小企業における夏季業務効率化に大きく貢献します。従業員の休暇取得を支援し、顧客や取引先への対応遅延を防ぐとともに、企業の信頼性向上にもつながります。ぜひ本記事を参考に、自社のニーズに合わせた自動化システムを構築してみてください。