Zendesk自動化APIリファレンス:実践的な開発者向けガイド

Stevia Putri
Written by

Stevia Putri

Reviewed by

Stanley Nicholas

Last edited 2026 2月 24

Expert Verified

Zendesk自動化APIリファレンスのバナー画像:実践的な開発者向けガイド

Zendesk自動化APIを使用すると、サポート業務を円滑に進めるための時間ベースのビジネスルールをプログラムで制御できます。トリガーがイベントの発生時に即座に発動するのに対し、自動化はスケジュールに従って実行され、1時間ごとに条件をチェックし、条件が満たされたときにアクションを実行します。

カスタム統合を構築したり、環境間でワークフローを移行したり、Zendeskを大規模に管理したりする場合は、このAPIを理解することが不可欠です。このガイドでは、認証から実際のコード例まで、自動化を効果的に実装するために必要なすべてを網羅しています。

開発リソースを持たないチームには、別の方法があります。eesel AIはZendeskに直接接続し、ノーコードインターフェースを通じて同じ自動化シナリオの多くを処理します。両方のアプローチを検討し、チームに最適なものを選択できるようにします。

Zendeskサポートプラットフォームのインターフェース
Zendeskサポートプラットフォームのインターフェース

Zendesk自動化について

自動化とは、特定の条件が満たされたときに1つ以上のアクションを実行する時間ベースのビジネスルールです。チケットの作成やステータスの変更などのイベントに即座に応答するトリガーとは異なり、自動化は1時間ごとに条件を評価します。

主な違いは次のとおりです。

  • トリガー はイベントに即座に反応します。トリガーは、チケットが作成、更新されたとき、または特定のフィールドが変更されたときに発動します。
  • 自動化 はスケジュールに従って実行されます。1時間ごとに条件をチェックし、条件が真の場合にのみアクションを実行します。

このタイミングにより、自動化は、アクションを実行する前に待機する必要があるシナリオに最適です。一般的なユースケースは次のとおりです。

  • SLAアラート: チケットが24時間以内に解決されない場合にマネージャーに通知する
  • チケットのエスカレーション: オープン状態が長すぎるチケットの優先度を上げたり、再割り当てしたりする
  • フォローアップシーケンス: 応答のない顧客にリマインダーメールを送信する
  • 古いチケットのクリーンアップ: 一定期間非アクティブな解決済みのチケットをクローズする
  • エージェントのワークロードのバランス調整: 過負荷のエージェントからチケットを再割り当てする

自動化のライフサイクルは次のようになります。1時間ごとに、Zendeskは時間ベースの基準を満たすすべてのチケットに対して、すべてのアクティブな自動化を評価します。条件が一致すると、アクションが実行されます。重要なのは、条件が真のままである限り、自動化は引き続き発動するため、繰り返しのアクションを回避するように慎重に設計する必要があることです。

ビジネスルール実行のための時間ごとの自動化チェックサイクル
ビジネスルール実行のための時間ごとの自動化チェックサイクル

認証とセットアップ

API経由で自動化を作成または管理する前に、認証を設定する必要があります。Zendesk自動化APIは、HTTP Basic Authによるトークンベースの認証を使用します。

APIトークンの生成

  1. 管理者としてZendeskにサインインします
  2. 管理センター > アプリと連携機能 > API > Zendesk APIに移動します
  3. 設定タブをクリックします
  4. トークンアクセスがまだ有効になっていない場合は有効にします
  5. **+**ボタンをクリックして、新しいトークンを追加します
  6. トークンに「自動化管理」などのわかりやすい名前を付けます
  7. トークンをすぐにコピーします(再度表示されることはありません)

詳細なガイダンスについては、APIトークンの生成に関するZendeskドキュメントを参照してください。

認証形式

Zendesk自動化APIは、Basic認証を使用します。次の形式で資格情報をBase64エンコードする必要があります。

{email_address}/token:{api_token}

たとえば、メールアドレスがadmin@company.comで、トークンがabc123xyzの場合、エンコードします。

admin@company.com/token:abc123xyz

