どーもZendesk中の人の原田です。
Zendeskを利用して効率的にリクエストチケットをハンドルするためにはマクロ、トリガ、自動化を活用する事が重要です。マクロ、トリガ、自動化はつまるところはチケットの情報を纏めて更新してくれる機能なのですが
- マクロ=手動
- トリガ=特定条件で自動実行
- 自動化=特定条件+時間で自動実行
という違いがあります。またマクロは階層化構造を6段階もてるので、電話やメールの内容に合わせてIssueTreeの様に
「製品カテゴリ」→「製品名」→「現象」→「追加情報」→「追加情報入力テンプレート」
という様な感じで階層化を持たせてエージェントが階層を掘り下げていくことで自動的に入力される内容を詳細に決めて、最終的にはコメントのテンプレートも貼り付けて対応することも可能です。
これだけ便利な機能なのに唯一残念のは
- マクロの登録は1本ずつ(GUIでは纏めて登録できるような画面が無い)
- 階層化のマクロを行う場合には「::」というセパレート文字を使わなきゃいけない
- 階層の下段を作る場合には都度タイトルで分ける必要がある
要するに階層化構造を持つマクロを手動で登録するには超面倒なタイトルなどを設定する必要があります。便利なのに登録が面倒だと広まらない、これはどうにかしないと!!
と言う事でどうにかしてマクロを簡単に登録する方法は無いかと考えてみました。
ZendeskはRestAPIが揃っているのでこれを利用するのが一番なのですが、階層化構造を持ったものをどう作るか考えた結果、Excelを活用して関数を作る事にしました。
なんだかんだ言ってConcatenate関数は非常に優秀!!
階層化を作って最後にマクロの名前を::でセパレートしてくれるセルを作成します。
=CONCATENATE(A3,IF(LEN(B3)=0,,"::"),B3,IF(LEN(C3)=0,,"::"),C3,IF(LEN(D3)=0,,"::"),D3,IF(LEN(E3)=0,,"::"),E3,IF(LEN(F3)=0,,"::"),F3)
で、この関数で生成された名前をマクロ名に設定して、あとはZendeskのマクロの作成関数を実行するだけです。
curl https://{subdomain}.zendesk.com/api/v2/macros.json -v -u {email}:{password}
勿論PasswordじゃなくTokenを利用することも可能です。このAPIも記述するのが面倒なので再びConcatenate関数登場。
CONCATENATE("curl -u ",$F$1,"/token:",$D$1," https://",$B$1,".zendesk.com/api/v2/macros.json -H ""Content-Type: application/json"" -X POST -d '{""macro"":{""title"": """,H3,""",""actions"": [ {""field"": ""subject"", ""value"": """,H3,"""}]}}'")
curl -u gharada@zendesk.com/token:hogehoge https://z3nhogejp.zendesk.com/api/v2/macros.json -H "Content-Type: application/json" -X POST -d '{"macro":{"title": "分類1::分類2::分類3::分類4::分類5::分類6","actions": [ {"field": "subject", "value": "分類1::分類2::分類3::分類4::分類5::分類6"}]}}'
これで実際に分類を6階層持ったマクロが作成されました。