Discourse Zendesk

:discourse2: 概要 DiscourseのトピックからZendeskチケットを作成します。
:open_book: インストールガイド このプラグインはDiscourseコアにバンドルされています。プラグインを個別にインストールする必要はありません。

:warning: Zendeskは2027年4月30日にAPIトークン認証を恒久的に無効化します。既存のインストール環境はOAuthによる認証に移行する必要があります

機能

Zendeskチケットの作成

このプラグインを使用すると、DiscourseのトピックからZendeskチケットを作成できます。これは、カテゴリ内のすべてのトピックが自動的にZendeskチケットを生成するようにプラグインを設定すること、または、各トピックの下に表示されるサイトスタッフ用の「Zendeskチケットを作成」ボタンをクリックして個々のトピックをZendeskにプッシュすることによって行われます:

チケットが作成されると、トピックの最初の投稿の著者がZendeskのRequester(依頼者)として設定されます。また、そのユーザーはZendeskのカスタマーリストにも追加されます。

チケットが作成された後、「Zendeskチケットを作成」ボタンは「Zendeskで表示」に更新されます。そのボタンをクリックすると、関連するZendeskチケットに移動します:

Discourseで作成された返信をZendeskにプッシュ

このプラグインでは、Discourseトピックへのすべての返信をZendeskチケットにプッシュするか、トピックの著者が作成した返信のみをプッシュするかのオプションを選択できます。これらの両方の機能は、プラグインの設定で構成可能です。

ZendeskコメントとDiscourseの同期

Zendeskコメントは、チケットが作成されたDiscourseトピックと同期できます。

設定

Discourse Zendeskの設定は、Discourseサイトの管理画面のプラグインページからアクセスできます。そのページの「discourse-zendesk-plugin」エントリの「設定」ボタンをクリックしてください。

OAuthの設定

まず、ZendeskでOAuthクライアントを作成します:

  1. Zendesk管理センターで、アプリと統合 > API > OAuthクライアント に移動します。
  2. OAuthクライアントを追加 をクリックします。
  3. 名前説明 を入力し、クライアントの種類として Confidential(秘密) を選択します。リダイレクトURLは必要ありません。
  4. スコープtickets:readtickets:writeusers:read、および users:write に設定し、OAuthクライアントをプラグインに必要なスコープのみに制限します。
  5. クライアントを保存します。
  6. クライアントの 識別子(Identifier)シークレット(Secret) をコピーします。Zendeskは完全なシークレットを一度のみ表示します。

これらのDiscourse設定を構成します:

  • zendesk oauth client id: OAuthクライアントの 識別子(Identifier) を入力します。
  • zendesk oauth client secret: OAuthクライアントの シークレット(Secret) を入力します。

その他の設定

  • zendesk url: ZendeskアカウントのURLに /api/v2 を続けて入力します。例えば、https://example.zendesk.com/api/v2

  • zendesk enabled: プラグインを有効または無効にします。

  • zendesk jobs api token: 非推奨。既存のインストール環境はOAuthに移行する必要があります。

  • zendesk jobs email: 非推奨。既存のインストール環境はOAuthに移行する必要があります。

  • zendesk autogenerate all categories (zendesk enable all categories): すべてのカテゴリのトピックに対してZendeskチケットを自動的に作成します。この設定はデフォルトでは無効です。

  • zendesk autogenerate categories (zendesk enabled categories): 新しいトピックが自動的にZendeskチケットを作成するDiscourseのカテゴリを選択します。

  • zendesk job push all posts: 返信をチケットコメントとしてZendeskにプッシュします。この設定はデフォルトでは有効です。

  • zendesk job push only author posts: 元のトピックの著者が書いた返信のみをプッシュします。この設定は zendesk job push all posts が有効の場合に適用され、デフォルトでは無効です。

  • sync comments from zendesk および zendesk incoming webhook token: ZendeskからDiscourseへのコメントを同期します。Zendeskの双方向同期を有効にする方法 を参照してください。

  • zendesk tags: Discourseから作成されたZendeskチケットに追加する任意のタグのリストです。

「いいね!」 37

このZendesk連携について、機能リクエストをさせていただきます。

Zendeskへの返信をコメントとして送信することと、Zendeskのコメントを返信として取り込むことの両方が、私たちにとって非常に重要です。しかし、後者の機能を実現する唯一の方法は、指定されたDiscourseカテゴリトピックが自動的にZendeskチケットを作成することです。

手動で作成されたZendeskチケットにも、コメントを返信として取り込む機能があれば、はるかに良いと思います。これは、顧客が作成したトピックの一部のみをZendeskに転送する必要があるため、トリアージプロセスが確立されているからです。エンドユーザーが裏でZendeskチケットを作成できるようにしたくはありません。

よろしくお願いします!

プラグインのご提供、誠にありがとうございます。大変助かっております。