認証をテストするためのcurlコマンドを次に示します。

curl https://{subdomain}.zendesk.com/api/v2/automations \
  -v -u {email_address}/token:{api_token}

{subdomain}をZendeskサブドメインに、{email_address}を管理者メールに、{api_token}を生成したトークンに置き換えます。

ベースURL構造

すべての自動化APIエンドポイントは、次のベースURLを使用します。

https://{subdomain}.zendesk.com/api/v2/automations

レート制限

Zendeskは、システムの安定性を維持するためにレート制限を適用します。ほとんどのエンドポイントは1分あたり700リクエストを許可していますが、これはプランとエンドポイントによって異なる場合があります。制限を超えると、429 Too Many Requestsレスポンスが返されます。これを適切に処理するために、コードに指数バックオフを実装してください。

コアAPIエンドポイント

自動化APIは、標準的なCRUD操作を提供します。最も頻繁に使用するエンドポイントを次に示します。

自動化のリスト

GET /api/v2/automations

このエンドポイントは、アカウントのすべての自動化を返します。アクティブなステータスでフィルタリングし、ソートを制御できます。

利用可能なパラメーター:

パラメータータイプ説明
activebooleanアクティブ(true)または非アクティブ(false)な自動化にフィルタリングする
sort_bystring「alphabetical」、「created_at」、「updated_at」、「usage_1h」、「usage_24h」、または「usage_7d」でソートする
sort_orderstring「asc」または「desc」

curlの例:

curl https://{subdomain}.zendesk.com/api/v2/automations?active=true \
  -u {email_address}/token:{api_token}

自動化の表示

GET /api/v2/automations/{id}

IDで単一の自動化を取得します。

curlの例:

curl https://{subdomain}.zendesk.com/api/v2/automations/25 \
  -u {email_address}/token:{api_token}

自動化の作成

POST /api/v2/automations

新しい自動化を作成します。リクエストボディには、自動化定義を含むJSONオブジェクトを含める必要があります。

新しい自動化の重要な要件:

  • 少なくとも1つの時間ベースの条件が必要です
  • statustypegroup_idassignee_id、またはrequester_idをチェックする条件を少なくとも1つ含める必要があります
  • 少なくとも1つの条件を無効にするアクションが必要です(無限ループを防ぎます)

curlの例:

curl -u {email_address}/token:{api_token} \
  https://{subdomain}.zendesk.com/api/v2/automations \
  -H "Content-Type: application/json" -X POST -d \
  '{
    "automation": {
      "title": "古いチケットのエスカレーション",
      "all": [
        { "field": "status", "operator": "is", "value": "open" },
        { "field": "hours_since_created", "operator": "greater_than", "value": "24" }
      ],
      "actions": [
        { "field": "priority", "value": "high" }
      ]
    }
  }'

自動化の更新

PUT /api/v2/automations/{id}

既存の自動化を変更します。変更を加えた完全な自動化オブジェクトを送信します。

自動化の削除

DELETE /api/v2/automations/{id}

自動化を完全に削除します。

ページネーション

APIは、次の2つのページネーション方法をサポートしています。

  • カーソルページネーション(推奨):大規模なデータセットでパフォーマンスを向上させるには、?page[size]=50&page[after]=cursorを使用します
  • オフセットページネーション: より簡単な実装には、?page=2&per_page=50を使用します

自動化オブジェクト構造

自動化は、特定のプロパティを持つJSONオブジェクトとして表されます。この構造を理解することは、効果的な自動化を構築するための鍵です。

コアプロパティ

プロパティタイプ必須説明
titlestringはい自動化の人間が読める名前
actionsarrayはい条件が満たされたときに実行するアクション
conditionsobjectはいアクションを実行するために真である必要がある条件
activebooleanいいえ自動化が有効かどうか(デフォルト:true)
positionintegerいいえ実行順序(小さい数字が最初に実行されます)

読み取り専用プロパティ

