受信メッセージをSlackへ通知する方法

機能概要

この設定を行うことで、TalkLabelで受信したメッセージをSlackに自動通知できるようになります。
GoogleスプレッドシートとApps Scriptを利用してWebhook連携を行い、
TalkLabelからのメッセージをSlackチャンネルでリアルタイムに確認できます。

設定手順

設定手順

STEP1:Googleスプレッドシートを新規作成する
STEP2:Apps Scriptを開く
STEP3:コードを貼り付けてSlack Webhook URLを設定する
STEP4:デプロイ設定でウェブアプリを公開する
STEP5:TalkLabel側でWebhook URLを登録して通知設定を完了する

【詳細手順】

STEP1:Googleスプレッドシートを新規作成する
Googleスプレッドシートを新規作成します。
作成後、上部メニューから「拡張機能」→「Apps Script」をクリックします。

STEP2:Apps Scriptを開く
新しいタブでApps Scriptの画面が開きます。
初期表示されている function myFunction() { } のコードをすべて削除してください。

function myFunction() {
  
}

STEP3:コードを貼り付けてSlack Webhook URLを設定する
以下のコードを貼り付けます。

//TalkLabelでメッセージを受信したら、slackに通知する
function doPost(e){
 //データを取得
 const data = JSON.parse(e.postData.contents);
 const textdata = data.trigger.detail.message; //メッセージデータを取得
 const frienddata = data.friends;

 console.log(data);
 console.log("textdata",textdata);
 console.log("frienddata",frienddata);

 let text = []; //メッセージ内容
 let linename = []; //LINE名

 //メッセージの場合の処理
 if(textdata.type === "text"){ //メッセージの場合
   //メッセージ内容を取得
   text = data.trigger.detail.message.text; 
  }else if(textdata.type === "sticker"){ //スタンプの場合
   text = "【スタンプ】を送信しました。"
  }else if(textdata.type === "image"){ //画像の場合
   text = "【画像】を送信しました。"
  }else if(textdata.type === "video"){ //動画の場合
   text = "【動画】を送信しました。"
  }else if(textdata.type === "audio"){ //音声の場合
   text = "【音声】を送信しました。"
  }else{
   text = "不明なメッセージ送信しました。"
  };


 //LINE名を取得
 if(frienddata){
   linename = frienddata[0].line_display_name;
  }else{
   linename = "不明";
  };

 console.log("メッセージ内容",text);
 console.log("LINE名",linename);

 const messageToSend =
   `【LINE名】\n` +
   `${linename}\n\n` +
   `【メッセージ内容】\n` +
   `${text}`;


 //slackに通知を飛ばす
   const slackWebhookUrl = "ここにslackのwebhookURLを貼る";

  const payload = JSON.stringify({
    text: messageToSend,
  });

  const options = {
    method: "post",
    contentType: "application/json",
    payload: payload,
  };

  // SlackにPOST送信
  UrlFetchApp.fetch(slackWebhookUrl, options);


};

コード内の
"ここにSlackのWebhook URLを貼る" の部分に、Slackで取得したWebhook URLを貼り付けます。

貼り付けが完了したら、右上の💾「保存」アイコンをクリックして保存します。

STEP4:デプロイ設定でウェブアプリを公開する
右上の【デプロイ】ボタンをクリックし、「新しいデプロイ」を選択します。

  1. 種類の選択で歯車アイコンをクリックし、「ウェブアプリ」を選択
  2. 「アクセスできるユーザー」を「全員」に変更
  3. 【デプロイ】をクリック
  4. 「アクセスを承認」ボタンが表示されるのでクリックして許可します

デプロイが完了すると「ウェブアプリのURL」が発行されます。
このURLをコピーしてください。
※このURLがTalkLabelに設定するWebhook URLになります。

STEP5:TalkLabel側でWebhook URLを登録して通知設定を完了する
TalkLabelにログインし、通知を設定したい自動応答を開きます。

  1. 「ラベル・表示設定」を選択(ユーザーに影響を与えない設定です)
  2. 「Webhook設定」を開き、コピーしたウェブアプリのURLを貼り付けて【決定】をクリック
  3. 右下の【更新】をクリックして保存

これで設定は完了です。
実際に公式LINEからメッセージを送信し、Slackに通知が届くかテストしてください。

ご不明点は
お問い合わせ窓口へご連絡ください

お問い合わせ