【コピペOK】Googleフォームの送信内容をChatWorkに連携する方法(GAS)

GLASSではあらゆる作業を効率的にすることを重要視しています。

  • 最適な業務ワークフロー自体を設計すること(企画)
  • 設計したワークフロー自体を効率的に実装すること(実装)

今回は、当社内の採用業務に利用しているGoogleフォームに投稿があった場合に、即対応ができるようにチャットワークで通知するワークフローを前提に実装方法をご案内致します。

1. 対象のGoogleフォームで スクリプトエディターを開く

2. ファイルを追加してスクリプトを貼り付ける

スクリプトの内容は以下。

/** 
 * Chatwork の設定 
 */ 
const CHATWORK_API_TOKEN = 'xxxxxxxxxxxx'; // あらかじめ Chatwork から取得したAPIキー 
const CHATWORK_ROOM_ID = '1111111111111'; // 通知を送りたい Chatwork のルームID 
 
/** 
 * Google フォームの回答が追加された際に実行される関数 
 */ 
function onFormSubmit() { 
  // フォームの回答を取得 
  const form = FormApp.getActiveForm(); 
  const responses = form.getResponses(); 
  const latestResponse = responses[responses.length - 1]; 
  const items = latestResponse.getItemResponses(); 
  let message = '[info][title]新しい回答が届きました[/title]'; 
   
  // 各質問と回答をメッセージに追加 
  for (const item of items) { 
    const response = item.getResponse(); 
    const responseText = Array.isArray(response) ? response.join(', ') : String(response); 
    message += item.getItem().getTitle() + ': ' + responseText + '\n'; 
  } 
   
  message += '[/info]'; // 追加 
   
  // Chatwork に通知 
  sendToChatwork(message); 
} 
 
/** 
 * Chatwork にメッセージを送信する 
 * 
 * @param {string} message - 送信するメッセージ 
 */ 
function sendToChatwork(message) { 
  Logger.log('Sending the following message to Chatwork:'); // 追加 
  Logger.log(message); // 追加 
 
  const options = { 
    method: 'POST', 
    headers: { 
      'X-ChatWorkToken': CHATWORK_API_TOKEN, 
    }, 
    payload: { 
      body: message, 
    }, 
  }; 
 
  const url = 'https://api.chatwork.com/v2/rooms/' + CHATWORK_ROOM_ID + '/messages'; 
   
  // Chatwork APIからのレスポンスをログに出力 
  try { 
    const response = UrlFetchApp.fetch(url, options); 
    Logger.log('Response from Chatwork:'); 
    Logger.log(response.getContentText()); 
  } catch (error) { 
    Logger.log('Error occurred when sending to Chatwork:'); 
    Logger.log(error.toString()); 
  } 
} 

スクリプトを一部カスタマイズ

4、5行目の部分だけカスタマイズ下さい。

const CHATWORK_API_TOKEN = 'xxxxxxxxxxxx'; // あらかじめ Chatwork から取得したAPIキー 
const CHATWORK_ROOM_ID = '1111111111111'; // 通知を送りたい Chatwork のルームID 

参考:チャットワークAPIトークンの発行方法

ChatworkのルームIDはチャットワークの対象ルームのURLのridを除いた数字部分です。

3. トリガーを追加

フォーム送信時にGAS(Google Apps Script)が動くようにトリガーを設定します。

設定内容は以下のままです。

“Choose which function to run” では “onFormSubmit” を間違えないように選んで下さい。

これで実装は完了です。

実際にフォームを送信してみるとチャットワークに以下のような投稿がされていることを確認できます。

ちなみに、私はプログラムをガリガリ書けるわけではなく、ChatGPTなどのAIを活用してこのようなプログラムを実装しています!どんどんGASを活用して効率的なワークフローを構築しましょう。

GLASSではこのような効率的なワークフローの企画と実装に明るい・興味のある方を募集しております!

カテゴリー: 業務効率化
GLASSで一緒に働いてみませんか?