以前に投稿したGoogle Apps Scriptでメールを送信するに、お問い合わせの送信があった際にSlackの特定のチャンネルに通知されるようにしてみます。
設定方法
Slackへの通知の実装にIncoming Webhookを使用しますが、設定方法は以前記事を投稿していますので、詳しくはそちらを確認ください。
Incoming Webhookで作成したWebhook URLを使って、以前作成したGoogle Apps Scriptのコードを以下のように変更します。
function doPost(e) {
// POSTした内容を取得
var name = e.parameter.name;
var mail = e.parameter.mail;
var body = e.parameter.body;
// スプレッドシートへの書き込み
var spread = SpreadsheetApp.getActiveSpreadsheet();
var lastRow = spread.getSheets()[0].getLastRow();
spread.getSheets()[0].getRange((lastRow + 1), 1).setValue(name);
spread.getSheets()[0].getRange((lastRow + 1), 2).setValue(mail);
spread.getSheets()[0].getRange((lastRow + 1), 3).setValue(body);
// 自動返信メールの送信
sendAutoReply(mail, {
name: name,
body: body,
});
// Slackへの通知
notifyToSlack({
name: name,
mail: mail,
body: body,
});
// returnの設定
var jsonData = {
name: name,
mail: mail,
body: body,
result: 'ok'
}
return ContentService.createTextOutput(JSON.stringify(jsonData))
.setMimeType(ContentService.MimeType.JSON);
}
function sendAutoReply(mail, data) {
var title = 'お問い合わせありがとうございます。';
var body = '以下の内容でお問い合わせが送信されました。\n';
body += 'お名前:' + data.name + '\n';
body += 'お問い合わせ内容:\n';
body += data.body + '\n';
MailApp.sendEmail(mail, title, body);
}
function notifyToSlack(data) {
var webhookUrl = 'WebhookのURL';
var body = '以下の内容でお問い合わせがありました。\n';
body += '名前:' + data.name + '\n';
body += 'メールアドレス:' + data.mail + '\n';
body += 'お問い合わせ内容:\n';
body += data.body + '\n';
var jsonData = {
text: body
};
var options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(jsonData)
};
UrlFetchApp.fetch(webhookUrl, options);
}
50行目にSlackのIncoming Webhookで作成したWebhook URLを追加してください。
コード変更後にデプロイを行い、お問い合わせフォーム内のウェブアプリURLを変更します。
お問い合わせフォームの送信を行い、その内容がSlackで通知されたらOKです。

コメントが承認されるまで時間がかかります。