見出し画像

ZapierとZendesk連携で、あなたに「時間」をプレゼントしたい(Zendesk Advent Calender24日目)

Merry Christmas!🎅

こんにちは、こんばんは。
田町にあるマネーフォワードという会社で働いている竹下と言います。

画像12

この記事はZendesk Advent Calendar 2019の24日目の記事です。

他に、1日ひとつ好きなモノを紹介するAdventCalenderをワンオペでやっています。

画像13

やっと24日目まで来ました。

この記事で何を書いてるか

- サービス連携サービス Zapierを紹介します
- 「チケットに記載された架電予定時間をGoogleCalenderに連携する」レシピをみなさんにプレゼントします

Zendeskって使いにくいですよね?

自分に正直になってください😎
「Zendeskって使いにくい。」そう思うコトってありませんか?
メールでパブリック誤送信インシデントとかあるし、細かい部分で融通効かないし、初期設定わかりづらいし、なんか真っ昼間にメンテナンス始まるし・・・(グローバル時間)。

「よくわからない」そう言いながらZendeskから離れる会社も見てきました。僕も、Zendeskのここがこうならもっといいのになと思うところは沢山あります。
しかし、そんなことはどうでも良いんです。

拡張性と自動化機能が超良いから、そんなことはどうでもいいんです。

Zapierを使うと、拡張性が無限になる

Zendeskには、WebAPIやHTTPターゲット、URLターゲットなど、様々な方法でZendeskと他サービスを繋ぐ仕組みが存在します。
しかし、これまでは接続するためにはエンジニアの助けが不可欠でした。

しかし、Zapier、Integromat、MicrosoftFlow、Anyflowなどのサービス連携ツールができたことによって、エンジニアの助けが無くても繋ぎ込みができるようになっているのが令和元年の状況です。

画像1

※Zapierのホームページから引用

それなのに、せっかくZendeskを使ってるのに、サービスを連携せずZendeskだけ使っているなんてもったいないです。
機械に任せられることは自動化して、これまで時間がなくてできなかったタスクに集中できる体制を作りませんか?

画像11

「早く帰って人生を楽しむ」ことも重要です。

ZapierとZendeskで何やっているの?

弊社では、例えば以下のような用途でZapierを活用しています。

(1)Zendeskの障害TweetをChatworkに通知する仕組み
(2)Zendesk上で、エンジニアがチームごとに使用している案件管理ツール(Asana,Githubなど)に起票し、進捗管理もZendesk上でできる仕組み
(3)Good評価👍が来たらChatworkの専用チャネルに流す仕組み
(4)チケットに記載された架電予定時間をGoogleCalenderに連携する

今回はそのうちの、「(4)チケットに記載された架電予定時間をGoogleCalenderに連携する」仕組みをご紹介します。

チケットの架電予定時間をGoogleCalenderに連携する

今日は、皆さんへのプレゼント🎁として、Zapierの連携レシピをひとつご紹介します。

弊社では、アウトバウンドチームもZendeskを使って案件管理をしています。アウトバウンドで重要なのは、再架電時間をキチンと管理しかけ忘れが無いようにすることです。また、メンバーの急な休みにも対応できる必要があります。
そこで、チケットに記載された架電予定時間をGoogleCalenderに連携する仕組みを作りました。

手順

今回は、Zapier標準の連携機能ではなく、ZapierのWebHook機能を使用し、特定のトリガー発動時にWebHookを送信することにしました。

画像7

(1)ZapierのWebHook機能を選択し、WebhookURLを取得する

Webhooks by Zapierを選んで進んでいくと、受信先のURLが提示されます。

画像2

(2)Zendesk側で送信先を設定する

Zendeskの拡張機能から、HTTPターゲットを設定します。

画像3

(3)トリガを設定する
「何をしたらカレンダーに登録するか」を設定します。
トリガ機能のアクションで、「ターゲットに通知」を選び(2)で設定したターゲットを選択します。
JSONボディには、送信したい情報を記載します。
会社名、担当、希望日時、案件IDなどですね。