プロパティタイプ説明
idintegerZendeskによって割り当てられた一意の識別子
created_atstring作成のISO 8601タイムスタンプ
updated_atstring最後の変更のISO 8601タイムスタンプ
defaultbooleanこれがシステムデフォルトの自動化であるかどうか

conditionsオブジェクト

conditionsオブジェクトには、自動化が実行されるタイミングを定義する2つの配列が含まれています。

{
  "conditions": {
    "all": [
      { "field": "status", "operator": "is", "value": "open" },
      { "field": "hours_since_created", "operator": "greater_than", "value": "24" }
    ],
    "any": [
      { "field": "priority", "operator": "is", "value": "high" }
    ]
  }
}
  • all: この配列内のすべての条件が真である必要があります(ANDロジック)
  • any: この配列内の少なくとも1つの条件が真である必要があります(ORロジック)

actions配列

アクションは、条件が満たされたときに何が起こるかを定義します。各アクションには、フィールドと値があります。

{
  "actions": [
    { "field": "priority", "value": "high" },
    { "field": "group_id", "value": "360000000000" }
  ]
}

完全な例

24時間以上オープンになっているチケットをエスカレートする完全な自動化オブジェクトを次に示します。

{
  "automation": {
    "title": "24時間以上オープンになっているチケットのエスカレート",
    "active": true,
    "conditions": {
      "all": [
        { "field": "status", "operator": "is", "value": "open" },
        { "field": "hours_since_created", "operator": "greater_than", "value": "24" },
        { "field": "priority", "operator": "less_than", "value": "high" }
      ],
      "any": []
    },
    "actions": [
      { "field": "priority", "value": "high" },
      { "field": "current_tags", "value": "escalated" }
    ],
    "position": 1
  }
}

利用可能な条件とアクション

自動化は、トリガーやマクロと多くの条件とアクションを共有していますが、独自の時間ベースの機能も備えています。完全なリファレンスについては、Zendeskアクションドキュメントを参照してください。

一般的な条件フィールド

これらのフィールドは、自動化、トリガー、およびマクロ全体で機能します。

フィールド説明演算子の例
statusチケットステータスis、is_not、less_than
priorityチケットの優先度is、less_than、greater_than
typeチケットの種類is、is_not
assignee_id割り当てられたエージェントis、is_not
group_id割り当てられたグループis、is_not
requester_idチケットリクエスタis、is_not
current_tagsチケットのタグincludes、not_includes
viaチケットの送信元チャネルis、is_not

時間ベースの条件(自動化固有)

これらの条件は自動化に固有であり、時間ベースのワークフローを有効にします。

フィールド説明
hours_since_createdチケットが作成されてからの時間
hours_since_updated最後の更新からの時間
hours_since_assignedチケットが割り当てられてからの時間
hours_since_requester_updatedリクエスタが最後に更新してからの時間
hours_since_agent_updatedエージェントが最後に更新してからの時間
hours_since_due_date期日までの時間または期日からの時間

条件演算子

演算子説明
is完全一致
is_not一致しない
less_than数値的またはアルファベット順に小さい
greater_than数値的またはアルファベット順に大きい
includes値を含む(タグ、リストの場合)
not_includes値を含まない

共有アクション

これらのアクションは、自動化、トリガー、およびマクロで機能します。

フィールド説明値の例
statusチケットステータスの変更"open"、"pending"、"solved"、"closed"
priority優先度の設定"low"、"normal"、"high"、"urgent"
typeチケットの種類の設定"question"、"incident"、"problem"、"task"
assignee_idエージェントへの割り当てエージェントIDまたは"current_user"
group_idグループへの割り当てグループID
set_tagsすべてのタグを置き換える"tag1 tag2 tag3"
current_tagsタグの追加"new_tag"
remove_tagsタグの削除"old_tag"

自動化固有のアクション

フィールド説明
notification_userユーザーにメールを送信する
notification_groupグループにメールを送信する
notification_target外部ターゲットに送信する
notification_webhookWebhookをトリガーする
satisfaction_score満足度調査を送信する

実践的な実装例

実際の自動化シナリオを、完全なコード例とともに見ていきましょう。

