こんにちは。tampopo256です。
普段は教育系のWebサービスを作ったりしています。
📬 なぜこの記事を書こうと思ったか
STUDIOでランディングページを作っている中で、「問い合わせフォームの通知どうしよう?」という話に。
STUDIOはフォーム送信後にGoogleスプレッドシートと連携できるので、
「だったらスプレッドシートの変更をトリガーにして、LINEに通知すればよくない?」と気づいたのが始まりです。
当初はZapierやIFTTTも検討しましたが、どうしても柔軟性や費用に不満があったので、GAS + LINE Botで自作した記録を共有します。
💡 背景と前提
やりたいこと
- STUDIOのフォーム → Googleスプレッドシートに連携(フォーム送信が追記される)
- その「行の追加」をトリガーにGoogle Apps Scriptが動作
- LINE Bot(Messaging API)経由で、自分(またはチーム)に通知を飛ばす
使用技術
| 技術 | 用途 |
|---|---|
| STUDIO | フォーム送信UI |
| Google スプレッドシート | フォーム受信データの保存先 |
| Google Apps Script | 通知処理の実行 |
| LINE Messaging API | 通知の送信(LINE Bot) |
🛠 実装手順
1. LINE Botを作成
- LINE Developersで「Messaging API」チャネルを作成
- 長期チャネルアクセストークンを発行
- Botを自分のLINEに友だち追加
- 自分のLINEユーザーIDを取得(BotにWebhook経由で喋らせて確認する or LIFFで取得)
2. GASで通知スクリプトを書く
以下はスプレッドシートに新しい行が追加されたときにLINE通知を送るGASコードです。
const CHANNEL_ACCESS_TOKEN = 'CHANNEL_ACCESS_TOKEN';
const TO_USER_ID = 'YOUR_LINE_USER_ID';
function onFormSubmit(e) {
const sheet = SpreadsheetApp.getActiveSheet();
const lastRow = sheet.getLastRow();
const rowData = sheet.getRange(lastRow, 1, 1, sheet.getLastColumn()).getValues()[0];
const name = rowData[0]; // 1列目に名前
const email = rowData[1]; // 2列目にメール
const message = rowData[2]; // 3列目にメッセージ
const text = `
📨 STUDIOフォームに回答がありました!
👤 名前: ${name}
📧 メール: ${email}
📝 内容: ${message}
`;
sendLineMessage(TO_USER_ID, text);
}
function sendLineMessage(toUserId, text) {
const url = 'https://api.line.me/v2/bot/message/push';
const payload = JSON.stringify({
to: toUserId,
messages: [{ type: 'text', text }]
});
const options = {
method: 'post',
contentType: 'application/json',
headers: {
'Authorization': `Bearer ${CHANNEL_ACCESS_TOKEN}`
},
payload
};
UrlFetchApp.fetch(url, options);
}
3. トリガーを設定
- GASの「トリガー」から、関数:
onFormSubmit - イベントの種類:スプレッドシート → スプレッドシート更新時
- これで、新しいSTUDIOのフォーム入力が来るたびにLINE通知が飛びます
🧠 学びと気付き
- STUDIO → スプレッドシートの連携は「通知のトリガー」に使える
- LINE Notify終了後もBotなら代替できる。Messaging API最強説
- GASの
onFormSubmitトリガーが非常に優秀。Zapierなどの有料サービスを使わなくても通知ができる
✅ まとめ
- STUDIOのフォーム送信は、スプレッドシート経由でGASトリガー化できる
- GASからLINE Botを使えば、自由なメッセージ通知が可能
- LINE Notify終了の今、Bot + GASは有効な選択肢
🔄 追記:こんな応用もできそう
- LINEだけでなくSlack通知やメール送信も追加可能(GAS次第)
- n8nなどのノーコードツールと組み合わせても良さそう
- フォームの内容で通知をフィルター・分類することで担当分けも可能
📣 最後に
STUDIOを使っていて、「問い合わせを即座にLINEで知りたい」という人には
この構成、めちゃくちゃおすすめです。
わからないことがあれば、ぜひコメントください!必要なら「ユーザーIDの取得方法」や「複数人に通知する方法」も記事にします!