画像4

シンプルにやりたいので、Googleカレンダー連携ボタンをチケットに作成しました。

画像5

このボタンが押されることで、Googleカレンダー連携が働くようにトリガを設定しました。追加だけならチェックが入ったままで問題無いですが、今回は更新と削除もやりたかったので、トリガが発動するタイミングでチェックが外れるよう設定しています。ボタンを入れると何かGoogleCalenderの設定が変わるという仕組みであれば、ユーザーにもわかりやすい。

(4)Zapierで設定していく
準備がすみましたので、Zapier側を設定していきます。
今回記載して貰う情報は、(1)架電予定日時(2)架電予定時間のみで架電終了時間は聞いていません。なので、ZapierのFormatterの「Date/Time」機能を使い、架電予定時間の20分先というデータを作るようにしました。

画像7

(5)GoogleCalenderに追加する設定
GoogleCalenderのカレンダーをひとつ作成し、説明やStart Date & Time、End Date & Timeなどを設定していきます。
設定が終わったら、問題無く連携されることを確認しましょう。
追加だけなら、これで終わりです。

(6)カレンダーの更新、削除の設定
今回はカレンダーの更新、削除も設定したかったので、Zendeskのチケットに専用のカラムを作り、チケットのGoogleカレンダーIDを戻すようにしました。
そして、更新用・削除用のWebHookを作成し、それぞれトリガーを作成しています。

トリガーは、「GoogleカレンダーIDと日時が入っていてGoogleカレンダー連携ボタンがチェックされた時には更新が作動する」、「GoogleカレンダーIDが入っていて日時が無い場合には削除する」という設定にしました。
トリガーひとつでZapier側で分岐させることも可能ですが、Zendeskで分けたのはZapierの料金を節約するためです。

(7)ChatWork連携
バグがあればすぐに見つけたいので、Chatworkとも連携しトリガー発動時に投稿されるようになっています。
また、担当者名や事業所名が無い時のアラートも同じチャンネルでやっています。

画像8

これで完成です。

発動のタイミングについて

もし、「読んだけどよくわからなかったよ!」という人は、機能発動のタイミングが腑に落ちて無いのかもしれません。

皆さんがZendesk導入事に悩む点として、「マクロ、トリガ、自動化」の関係がよくわからない」というものがあります。
これは単純に言うと、「どのタイミングで設定した機能を発動させるか」という違いです。

マクロ=人間が選択したときに設定した機能を発動させます。
トリガ=チケットが設定された状態になったときに機能を発動させます。
自動化=チケットが設定された状態になり、設定時間経過後に機能を発動させます。

まずはここをキチンと整理し、機能を付けるときには、人間が手動で発動させたいのか、勝手に発動するようにしたいかをまず考えるようにしてください。

Zapierを使うと、更に自動化のタイミングが増える

ZapierとZendeskの基本連携は、ビューに表示されたタイミングで機能を発動させます。
しかし、ビューの場合には「日時を変更したい」などの場合に設定が難しかったので、今回はHTTPターゲットを使用しました。

全員が「これ自動化できるかも?」という意識を持つ

画像9

※Zapierのホームページから引用

「これ自動化できるかも?」という問題意識は、日常で運用しているメンバーひとりひとりが一番持てます。

全員がZapierを使いこなせる必要はありませんが、チーム内に何人かZapierの操作に慣れている人がいれば、「このタスク、あの人に相談すれば自動化できるかも」という発想に繋がります。

機械に任せられる業務は機械に任せ、僕らは人間にしかできないことをやっていきましょう。来年も非線形で前に進みましょう!

Twitterあります。感想お待ちしています!🏃


ご主人寝てるので変わりにいぬが書きます。サポート、サポートですか。ホントにいいんですか?ジャーキーとか金額によってはガジガジ噛むおもちゃとか買っちゃいますよ?やったー!