例1:24時間以上オープンになっているチケットの自動エスカレーション

この自動化は、オープン状態が長すぎるチケットの優先度を上げ、エスカレートされたタグを追加します。

リクエスト:

curl -u {email_address}/token:{api_token} \
  https://{subdomain}.zendesk.com/api/v2/automations \
  -H "Content-Type: application/json" -X POST -d \
  '{
    "automation": {
      "title": "24時間以上オープンになっているチケットのエスカレート",
      "active": true,
      "conditions": {
        "all": [
          { "field": "status", "operator": "is", "value": "open" },
          { "field": "hours_since_created", "operator": "greater_than", "value": "24" },
          { "field": "priority", "operator": "less_than", "value": "high" }
        ]
      },
      "actions": [
        { "field": "priority", "value": "high" },
        { "field": "current_tags", "value": "escalated" }
      ]
    }
  }'

レスポンス:

{
  "automation": {
    "id": 3600123456789,
    "title": "24時間以上オープンになっているチケットのエスカレート",
    "active": true,
    "conditions": {
      "all": [
        { "field": "status", "operator": "is", "value": "open" },
        { "field": "hours_since_created", "operator": "greater_than", "value": "24" },
        { "field": "priority", "operator": "less_than", "value": "high" }
      ]
    },
    "actions": [
      { "field": "priority", "value": "high" },
      { "field": "current_tags", "value": "escalated" }
    ],
    "position": 1,
    "created_at": "2026-02-24T10:00:00Z",
    "updated_at": "2026-02-24T10:00:00Z"
  }
}

例2:48時間後に保留中のチケットのリマインダーメールを送信する

この自動化は、チケットが2日間保留になっている場合に、リクエスタにメールを送信します。

curl -u {email_address}/token:{api_token} \
  https://{subdomain}.zendesk.com/api/v2/automations \
  -H "Content-Type: application/json" -X POST -d \
  '{
    "automation": {
      "title": "リマインダー:保留中のチケット48時間",
      "active": true,
      "conditions": {
        "all": [
          { "field": "status", "operator": "is", "value": "pending" },
          { "field": "hours_since_updated", "operator": "greater_than", "value": "48" }
        ]
      },
      "actions": [
        {
          "field": "notification_user",
          "value": ["requester_id", "ご依頼に対応中です", "チケットは48時間保留中です。追加情報があればご返信ください。"]
        }
      ]
    }
  }'

例3:72時間非アクティブな解決済みのチケットをクローズする

この自動化は、解決済みのチケットを自動的にクローズすることで、チケットキューをクリーンに保つのに役立ちます。

curl -u {email_address}/token:{api_token} \
  https://{subdomain}.zendesk.com/api/v2/automations \
  -H "Content-Type: application/json" -X POST -d \
  '{
    "automation": {
      "title": "72時間後に解決済みのチケットを自動クローズする",
      "active": true,
      "conditions": {
        "all": [
          { "field": "status", "operator": "is", "value": "solved" },
          { "field": "hours_since_updated", "operator": "greater_than", "value": "72" }
        ]
      },
      "actions": [
        { "field": "status", "value": "closed" }
      ]
    }
  }'

例4:優先ルーティングのためにVIPチケットにタグを付ける

この自動化は、特別な処理のためにVIP顧客からのチケットにタグを付けます。

curl -u {email_address}/token:{api_token} \
  https://{subdomain}.zendesk.com/api/v2/automations \
  -H "Content-Type: application/json" -X POST -d \
  '{
    "automation": {
      "title": "VIP顧客チケットにタグを付ける",
      "active": true,
      "conditions": {
        "all": [
          { "field": "current_tags", "operator": "includes", "value": "vip_customer" }
        ],
        "any": [
          { "field": "status", "operator": "is", "value": "new" },
          { "field": "status", "operator": "is", "value": "open" }
        ]
      },
      "actions": [
        { "field": "priority", "value": "high" },
        { "field": "current_tags", "value": "vip_priority" }
      ]
    }
  }'

