Zendeskのチケット作成をトリガとTwilio Studioで担当者にSMS通知してみた
こんにちは、昴です。
今回はZendeskのチケット作成をトリガとTwilio Studioを利用して担当者にSMS通知する仕組みを作ってみました。
はじめに
カスタマーサポートの現場において、システム障害の報告やVIP顧客からの問い合わせなど、「一刻を争うチケット」の対応は非常に重要です。通常、Zendeskからの通知はメールやSlackで行われることが多いですが、夜間や外出中、あるいは大量の通知に埋もれてしまい、緊急度の高い連絡を見落としてしまうリスクがあります。
そこで有効なのが、到達率と開封率が非常に高い**「SMS(ショートメッセージ)」**による通知です。
今回は、Zendeskで「緊急」のチケットが起票されたことをトリガーにして、Twilioから担当者の携帯電話へSMSを自動送信する仕組みを構築します。 実装にはTwilio Studioを使用するため、複雑なコーディングをせずとも、ドラッグ&ドロップの直感的な操作で通知フローを作成することが可能です。
前提・検証環境
本記事の手順を進めるにあたり、以下の環境および権限が必要です。
- Zendesk
- Teamプラン以上(Webhook機能が利用可能なプラン)
- 管理センターへのアクセス権限(トリガーおよびWebhookの設定用)
- Twilio
- アカウントが開設済みであること
- SMS送信機能を持つ電話番号を購入済みであること
全体フロー図
下記が今回の全体のフロー図になります。
実践
それでは、実際に設定を行っていきます。 手順としては、先に「受け皿」となるTwilio Studioのフローを作成し、発行されたURLをZendesk側のWebhook設定で使用するという流れになります。
Twilio設定
TwilioコンソールのStudio > overview へ移動し、「Create new Flow」を選択します。

フローの名前を入力し、テンプレート選択では「Start from scratch」を選択します。フローの設定画面に移行すると下記のような画面になります。

上部のトリガーからフローを作成していきます。トリガーのREST APIよりSend Messageウィジェットを接続します。ウィジェット内の設定として、Message bodyに通知時のメッセージを入力します。Send Message Toには通知を送る宛先の番号を入力します。今回は「チケットが作成されました」と設定しました。

フロー自体はこれで完了のため、Publishで公開します。公開が完了するとpublishedとなります。

Zendeskの設定に入る前にREST API URLをメモに残しておきます。トリガーを選択し、ConfigタブのREST API URLをコピーしておきます。

続いて、ZendeskのWebhookでの設定に必要なAccount SIDとAuth Tokenをメモに残しておきます。TwilioコンソールのAccount Dashboardへ移動し、それぞれコピーします。

Zendesk設定
Webhook
続いてWebhookの設定をしていきます。管理センターのアプリ及びインテグレーション > Webhookへ移動し、「Webhhokを作成する」を選択します。

接続方法の選択では「トリガまたは自動化」を選択します。

Webhookの詳細ではWebhookの名前を入力後、それぞれ下記のように入力します。
- エンドポイントURL: Twilio StudioのREST API URLの末尾に、宛先と送信元の情報をパラメータとして追記します。
https://studio.twilio.com/v2/Flows/FWxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/Executions?To=+819012345678&From=+19991234567
- FW...:Twilio StudioのFlow SID
- ?To=:通知を送りたい携帯電話番号(E.164形式)
- &From=:Twilioで購入した電話番号(E.164形式)
※設定のポイント Twilio Studioのフローを開始するには、必須パラメータとしてTo(宛先)とFrom(送信元)が必要です。今回はこれらを確実に渡すために、URLパラメータとして直接記述しています。 - リクエストメソッド: POST
- リクエスト形式: エンコードフォーム
- 認証:基本認証
- ユーザー名:Account SID
- パスワード:Auth Token
※認証設定を行わないと、URLを知っている第三者が勝手にSMSを送信できてしまいます。TwilioのAccount SIDとAuth Tokenを使ったBasic認証を設定することで、不正なアクセスをブロックします。

入力が全て完了したら、「Webhookをテスト」を選択します。画面右側にテスト画面が表示されるため、「テストを送信」を選択します。

下記のようにテスト画面の下に結果が表示されます。「201 Created」が表示されれば成功ですので、画面右下の「Webhookを作成する」を選択します。

以上でWebhookの作成は完了です。「設定を完了」を選択します。

トリガ
続いてトリガを作成していきます。
管理センターのオブジェクトとルール > ビジネスルール > トリガへ移動し、「トリガを作成」を選択します。

トリガ名は任意で設定し、条件とアクションか下記のように設定します。
条件
- チケット > チケット | = | 作成された
- チケット > 担当者 | = | (自分を選択)
- チケット > 優先度 | = | 緊急

アクション
- 通知方法 > アクティブなWebhook | SMS通知(作成したWebhookを指定)

以上の設定が完了したら「トリガを作成」を選択します。
確認
それでは実際にチケットを作成し、SMS通知を確認します。
チケットを作成すると下記のようにSMSが届きます。

まとめ
今回はZendeskでのチケット起票をTwilioのSMSで通知する仕組みをご紹介しました。
本ブログが少しでも参考になれば幸いです。
告知
Twilio/SendGridセミナーを毎月開催しています
クラスメソッドでは毎月Twilio/SendGridのセミナーを実施しています。
クラスメソッドではTwilio/SendGridのセミナーを毎月開催しております。いずれもTwilio及びSendGridを良く知らない方向けに基本的な部分から解説する内容となっておりますので、今後Twilio/SendGridの導入を検討している方や、既に導入済で改めて基本的な部分を勉強したいと考える方は、是非お気軽にご参加いただければと思います。






