Open5

Zendesk Support のチケット起票時(等)のイベントのSlack通知

kochorukochoru
  • とあるGoogleグループAへメールが送信された際に、Zendesk Support へチケットを起票したい
  • チケット起票した際、そちらをSlack通知したい
    • なお、当該Slack通知は、とあるGoogleグループA宛に送られたもののみに限定して通知したい。
    • 他の方法で起票されたものは、Slack通知しない
      という要件があり、色々調べてなんとか実現できたので、メモを残しておく
kochorukochoru

Zendesk Supportのサポートアドレス

まずZendesk Supportにはサポートアドレスというものがあり、デフォルトでは1つ、
support@yoursubdomain.zendesk.com
というアドレスが払い出されている。

このアドレスに送付されたメールは、Zendesk Supportにチケットとして起票される
(他にも機能あり、詳細はこちら参照)

kochorukochoru

Zendesk Support のサポートアドレスの追加

サポートアドレスの追加には、いくつか方法がある。それについて掻い摘んでまとめてく

新規Zendeskアドレスを作成

独自ドメインのメールアドレスに拘らない場合は、こちらでよい。
ドメインパートは@yoursubdomain.zendesk.com
ローカルパートを任意の文字列で、作成できる

外部アドレスに接続

大抵既存のサポートアドレスがあるはずなので、その場合はこちら。
外部アドレスに接続の中に、さらに2つの選択肢がある

Google Workspaceアカウントでサインインし、OAuthでメールの読み込みをZendeskに許可する

以下の左で実行するやつ

上記以外のアドレスをサポートアドレスとして登録し、メールを転送する

Google Workspace以外の場合、設定したいサポートアドレスをメールプロバイダ側でzendeskのデフォルトのサポートアドレスに転送する設定を仕込む。
(別にサポートアドレスとして登録しなくても、メールを既存のサポートアドレスに転送するだけでチケットは起票されるが、後述のトリガー等を仕込みたい時に詰むので、登録するに越したことはない)
以下に右で実行するやつ

https://support.zendesk.com/hc/ja/articles/4408842868506-チケットの送信先となるサポートメールアドレスの追加

kochorukochoru

ハマりポイント1. 既にメールアドレスがZendesk Support上にエンドユーザとして存在している場合

Zendesk Supportは

  • 1回でも問い合わせるとチケットへの紐付き方としてはリクエスタとして、Zendesk上のユーザ種別としてはエンドユーザとして登録される
  • 転送でチケットを起票していると、チケットへの紐付き方としてはCCとして、Zendesk上のユーザ種別としては同じくエンドユーザとして登録される

また、登録したいサポートアドレスを利用したエンドユーザが既に存在しているとそのアドレスをサポートアドレスとして登録できない。

これに対処するには、

  1. 既存エンドユーザの削除
  2. 既存エンドユーザのメールアドレスの変更
    しかない。

いずれにせよ、影響を見て適宜バックアップ等をとっておくとよい。
ビューを作成すればチケットのエクスポートも可能

kochorukochoru

Slack通知

一旦オーソドックスに考えると、Zendeskのインテグレーション、およびトリガーを用いてSlack通知を実現するのがよい

Zapierを経由してももちろんSlack通知は可能だが、チケットのCCにユーザが紐づいている場合、Zapier上で取り扱えてないような雰囲気があり、完璧ではなさそう。(状況証拠のみ、未調査)

インテグレーションの設定

まずは「アプリおよびインテグレーション」→「インテグレーション」からSlackの設定を済ませておく。
実際の通知処理は後述のトリガで行うが、ここで連携設定を済ませておかないと通知先候補として出てこない

トリガの設定

「オブジェクトとルール」→「ビジネスルール」→「トリガ」→「トリガを作成」
サポートアドレスごとに通知先を分けたいケースの場合は、条件で「チケット>受信アドレス」でサポートアドレスを指定する。

その後、アクションで「通知方法」→「Zendeskインテグレーション」→「Slackインテグレーション」
ワークスペース、Slackチャンネル等はよしなに。
デフォルトで作成される本文を見て分かる通り、Markdown記法を利用可能
また、メンション等も<@user_id>の形式でのユーザメンションや、<!subteam^group_id>の形式でのグループメンションも対応可能

備考

デフォルトでは、起票だけでなく、チケットの各イベント(更新等)全てに対して通知が行われそう。
絞りたい場合は、トリガの条件で指定すると良い

https://support.zendesk.com/hc/ja/articles/4963959597594-Slack用のチケットトリガの作成と管理