チケットのエスカレーションとキューのメンテナンスのための4つの一般的な自動化パターン
チケットのエスカレーションとキューのメンテナンスのための4つの一般的な自動化パターン

テストとデバッグ

自動化を本番環境にデプロイする前に、徹底的にテストする必要があります。

Zendesk APIコンソールの使用

Zendeskは、コードを記述せずにリクエストをテストできる開発者ドキュメントにAPIコンソールを提供しています。これは、JSON構造と認証を確認するのに役立ちます。

Postmanを使用したテスト

Zendeskは、自動化エンドポイントを含む公式のPostmanコレクションを管理しています。このコレクションをインポートして、ユーザーフレンドリーなインターフェースでエンドポイントをテストします。また、利用可能なすべてのエンドポイントの詳細については、Zendesk APIリファレンスドキュメントを参照してください。

一般的なエラーレスポンス

HTTPステータス意味一般的な原因
200 OK成功リクエストが正常に完了しました
201 Created作成済み自動化が正常に作成されました
400 Bad Request無効なリクエスト不正な形式のJSON、必須フィールドの欠落
401 Unauthorized認証に失敗しました無効な資格情報またはトークン
403 Forbiddenアクセス拒否ユーザーに管理者/エージェント権限がありません
404 Not Foundリソースが見つかりません自動化IDが存在しません
422 Unprocessable検証に失敗しました無効な条件またはアクション
429 Too Many Requestsレート制限リクエストが多すぎます。バックオフで再試行してください

自動化の実行の検証

自動化が正しく実行されているかどうかを確認するには:

  1. チケットイベントを表示して、アクティビティログで自動化アクションを確認します
  2. 自動化をリストするときにusage_24hサイドロードを使用して、実行回数を確認します
  3. 自動化のupdated_atタイムスタンプをチェックして、アクティブであることを確認します

公開前に条件をテストする

簡単に識別できる一意のタグを持つテスト自動化を作成します。本番環境にロールアウトする前に、テストチケットに適用して結果を監視します。

レート制限とベストプラクティス

ベストプラクティスに従うことで、信頼性が高く、保守可能な自動化を構築できます。

レート制限の管理

Zendeskのデフォルトのレート制限は、ほとんどのエンドポイントで1分あたり700リクエストです。この制限に達した場合:

  1. コードに指数バックオフを実装します
  2. 大量の自動化をリストするには、カーソルページネーションを使用します
  3. 適切な場合は、結果をキャッシュします
  4. 可能な場合は、操作をバッチ処理します

自動化の位置と実行順序

自動化は、位置の順序で、最も低いものから最も高いものへと実行されます。時間的制約のある自動化をシーケンスの早い段階に配置して、迅速に実行されるようにします。

自動化ループの回避

最も一般的な自動化の間違いは、無限ループを作成することです。常に条件を変更するアクションを含めてください。

  • status: openをチェックする場合は、アクションでステータスを変更します
  • priority: lowをチェックする場合は、優先度を変更します
  • 一意のタグを追加し、その不在をチェックします

APIとネイティブビルダーの使い分け

次のような場合は、APIを使用します。

  • 複数のZendeskインスタンスで自動化を管理する必要がある場合
  • 自動化構成のバージョン管理を行う場合
  • 外部データに基づいて自動化をプログラムで作成する場合
  • Terraformなどのインフラストラクチャ・アズ・コードツールと統合する場合

次のような場合は、Zendeskのネイティブ自動化ビルダーを使用します。

  • 1つのZendeskインスタンスのみを管理する場合
  • 自動化がめったに変更されない場合
  • 視覚的なインターフェースを好む場合

代替手段:eesel AIによるノーコード自動化

APIベースの自動化の構築と保守には、開発リソース、テストインフラストラクチャ、および継続的なメンテナンスが必要です。多くのチームにとって、このオーバーヘッドは現実的ではありません。

ヘルプデスク統合によるeesel AI自動化ワークフロー
ヘルプデスク統合によるeesel AI自動化ワークフロー

eesel AIは、代替アプローチを提供します。コードを記述する代わりに、eesel AIをZendeskインスタンスに接続し、自然言語の指示を通じて自動化を構成します。

