自動化
PR

Google Formの回答をLINE WORKSで受け取る方法! Incoming Webhookを使って実装を簡単に

sanane
記事内に商品プロモーションを含む場合があります

はじめに

今回の記事では、GoogleフォームとLINE WORKSを連携して、Googleフォームの回答が送信されたら自動的にLINE WORKSに通知する方法をご紹介します。

Googleフォームは手軽にアンケートを作成できるツールですが、その回答を素早く確認することは意外と手間がかかります。

そこで今回はLINE WORKSが提供しているIncoming Webhookを利用して、この処理を手早く自動化する方法を紹介します。

Incoming Webhook アプリとは

Incoming Webhook アプリとは、他の Web サービスや自社システムからの通知を、LINE WORKS のトークルームで簡単に受信するチャットボットアプリです。

複数のサービスと連携でき、複数人トークルームにも対応しています。

利用方法

事前にGoogle アカウント、Line WORKSアカウントが開設されていることを前提とします。

Incoming Webhook アプリの作成

Incoming Webhook アプリの追加
  1. 上記URLより、LINE WORKSの管理者画面を開きます。
  2. アプリをクリックし、「Incoming Webhook アプリ」をクリックします。
  3. [追加する]をクリックします。
  1. 利用規約に同意の上、[次へ]をクリックします。
  2. [すべてのメンバー]を選択し、[保存]をクリックします。
LINE WORKSトークへの追加
  1. 上記URLよりLINE WORKSのトーク画面に移動します。
  2. 新規のトークを作成します。
  3. メンバー追加の画面で[Bot]タブを選択し、[Incoming Webhook]を選択して[OK]をクリックします。
  4. [利用開始]をクリックします。
補足

既存のグループに[Incoming Webhook]アプリを追加する場合は、既存グループの[⋮]より、[Bot招待]をクリックします。

Webhook URLの設定
  1. 利用を開始後、該当のトークルームにて[Webhookリスト]をクリックします。
  2. この後の手順で利用するため、[⋮]>[チャンネルID]をコピーしておきます。
  3. [追加]>[任意の名前][②でコピーしたチャンネルID]を入力し、[OK]をクリックします。
  4. 作成されたURLをコピーします。
SANANE
SANANE

コピーしたURLはこの後のGoogle側に入力します。

Googleフォーム

Googleフォームの作成
  1. Google フォームにアクセスします。
  2. 既存のフォームを利用するか、新しいフォームを作成し、質問項目などを自由にカスタマイズしてください。
フォームの回答をスプレッドシートにリンク
  1. フォーム編集画面の上部「回答」タブをクリック。
  2. スプレッドシートにリンク」のアイコン(緑色のシートのマーク)を選択。
  3. 新しいスプレッドシートを作成」を選択して「作成」。
  4. 自動でスプレッドシートが生成され、回答が連携されるようになります。

ステップ3:Google Apps Scriptで通知スクリプトを作成する

スクリプトの準備
  1. 前ステップ作成されたスプレッドシートを開きます。
  2. 上部メニュー「拡張機能」 → 「Apps Script」をクリック。
  3. 新しいタブでGoogle Apps Scriptのエディタが開きます。
スクリプトの編集
  1. 以下のコードをコピー&ペーストしてください。不要なものが混ざらないように注意してください。
  2. コード1行目のLINEWORKS_WEBHOOK_URL = 'https://webhook~~'; の 部分を、前ステップで取得したWebhook URLに置き換えます。(シングルクォーテーション ' ' はそのままです)
  3. 上部メニューの「保存」ボタンをクリックして、プロジェクトを保存します。
var LINEWORKS_WEBHOOK_URL = 'https://webhook.worksmobile.com/message/xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxxxx';

function onFormSubmit(e) {
  var values = e.values;
  var timestamp = values[0];
  var messageLines = [];
  messageLines.push('【新しいフォーム回答を受信しました】');
  messageLines.push('送信日時: ' + timestamp);

  for (var i = 1; i < values.length; i++) {
    messageLines.push('回答' + i + ': ' + values[i]);
  }

  var finalMessage = messageLines.join('\n');
  sendToLineWorks(finalMessage);
}

function sendToLineWorks(message) {
  var payload = {
    body: {
      text: message
    }
  };

  var options = {
    method: 'post',
    contentType: 'application/json',
    payload: JSON.stringify(payload)
  };

  try {
    UrlFetchApp.fetch(LINEWORKS_WEBHOOK_URL, options);
  } catch (err) {
    Logger.log('LINE WORKS への送信に失敗: ' + err);
  }
}
トリガーの作成・認証
  1. スクリプトエディタの左メニューから時計マーク(トリガー)をクリックします。
  2. トリガーを追加」ボタンを押して新規トリガーを作成します。
    • 実行する関数を選択:onFormSubmit
    • イベントのソースを選択:スプレッドシートから
    • イベントの種類を選択:フォーム送信時
  3. 保存」ボタンをクリック。
  4. 初回設定時は「承認が必要です」画面が出ますので、下記手順または記事を参考にアクセス権限を許可してください。
    • 現在のアクセスしているGoogleアカウントをクリック
    • Advancedをクリック
    • Go to 無題のプロジェクト (unsafe)をクリック
    • Allowをクリック
あわせて読みたい
Google Apps Scriptで「承認が必要です」が表示されたときの対応方法について解説【GAS】
Google Apps Scriptで「承認が必要です」が表示されたときの対応方法について解説【GAS】

以上で初期設定は完了です。後はGoogleフォームから回答があるたびにLINE WORKSに通知がされます。

カスタマイズの依頼について

「本記事の紹介内容をもっと自分用にカスタマイズしたい」

「設定がうまくいかず依頼したい」

「別のツールの作成依頼をしたい」

上記ご要望について、ココナラというサービスにて承っております。

相談は無料ですのでぜひお気軽にご相談ください。

SANANE
SANANE

[見積り相談をする]からご相談ください!

ABOUT ME
さなね
さなね
システムエンジニアとしての傍ら、自動化に関するツールの作成や発信をしています。 ココナラで紹介しているツールのカスタマイズを承っています。
記事URLをコピーしました