Zendesk Supportでは、アカウント内でユーザーが送信するチケットの数を制限することはできません。ただし、Webhookを使用して、組織内および指定した期間内でユーザーから送信されるチケットの数を制限するカスタムワークフローを作成することができます。

このワークフローでは、カスタム組織フィールドを使用して、指定された期間内に送信されたチケットの量を監視します。このワークフローには以下のステップが含まれます。

  • ステップ1:数値組織フィールドを作成する
  • ステップ2:Webhookを作成する
  • ステップ3:トリガを作成

ステップ1:数値の組織フィールドを作成する

このワークフローでは、2つのカスタム数値組織フィールドを使用して、ユーザーが送信したチケットの数を監視し、記録します。

カスタム組織フィールドを作成するには

  1. カスタム組織フィールドを作成する
  2. 「フィールドタイプを選択」で、「数値」を選択します。
  3. 「表示名」で、「カウンタ」と入力します。
  4. 「保存」ドロップダウン矢印をクリックし、「保存して別の追加」を選択します。
    カウンタチケットフィールド
  5. 「フィールドタイプを選択」で、「数値」を選択します。
  6. 「表示名」で「Counter Last Update Unix」と入力し、「保存」をクリックします。

ステップ2:Webhookを作成する

リクエスタの組織タグとチケットタグを更新するトリガのWebhookを作成します。

Webhookを作成するには:

  1. 最初のWebhookを作成する
  2. 「Select a way to connect」で、「Trigger or automation」を選択し、「Next」をクリックします。
  3. 以下の設定を使用します
    • Name:組織を更新
    • エンドポイントURL: yoursubdomainをアカウントのサブドメインにhttps://yoursubdomain.zendesk.com/api/v2/tickets/{{ticket.organization.id}}して置き換えます
    • リクエスト方法:置く
    • 認証:Basic認証
  4. 2番目のトリガまたは自動化Webhookを作成し、「Next」をクリックします。
  5. 以下の設定を使用します
    • Name:更新 - チケットタグ
    • エンドポイントURL:yoursubdomainをアカウントのサブドメインにhttps://yoursubdomain.zendesk.com/api/v2/tickets/{{ticket.id}}/tagsして置き換えます。
    • リクエスト方法:置く
    • 認証:基本認証

      Webhookは次の画像のようになります。Webhookの設定

ステップ3:トリガを作成

リクエスタのチケット数を確認し、組織フィールドを更新し、チケットにタグを追加するトリガを作成します。

最初のトリガを作成するには

  1. 新しいトリガを作成
  2. 「次の条件をすべて満たす」で、次の>を追加します。 チケット | = | 作成された
  3. 「次のいずれかの条件を満たす」で、以下の条件を追加します。
    • 組織の>カウンター | より小さい | 5
    • 組織>カウンター | なし
  4. 「アクション」で、「Other > Notify by > Active webhook > Update org」を追加し、JSON本文に以下のJSON情報を追加します。

    {
    "organization": {
    "organization_fields": {
    "counter": "{{ ticket.organization.custom_fields.counter | plus:'1' }}",
    "counter_last_updated_epoch": "{{ 'now' | date: '%s' }}"
    }
    }
    }
  5. 「トリガを作成」をクリックします。

    チケットが作成されたときにカウンタを更新するトリガ。png

2つ目のトリガを作成するには

  1. 新しいトリガを作成
  2. 「次の条件をすべて満たす」で、次の条件を追加します。
    • チケット> チケット | = | 作成済み
    • Organization > Counter | = | 5
  3. 「アクションで「Other > Notify by > Active webhook > Update ticket tags」とJSON本文に、以下の情報を追加します。

    {% assign nowDateSec = "now" | date: "%s" | minus: 0 %}
    {% assign modDateSec = ticket.organization.custom_fields.counter_last_updated_epoch | date: "%s" | minus: 0 %}
    {% assign result = nowDateSec | minus: modDateSec %}
    {
    "tags": [
    "{% if result < 3600 %}last_ticket_within_1_hour{% else %}last_update_over_1_hour_ago{% endif %}"
    ]
    }
  4. 「トリガを作成」をクリックします。

    timeframe.pngに基づいてチケットにタグを追加するトリガ

3番目のトリガを作成するには

  1. 新しいトリガを作成
  2. 「次の条件をすべて満たす」で、次の条件を追加します。
    • チケット > チケット | = | 更新済み
    • 「チケット>」タグ> 少なくとも次の1つを含む | last_update_over_1_hour_ago
  3. 「アクション」で、次の条件を追加します。
    • その他の> Notify by > Active webhook > Update org、JSON本文に以下の情報を追加します。

      {
      "organization": {
      "organization_fields": {
      "counter": 1,
      "counter_last_updated_epoch": "{{ 'now' | date: '%s' }}"
      }
      }
      }
    • チケット> タグを追加 | last_update_over_1_hour_ago
  4. 「トリガを作成」をクリックします。

    カウンタを1にリセットするトリガ

4番目のトリガを作成するには

  1. 新しいトリガを作成
  2. 「次の条件をすべて満たす」で、次の条件を追加します。
    • チケット > チケット | = | 更新済み
    • チケット>タグ | 少なくとも次の1つを含む | last_ticket_within_1_hour
    • Organization > Counter | = | 5
  3. アクションにより、以下が追加されます。
    • チケット > ステータスカテゴリ > 終了
    • その他 > ユーザーのメールアドレスで > 通知 | チケット > (リクエスタ)
      メモ:ユーザーエクスペリエンスを向上させるようにユーザーに通知することもできます。
  4. 「トリガを作成」をクリックします。

    制限に達したときにチケットを終了するトリガ。png

この概要では、ユーザーが新しいチケットを送信するときのワークフローの概要を説明します。

  1. チケットの作成:
    • チケットが作成されると、ワークフローによってチケットカウンターとタイムスタンプの組織フィールドが更新されます。
  2. カウンターの評価:
    • カウンターが最大許容数を下回った場合、チケットは通常の送信プロセスに進みます。
    • カウンタが最大許容数に達すると、システムは最終更新時刻をチェックし、定義された時間内に送信されたかどうかを判断します。
  3. 期間チェック:
    • 最後の更新が指定された期間から外れた場合、カウンタは1にリセットされます。新しいタイムスタンプに変更が記録されます
    • 最終更新が時間枠内の場合、システムはカウンタを更新せず、新しいタイムスタンプも保存せず、チケットはただちに終了します。ユーザー通知はオプションです。
免責事項:この記事は説明のみを目的として提供されています。記事内で例示したコードについて、Zendeskはサポートも保証もいたしません。何か問題があった場合はコメント欄に投稿するか、インターネットで解決策を探してみてください。

翻訳に関する免責事項:この記事は、お客様の利便性のために自動翻訳ソフ トウェアによって翻訳されたものです。Zendeskでは、翻訳の正確さを期すために相応の努力を払っておりますが、翻訳の正確性につ いては保証いたしません。

翻訳された記事の内容の正確性に関して疑問が生じた場合は、正式版である英語の記事 を参照してください。

Powered by Zendesk