以下の問題について、ご協力いただけますでしょうか。

  • Zendeskで「内部メモ」(プライベートメモ)をチケットに作成した場合、その内部メモはDiscourseのウィスパーを生成しません。
  • 私は、すべての内部メモに対してウィスパーを作成するZendeskのWebhookを実装しましたが、そのウィスパーは、プラグインの通常の動作により、Zendeskにプッシュされてしまいます。

そこで質問なのですが、上記のように内部メモからウィスパーを作成した際に、プラグインがZendeskに新しいコメントを作成するのを防ぐ方法はありますでしょうか?

すべての投稿の同期を無効にすることは可能ですが、目標は、Discourse API経由で作成したウィスパーのみ同期しないようにすることです。

簡単な解決策をご存知でしたら教えていただけますでしょうか?

「いいね!」 1

こんにちは!

バグを報告するのに適切な場所かどうかわかりませんが、もし違うようでしたら、どこかに移動すべきか教えてください。

このプラグインを数週間使用しており、全体的にうまく機能しています。しかし、プラグインがコメントを二重に同期しているように見える問題を発見しました。私の推測では、以下のようになっていると思われます。

  1. ユーザーがDiscourseで投稿を送信する
  2. DiscourseからZendeskに同期される
  3. 同期プラグインがZendeskで新しいコメントを検出し、Discourseに同期し返す

これは、John(プラグインを設定した管理者)が、彼の介入なしに他のユーザーのメッセージの重複を送信しているように見える視覚的なものです。これはDiscourse同期プラグインからのものです。

Zendesk側では、重複した返信は表示されず、ユーザーからのものだけが表示されます(このフォーラムの制限により、2番目のスクリーンショットを投稿できません)。

チケットの履歴表示を展開しても、Zendesk側で異常は見られません。

何が問題になっている可能性があるか、またはこれをデバッグする方法について、何かアイデアはありますか?

よろしくお願いします!

「いいね!」 6

Shaneさん、こんにちは!問題を再現できるか試してみましたが、今のところ同じ問題には遭遇していません。

確認ですが、ZDがコメントをDiscourseに自動送信しているということでしょうか?Johnさんがコメントを引用したり、コピー&ペーストしたりしているわけではない、ということでよろしいでしょうか?

プラグインを最初に設定した際に、ZDで追加のトリガーを設定しましたか?

「いいね!」 3

ご協力ありがとうございます!はい、これはソフトウェアの問題で、ジョンが自分でこれらのメッセージを投稿しているわけではありません。

トリガーを確認し、無効化してから再度有効化するテストを行います。残念ながら、これがいつ、なぜ発生するのかについての類似点が見つかっていないため、直接再現する方法がありません。

「いいね!」 2

チケットが更新され、discourse タグが付いている場合に、PUT リクエストで Discourse 同期 Webhook に通知するトリガーを見つけました。このプラグインは私が設定したものではないのですが、これが原因の可能性がありますか?

そのトリガー以外に、干渉していると思われる自動化は見当たりません。Discourse の管理者に、John のコメント(削除されたものを含む)のリストを返すように依頼しました。これにより、各インスタンスを相互参照して、関連性を見つけようと試みることができます。

「いいね!」 4

Zendeskプラグインを愛用させていただいております。しかし、予期せぬ事態が発生しました。チームの別のメンバー(以前はZendeskのエージェントだった方)がDiscourseのスレッドに返信したところ、ZendeskがそのメッセージをDiscourseに送り返しました。そのため、Discourseトピックに2回投稿されてしまいました。1回はDiscourseに投稿したチームメンバーが作成したもので、もう1回はZendeskの現在の担当者が作成したものです。

どなたかこのような経験をした方で、解決策をお持ちの方はいらっしゃいますか?

こんにちは。

コミュニティ側で作成されたプライベートトピックがZendeskに生成されない問題が発生しています。プライベートトピックがZendeskに正しく同期されるために必要な特定の Саттинг (設定) や構成はありますでしょうか?

ご協力いただき、ありがとうございます。

「いいね!」 1

機能リクエストがあります : )

「Zendeskチケットを作成/表示」ボタンはスタッフにのみ表示されるようです。

より柔軟にするために、これらのボタンの表示を、新しい zendesk_create_ticket_allowed_groups および zendesk_view_ticket_allowed_groups プラグイン設定で制御することは可能でしょうか?

サポートチームに管理者またはモデレーターの役割を必ずしも付与したくありません。彼らはもちろん(Zendeskの)ドメインの管理者ですが、私の意見では、それが必ずしもDiscourseでの権限の拡大を正当化するわけではありません。

:partying_face: このプラグインは、Bundling more popular plugins with Discourse core の一部として、Discourse コアにバンドルされるようになりました。セルフホストでこのプラグインを使用している場合は、次回のアップグレード前に app.yml から削除する必要があります。

「いいね!」 1

@gormus Zendeskの認証にOAuthトークンを使用できるようプラグインを更新していたところ、こちらであなたのリクエストを見かけました。Zendeskボタングループベースの表示制御が、あなたにとって今でも役立つ機能かどうか気になったので、確認させてください。