![見出し画像](https://assets.st-note.com/production/uploads/images/170263805/rectangle_large_type_2_8529fe31fd7424e12c96fcf7e1c27ad2.jpeg?width=1200)
【SaaSでいつか使えそう!】な、GAS10選
今回はいつか使えそうなGAS10選を置いておきます!
1. リード管理の自動化
概要: 新しいリード情報をスプレッドシートに自動的に追加するスクリプト。
事例:
ウェブフォームや他のCRMシステムから新しいリードが発生したとき、スプレッドシートに自動で追加。
コード例と解説:
function addLeadToSheet(leadData)
{
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Leads');
sheet.appendRow([leadData.name, leadData.email, leadData.company, leadData.date]);
}
SpreadsheetApp.getActiveSpreadsheet() は、現在開いているスプレッドシートを取得します。
getSheetByName('Leads') は、シート名「Leads」を指定してシートを取得します。
appendRow は、指定したデータを新しい行として追加します。
2. 定期レポートの自動生成
概要: スプレッドシートのデータを基に毎週のレポートを作成し、メールで送信するスクリプト。
事例:
毎週の売上データを集計して、レポートを自動で作成し、メールで送信。
コード例と解説:
function sendWeeklySalesReport() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sales');
const data = sheet.getRange('A1:D10').getValues();
const report = generateReport(data);
MailApp.sendEmail('recipient@example.com', 'Weekly Sales Report', report); }
function generateReport(data) {
let report = 'Weekly Sales Report:\n\n';
data.forEach(row => { report += `Date: ${row[0]}, Sales: ${row[1]}, Profit: ${row[2]}, Items Sold: ${row[3]}\n`; }); return report; }
getRange('A1:D10') は、指定した範囲のデータを取得します。
getValues() は、範囲内のすべての値を配列として取得します。
generateReport 関数は、取得したデータを基にレポートを作成します。
MailApp.sendEmail は、メールを送信するための関数です。
3. カスタマーサポートチケットの管理
概要: サポートチケットをスプレッドシートに記録し、進捗をトラッキングするスクリプト。
事例:
新しいサポートチケットが作成されたとき、スプレッドシートに自動で追加。
チケットのステータスが更新されたときに通知を送る。
コード例と解説:
function addSupportTicket(ticketData) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SupportTickets'); sheet.appendRow([ticketData.id, ticketData.customer, ticketData.issue, ticketData.status, ticketData.date]); } function updateTicketStatus(ticketId, newStatus) { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('SupportTickets'); const range = sheet.getDataRange(); const values = range.getValues(); for (let i = 1; i < values.length; i++) { if (values[i][0] == ticketId) { sheet.getRange(i + 1, 4).setValue(newStatus); break; } } }
getDataRange() は、シート内のデータが含まれる範囲をすべて取得します。
for ループを使って、チケットIDが一致する行を見つけ、ステータスを更新します。
4. 顧客利用状況の可視化
概要: SaaS製品の利用状況を可視化し、ダッシュボードを作成するスクリプト。
事例:
顧客ごとの利用データを取得し、スプレッドシートに表示。
利用状況に応じたアラートや通知を設定。
コード例と解説:
function updateUsageDashboard() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('UsageDashboard'); const usageData = getUsageData(); sheet.clear(); sheet.appendRow(['Customer', 'Usage', 'Last Active']); usageData.forEach(data => { sheet.appendRow([data.customer, data.usage, data.lastActive]); }); } function getUsageData() { return [ { customer: 'Customer A', usage: 120, lastActive: '2024-07-10' }, { customer: 'Customer B', usage: 45, lastActive: '2024-07-11' }, ]; }
sheet.clear() は、シート内のすべてのデータをクリアします。
getUsageData() は、顧客の利用データを取得するための関数です。
5. 請求書の自動作成と送信
ここから先は
Amazonギフトカード5,000円分が当たる
この記事が気に入ったらチップで応援してみませんか?