アプローチの比較を次に示します。

側面Zendesk APIeesel AI
セットアップ時間数時間から数日数分
必要な技術スキル開発者なし
メンテナンスコードの更新、テスト自動更新
柔軟性完全なAPI制御構築済みのアクション
テスト手動、ステージングが必要組み込みのシミュレーション

eesel AIを使用すると、APIベースの自動化と同様の結果を達成できます。

  • 自動エスカレーション: コンテンツと感情に基づいて緊急チケットをルーティングする
  • フォローアップ: 手動構成なしでコンテキストに応じたリマインダーを送信する
  • チケットの衛生: 自動タグ付け、重複の統合、および古いチケットのクローズ
  • スマートルーティング: 専門知識とワークロードに基づいてチケットを割り当てる

主な違いは、eesel AIが既存のチケットとナレッジベースから学習するため、明示的なプログラミングなしでビジネスコンテキストを理解することです。JSONではなく、プレーンな英語で動作を定義します。

チームに自動化が必要だが、開発リソースがない場合は、eesel AIがZendeskとどのように統合されるかを調べてください。セットアップには数日ではなく数分かかり、公開前にすべてをテストできます。AIとITILフレームワークに関するガイドで、AIを活用したサポートの詳細をご覧ください。

Zendeskの予測自動化率を示すeesel AIシミュレーションダッシュボード
Zendeskの予測自動化率を示すeesel AIシミュレーションダッシュボード

Zendesk自動化APIの概要

Zendesk APIを通じて自動化を構築するための基盤ができました。主な概念をまとめましょう。

  • 自動化は、1時間ごとに実行される時間ベースのルールです
  • 少なくとも1つの時間ベースの条件と1つの無効化アクションが必要です
  • 認証は、Basic認証でAPIトークンを使用します
  • APIは、自動化を管理するための標準的なCRUD操作を提供します
  • 本番環境にデプロイする前に、常に徹底的にテストしてください

次のステップ:

  1. Zendesk管理センターでAPIトークンを生成します
  2. 簡単なリストリクエストで認証をテストします
  3. サンドボックス環境でテスト自動化を作成します
  4. 条件とアクションを反復処理します
  5. 監視を配置して本番環境にデプロイします

開発オーバーヘッドなしで自動化を検討しているチーム向けに、eesel AIはZendeskに直接接続し、同じシナリオの多くを処理するノーコードの代替手段を提供します動作方法を確認したり、[価格](https://www.eesel.

よくある質問

Zendesk自動化APIは、1時間ごとに実行される時間ベースのルールを管理しますが、トリガーAPIは、チケットイベントが発生したときに即座に発動するイベントベースのルールを処理します。自動化はSLA管理や時間的制約のあるワークフローに最適ですが、トリガーはリアルタイムの応答を処理します。
自動化APIは、自動化が機能として含まれているすべてのZendeskプランで利用できます。ほとんどの有料プランには自動化機能が含まれています。APIアクセスを確認するには、Zendesk管理センターで特定のプランの詳細を確認してください。
条件の1つを無効にするアクションを含めます。たとえば、条件が`status: open`をチェックする場合は、ステータスを別のものに変更するアクションを含めます。これにより、自動化がチケットごとに1回だけ実行されるようになります。
はい、`notification_user`アクションを`requester_id`受信者で使用します。これにより、チケットリクエスタにメールが送信されます。`notification_group`を使用して、エージェントのグループ全体にメールを送信することもできます。
ほとんどのエンドポイントは1分あたり700リクエストをサポートしていますが、制限はプランとエンドポイントによって異なる場合があります。制限を超えると、429レスポンスが返されます。レート制限を適切に処理するために、コードに指数バックオフを実装してください。
簡単に識別できる一意のタグを持つテスト自動化を作成します。それらをテストチケットに適用し、チケットイベントを監視して、アクションが正しく実行されることを確認します。`usage_24h`サイドロードを使用して、実行回数を確認することもできます。

この記事を共有

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.