kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

【GASで業務効率化】Googleフォームで登録された情報をChatworkへ通知する

※2020年10月時点の情報です。今後の仕様変更により利用できなくなる場合もございます。

こんにちは、Chatworkカスタマーサクセスチームのさかぐち(cw-sakaguchi)です。

「Google Apps Script」を利用して「業務効率化」する手順を不定期に更新していこうと思います!

よろしくお願いします!

今回は「Googleフォームで登録された情報をChatworkへ通知する仕組み」を作成しようと思います。

※複数のGoogleアカウントにログインしている場合、手順通りに進めない場合があります。設定をしたいGoogleアカウトにのみログインし、手順を進めてください。

目次

Google Apps Scriptとは

gsuite.google.co.jp

Googleが提供しているJavaScriptベースのスクリプト言語です。

インストール作業等は不要でGoogle のサーバーで実行されます。 実行するために必要なものは以下の通りです。

  • Googleアカウント
  • ネットワーク環境
  • ブラウザ

手順

「Googleフォームで登録された情報をChatworkへ通知する」手順を紹介していきます。

今回は「名刺発注」のGoogleフォームを作成し、Chatworkに通知していきます。

Chatwork API Tokenの発行

Chatwork APIを利用してメッセージを送信するため、Chatwork API Tokenを取得します。

以下の手順に沿って発行してください。

https://help.chatwork.com/hc/ja/articles/115000172402-API%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3%E3%82%92%E7%99%BA%E8%A1%8C%E3%81%99%E3%82%8B

取得できた「API Token」はメモ帳などに保存してください(後ほど使います)

通知するグループチャットの「ルームID」を取得

Googleフォームで登録された情報を通知するグループチャットの「ルームID」を取得します。

以下の手順に沿って「ルームID」を確認してください。

https://help.chatwork.com/hc/ja/articles/360000142942-%E3%83%AB%E3%83%BC%E3%83%A0ID%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B

取得した「ルームID」はメモ帳などに保存してください(後ほど使います)

Googleフォーム作成

1.Googleドライブを開き「新規」をクリック

Googleドライブを開き「新規」をクリック

2.「Googleフォーム」をクリック

「Googleフォーム」をクリック

3.Googleフォームを作成

Googleフォームを作成

今回の名刺発注フォームは以下の項目を準備します。

  • 氏名
  • 部署名
  • 肩書き
  • 発注枚数

4.「回答」タブより「スプレットシートの作成」をクリック

「回答」タブより「スプレットシートの作成」をクリック

5.「新しいスプレットシートを作成」を選択し、「作成」をクリック

「回答先の選択」より「新しいスプレットシートを作成」を選択し、「作成」をクリック

スプレットシートが作成されました。

スプレットシートが作成されました。

Google Apps Scriptの作成

1.スプレットシートの「ツール」メニューから「スクリプト エディタ」をクリック

「編集」メニューから「スクリプト エディタ」をクリック

2.プロジェクト名を設定

プロジェクト名を設定

3.以下のコードをコピペし、【編集対象】と書かれている部分を修正

// 【編集対象】Chatwork API Token
const token = 'ここにChatwork API Token';
// 【編集対象】登録情報を通知するグループチャットのルームID
const room_id = 'ここにルームID';

function sendReport(e) {

  // 【編集対象】Googleフォームの項目に合わせる
  var date = e.namedValues['タイムスタンプ'];
  var name = e.namedValues['氏名'];
  var department = e.namedValues['部署名'];
  var title = e.namedValues['肩書き'];
  var order = e.namedValues['発注枚数'];

  // 【編集対象】Googleフォームの項目に合わせる
  var message = '';
  message +=  "[info][title]名刺発注依頼[/title]";
  message += "依頼日時: " + date + "\n";
  message += "氏名: " + name + "\n";
  message += "部署名: " + department + "\n";
  message += "肩書: " + title + "\n";
  message += "発注枚数: " + order;
  message += "[/info]";

  // Chatworkへ送信
  var client = ChatWorkClient.factory({token: token})
  client.sendMessage({room_id: room_id ,body: message});
}

以下の設定でGoogleフォームで入力された項目を変数(=の左側)に入れています。

Googleフォームに設定した項目に合わせて変更・追加してください。

var name = e.namedValues['氏名'];
var department = e.namedValues['部署名'];
var title = e.namedValues['肩書き'];
var order = e.namedValues['発注枚数'];

上記で作成した変数を利用して、Chatworkへ通知用のメッセージ(以下のmessage)を作成しています。

Googleフォームに設定した項目に合わせて変更・追加してください。

var message = '';
message +=  "[info][title]名刺発注依頼[/title]";
message += "依頼日時: " + date + "\n";
message += "氏名: " + name + "\n";
message += "部署名: " + department + "\n";
message += "肩書: " + title + "\n";
message += "発注枚数: " + order;
message += "[/info]";

4.ライブラリの読み込み

Chatworkへメッセージ送信は「Chatwork Client for Google Apps Script」を利用します。

※「Chatwork Client for Google Apps Script」のリンク先でのログインは不要です。

(1)ライブラリを選択 「ライブラリ」を選択

(2)プロジェクトキーを追加し、必要な設定をおこない「追加」をクリック

プロジェクトキー: M6TcEyniCs1xb3sdXFF_FhI-MNonZQ_sT

ライブラリの追加

※ 最新バージョンを選択してください。

5.保存

トリガーの設定

フォーム送信時にスクリプトを動かしChatworkへ通知するよう設定します。

1.「編集」メニューから「現在のプロジェクトのトリガー」をクリック

「編集」メニューから「現在のプロジェクトのトリガー」をクリック

2.「トリガーを追加」をクリック

「トリガーを追加」をクリック

3.「イベントの種類を選択」で「フォーム送信時」を選択し、「保存」をクリック

「イベントの種類を選択」で「フォーム送信時」をクリック

4.アカウントを選択

アカウントを選択

5.「許可」をクリック

「許可」をクリック

動作確認

名刺発注フォームを入力

名刺発注フォームを入力

通知がきた!

通知がきた!

まとめ

いかがでしたでしょうか?

今回は「名刺発注」の内容をグループチャットに通知する仕組みを紹介しましたが、他にも

  • 備品発注
  • 不具合・改善要望 お客様からの問い合わせ内容

等、忘れてはいけない内容やスピーディーに対応したい内容をChatworkに通知することで業務効率化や品質向上につなげることができます。

また、メッセージ送信の部分をタスク作成することも可能です。

タスク作成のChatwork APIのドキュメントはこちらです。 developer.chatwork.com

それでは、よいGAS生活を〜

※プログラムの書き方など、具体的な実装方法については「サポート対象外」となります。