Chatworkでエイリアスアカウント

つくったもの

  • Chatworkでスタッフからの質問を受け付けるbot
  • hoge株式会社ヘルプデスク」というChatworkアカウントに話しかけたら、回答者が集まるグループチャットへ転送してくれる
  • 回答者グループチャットの参加者が問い合わせに匿名で返信出来る




■質問者の利用イメージ

ヘルプデスクアカウントに、直接質問をすると、中の人が誰かはわからないけど返信がくる

f:id:xxshokoxx:20180109165723j:plain



実際のChatwork画面
f:id:xxshokoxx:20180109121916p:plain



■回答者の利用イメージ

グループチャットで、来た質問に答えられる人が直接返信をすると、ヘルプデスクアカウントが代行して返信をしてくれる

f:id:xxshokoxx:20180109123336j:plain



回答者のChatwork画面
f:id:xxshokoxx:20180109130202j:plain


【返信可能MSG】とついているメッセージに、普段通りに返信する
f:id:xxshokoxx:20180109130051j:plain




構築方法

  1. 「サービスデスク問い合わせアカウント」といったChatworkアカウントを作成し、API Keyを確認
  2. 問い合わせ担当の人とbotが参加するグループチャットを作成し、1.で作成したアカウントと問い合わせ担当者を招待
  3. 以下の手順でスクリプトを作成

Chatworkエイリアスアカウントのプロジェクトキー

1Rpm-_kZprVA4BusiDxHnebHWR6wprUTarpnHvJaTH7BriMuCjKeiLl5A

スクリプト作成してプロジェクトキーを読込むまでの手順がわからない方はこちらを参考に

Chatworkのコンタクト申請を自動で承認 - とろろ

ソースコード(使用するだけなら読む必要はありません)

https://github.com/shoko3168/gas-projects/blob/master/CWAliasAccount.gs

実現手順

まず、以下のコードどちらかをGoogle Apps Scriptのエディターに張り付け、保存します

最低限の設定Version
// Library project key
// 1Rpm-_kZprVA4BusiDxHnebHWR6wprUTarpnHvJaTH7BriMuCjKeiLl5A
function checkChat() {
  return CWAliasAccount.checkChat({
    'token': '【d921bac31・・・・といったChatworkのトークンを入力する】', 
    'target_room': '99999999', 
  });
}
細かい設定を行うVersion
// Library project key
// 1Rpm-_kZprVA4BusiDxHnebHWR6wprUTarpnHvJaTH7BriMuCjKeiLl5A
function checkChat() {
  return CWAliasAccount.checkChat({
//     'token': PropertiesService.getScriptProperties().getProperty('TOKEN'), 
    'token': '【d921bac31・・・・といったChatworkのトークンを入力する】', 
    'log_sheet_url': 'https://docs.google.com/spreadsheets/d/***********/edit', 
    'target_room': '99999999', 
    'is_reply': true,
    'reply_message': '上記発言を承りました', 
    'inquiry_header': '【返信可能MSG】問合元:', 
    'api_base_url': 'https://api.chatwork.com/v2', 
    'base_url': 'https://www.chatwork.com', 
  });
}

パラメータの説明

パラメータ名 入力内容 説明
token Chatworkのトーク Chatwork右上の、API設定から発行できる32桁くらいの「API Token」
log_sheet_url ログを出力するスプレッドシートのURL 設定すると、そのSpreadsheetにメッセージ履歴が保存されます
target_room 質問を投げる先のグループチャットroom_id グループチャットを開いていると、URLに「#!rid99999999」とあるのですが、その数値部分を指定します
is_reply エイリアスアカウントに質問をした際、自動応答を行います true:自動応答する、false:自動応答しない
reply_message 自動応答されるメッセージ is_replyがtrueの時、自動応答される内容です
inquiry_header 返信可能なメッセージのヘッダー グループチャットに投下されるメッセージの先頭につく目印です
api_base_url Chatwork APIのURL 今のところはこのままでOKです
base_url Chatworkのドメイン KDDIを使っている時は、「https://kcw.kddi.ne.jp」に変更した方が良いです。メッセージのリンクに使用
画面の上の方で「checkChat」を選択し、三角の実行ボタンを押します

f:id:xxshokoxx:20180109112624j:plain

※ここで権限を要求されると思いますが、OKします

自動チェックの設定

先ほど動作確認をした「checkChat」というのが、誰かから問い合わせが来ていないかを監視する機能になります。
問題無く動作したら、今度は「checkChat」を1分間に1回呼び出す設定をします。

上のメニューから 編集→現在のプロジェクトのトリガー を開き、以下のような設定で「保存」をします

f:id:xxshokoxx:20180109112956j:plain

これで1分間に1回、新着メッセージを確認してくれるようになり、設定が完了です。