2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

STUDIOのフォーム送信をトリガーに、Google Apps ScriptでLINE Bot通知を飛ばす仕組みを作った話

Last updated at Posted at 2025-06-21

こんにちは。tampopo256です。
普段は教育系のWebサービスを作ったりしています。

📬 なぜこの記事を書こうと思ったか

STUDIOでランディングページを作っている中で、「問い合わせフォームの通知どうしよう?」という話に。
STUDIOはフォーム送信後にGoogleスプレッドシートと連携できるので、
「だったらスプレッドシートの変更をトリガーにして、LINEに通知すればよくない?」と気づいたのが始まりです。

当初はZapierやIFTTTも検討しましたが、どうしても柔軟性や費用に不満があったので、GAS + LINE Botで自作した記録を共有します。

💡 背景と前提

やりたいこと

  1. STUDIOのフォーム → Googleスプレッドシートに連携(フォーム送信が追記される)
  2. その「行の追加」をトリガーにGoogle Apps Scriptが動作
  3. 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の取得方法」や「複数人に通知する方法」も記事にします!

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?