Contents
Zendesk の自動化とトリガーの基本概念と違い
Zendesk では Automation(時間ベース) と Trigger(イベントベース) を組み合わせてチケット処理を最適化します。このセクションでは両者の定義・特徴を整理し、公式ヘルプで確認すべきポイントと選択基準を示します。実際にどちらを使うか判断できるようになることが目的です。
Automation と Trigger の概要
Automation は「一定時間が経過したとき」に一度または繰り返し実行されるルールです。たとえば 未解決チケットが 48 時間以上放置されたらエージェントへリマインダーを送信 といった遅延処理に適しています。一方、Trigger は「チケットが作成・更新された瞬間」やステータス変更などのリアルタイムイベントに即座に反応し、割り当てや自動返信 などを実行します。
公式ヘルプで確認すべきポイント
- 実行頻度:Automation の評価間隔はデフォルトで 1 時間ごと ですが、Zendesk の最新版では「Run every X minutes/hours/days」で変更可能です。最新情報は必ず公式ヘルプの [自動化とその仕組みについて](https://bit.ly/zendesk-automation) を参照してください。
- 条件の粒度:Trigger は即時評価なので細かい条件でも問題ありませんが、Automation では「一度だけ実行」させるために条件やタグ付与で除外ロジックを組み込む必要があります。
- 対象オブジェクト:両方ともチケット属性だけでなくユーザー・組織にも適用できますが、API 経由で操作できるのは Automation と Trigger のみです。
| 項目 | Automation(時間ベース) | Trigger(イベントベース) |
|---|---|---|
| 実行タイミング | 条件を満たすと一定間隔で実行 | イベント発生時に即座に実行 |
| 主な用途 | エスカレーション、リマインダー、定期クローズ | 割り当て、メール通知、ステータス変更 |
| 実行頻度上限 | デフォルトは 1 時間ごと(設定で変更可) | 即時・複数回実行可能 |
| 無限ループ防止策 | 実行後に条件が再度真にならないようタグ付与等で除外 | 同一アクションの重複を条件でブロック |
結論:リアルタイム処理は Trigger、時間経過が前提の業務フローは Automation を選択すれば、無駄な重複実行やパフォーマンス低下を防げます。
時間ベースの自動化設定手順
このセクションでは Automation の作成から実行頻度の調整まで、具体的な手順とポイントを解説します。業務プロセスに合わせて正確に設定すれば、時間ベースの自動化が安定して機能します。
条件・アクションの組み立て方
Automation 作成画面ではまず 条件 を決め、次に実行したい アクション を指定します。以下は「ステータスが Open のままで 72 時間以上経過したチケット」に対しエージェントへメール通知を送る例です。
- 新規 Automation を作成 → 「Add automation」ボタンをクリック。
- 条件ブロックに
Ticket: Status is OpenTicket: Hours since created ≥ 72
を追加し、結合方式は AND に設定。- アクションブロックで「Notify target: エージェントメール」を選択し、通知文面を入力。
条件は AND(すべて満たす)か OR(いずれか)で組み合わせ可能です。複数の属性やタグを組み込むことで粒度の高い制御が実現します。
実行頻度とスケジュール調整方法
Automation はデフォルトで 1 時間ごと に評価されますが、Run every X minutes/hours/days の設定で柔軟に変更できます(詳細は上記公式ヘルプリンク参照)。用途別の頻度例を示します。
- 毎日実行:夜間バッチ処理やレポート作成に最適。
- 週次実行:月末締め処理や定期的なリマインダーに活用。
- カスタム間隔(例: 30 分):高頻度の SLA 監視が必要なケースで使用。
⚠️ 注意点:実行頻度を短くしすぎるとシステム負荷が増大します。業務要件に合わせて最小限の間隔に留め、必ずテスト環境でパフォーマンスを確認してください。
タイムゾーンへの配慮
Zendesk の時間計算は組織全体の Time zone 設定に依存します。グローバル展開している場合は「Organization time zone」や各エージェントの個別設定を確認し、必要なら UTC 基準で条件を書き換えることが推奨されます。
受信チケットのルーティングと AI 活用
顧客からの問い合わせを 適切な担当者へ即座に振り分ける ことはサポート品質向上の鍵です。このセクションではプッシュ型・プル型ルーティングの違い、グループ/エージェントへの自動割り当て手順、そして AI 機能(Answer Bot と機械学習分類)の導入方法を解説します。
プッシュ型 vs. プル型ルーティング
- プッシュ型:Zendesk がチケットを自動的にエージェントやグループへ「押し出す」方式です。スキルベースや負荷分散ルールを設定でき、SLA 重視の環境で有効です。設定は公式ヘルプ [受信チケットのルーティングと自動化オプション](https://bit.ly/zendesk-routing) から行います。
- プル型:エージェントが「取得」する方式で、My tickets や Queues を利用します。シフト制や専門チームが多様な案件を処理する際に柔軟性が高いです。
グループ・エージェントへの自動割り当て設定
- 管理画面 > ビジネスルール > トリガー に移動。
- 「Add trigger」→ 条件に例として「
Ticket: Subject contains '請求'」や「Ticket: Language is Japanese」を追加。 - アクションで Assignee group = 請求チーム または Assignee = 特定エージェント を選択。
このトリガーは Automation と組み合わせることも可能です。たとえば「受信から 2 時間以内に自動割り当てが行われなかった場合、別グループへ再割り当てする」Automation を併用すると、未処理チケットの滞留を防げます。
Answer Bot と機械学習分類の導入手順
- Answer Bot の有効化 → 管理画面 > チャネル > Answer Bot。
- 知識ベース(Help Center)から自動提案記事を選定し、キーワードマッピングを最適化。
- 機械学習分類は「管理画面 > ビジネスルール > 自動分類」から有効にし、過去チケットのタグ・カテゴリをトレーニングデータとしてインポート。
実装例:顧客が「パスワードリセット」と入力すると Answer Bot が自己解決ガイドを提示し、エージェント介入率が約 30 % 減少。機械学習で
支払いタグが自動付与されると、先述の請求チームへのトリガーが即座に発火し、一次対応時間が平均 4 分短縮されます。
結論:プッシュ型ルーティングと AI を組み合わせることで、初期振り分けを自動化しつつエージェント負荷を大幅に軽減できます。
REST API と Webhook を活用したカスタム自動化フロー
標準機能だけでは実現できない複雑なワークフローは、Zendesk の REST API と Webhook で拡張可能です。このセクションでは Automation/Trigger のプログラム的作成手順と外部サービス連携例を紹介します。
API で Automation / Trigger を作成・更新する手順
- API トークン取得:管理画面 > チャネル > API > Token Access から新規トークンを発行。
- エンドポイント:
POST https://{yourdomain}.zendesk.com/api/v2/automations.jsonまたはtriggers.jsonに JSON ボディを送信します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
curl -X POST "https://mycompany.zendesk.com/api/v2/automations.json" \ -H "Content-Type: application/json" \ -u "agent@example.com/token:YOUR_API_TOKEN" \ -d '{ "automation": { "title": "72h 未解決リマインダー", "active": true, "conditions": { "all": [ {"field":"status","operator":"is","value":"open"}, {"field":"hours_since_created","operator":">=","value":72} ] }, "actions": [ {"field":"notification_target_id","value":123456}, {"field":"additional_tags","value":"reminder_72h"} ] } }' |
- 更新は
PUT /api/v2/automations/{id}.json、削除はDELETEを使用。 - ベストプラクティス:JSON 定義を Git で管理し、CI/CD パイプラインから自動デプロイすると環境間の差異が防げます。
Webhook 設定と外部サービス連携例
Webhook は特定イベント発生時に外部エンドポイントへ POST できる仕組みです。以下は「高優先度かつ 24 時間以内に解決されなかったチケットを Slack に通知」するフローです。
- 管理画面 > ビジネスルール > Webhooks → 「Add webhook」。
- URL:
https://hooks.slack.com/services/XXXXX/XXXXX/XXXXXXXX(短縮 URL で可読性向上) - メソッド: POST、Content type: JSON。
- トリガー作成:条件に「
Ticket: Priority is high」+「Ticket: Hours since created >= 24」を設定し、アクションで先ほどの Webhook を呼び出す。
送信されるペイロード例:
|
1 2 3 4 5 6 7 |
{ "ticket_id": "{{ticket.id}}", "subject": "{{ticket.title}}", "priority": "{{ticket.priority}}", "url": "{{ticket.url}}" } |
この手法により、CRM・ITSM ツールとの双方向連携が可能となり、Zendesk の自動化領域を大幅に拡張できます。
まとめ:REST API と Webhook を組み合わせれば、UI だけでは実装できない高度な条件設定や外部ロジック呼び出しが実現し、企業固有の業務フローにも柔軟に対応できます。
ベストプラクティスと 2026 年版実践例
自動化を本番環境で安定稼働させるには 設計段階の粒度 と 安全策 が不可欠です。このセクションでは条件設定の細分化、無限ループ防止、テスト手順、モニタリング指標を解説し、2026 年版として Eesel.ai が提供する自動エスカレーション・クローズ・リマインダーの具体例を紹介します。
条件の粒度と無限ループ防止策
- 粒度:条件は「できるだけ具体的」に記述し、意図しないチケットへの適用を防ぎます。例として
status = openだけでなくtag contains "escalate_pending"を併せて指定すると安全性が向上します。 - ループ防止:Automation は毎回評価されるため、実行後に条件が再度真になると無限実行のリスクがあります。対策は主に二つです。
- 実行後に除外用タグ(例:
auto_executed)を付与し、次回評価時に除外する。 - 条件に「
status changed from open to pending」といったステータス遷移を組み込む。
公式ヘルプでも 「実行後は条件が合致しなくなるよう設計する」 と推奨されています(最新版参照)。
テスト環境での検証手順とモニタリング指標
- サンドボックス作成:Zendesk Sandbox で本番と同等のデータ構造をコピー。
- ユニットテスト:API のシミュレーションエンドポイント(
/api/v2/ticket_events.json)で条件成立を検証。 - ステージング導入:Automation は「Active」フラグ OFF のまま手動でテストチケットに適用し、期待通りのアクションが走るか確認。
運用開始後に定期的にチェックすべき KPI は次のとおりです。
| 指標 | 目的 | 推奨測定頻度 |
|---|---|---|
| 自動化実行回数 | 処理負荷・設定過多の把握 | 日次 |
| エスカレーションまでの平均時間 | SLA 達成率評価 | 週次 |
| 自動クローズ率 | 手作業削減効果 | 月次 |
| Webhook/ API エラー件数 | 外部連携の健全性確認 | 日次 |
2026 年版 Eesel.ai ガイドに基づく実践例
Eesel.ai が提供するテンプレートは 3 つのシナリオ に分かれ、すべて UI 操作だけで完結できるよう設計されています。以下はその概要です。
1. 自動エスカレーション
- 条件:
status = open&hours_since_created >= 48&priority != high - アクション:タグ
escalate_pendingを付与 → 優先度をhighに変更 → グループ「上位サポート」へ自動割り当て
2. 自動クローズ
- 条件:
status = solved&hours_since_solved >= 72 - アクション:チケットを
closedに変更 → Answer Bot の完了メールテンプレートで顧客へ通知
3. 定期リマインダー(毎日 09:00 実行)
- 条件:
status = pending&hours_since_pending >= 24 - アクション:Slack に通知 → チケットへタグ
reminder_sentを付与
これらの設定は UI の「Automation」画面で JSON インポート として一括デプロイ可能です。Eesel.ai の実績レポートによれば、エスカレーション時間が平均 30 % 短縮、自動クローズ率が 25 % 向上したと報告されています。
結論:粒度の高い条件設定・徹底したテスト・継続的なモニタリングを行えば、AI と API を組み合わせた高度な自動化でも安定運用が可能です。2026 年版テンプレートを参考に、自社のサポートフローに最適な Automation / Trigger を構築しましょう。