広告枠を募集中 ご相談ください

DustとGitHub・Zendeskの連携ガイド:サポートチケットの自動トリアージと障害対応の効率化

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

テクニカルサポートや技術運用(TechOps)チームでは、日々の業務においてツール間の分断という大きな課題に直面しています。顧客からの問い合わせやSLAの進捗管理はZendesk上で行われる一方、バグの追跡、コード修正、プルリクエスト(PR)、開発者同士の議論はGitHub上で進められます。この2つの環境が分離していると、サポート担当者はZendeskとGitHubの間を何度も往復し、リポジトリからIssueを手作業で検索し、スタックトレースをコピー&ペーストし、エンジニアに進捗を確認する手間が発生します。その結果、重複した不具合報告の作成や対応の遅延が生じがちです。

Dust(dust.tt)は、単なる画一的なデータ同期ツールではなく、組織全体のナレッジコンテキストを統合するAIオーケストレーションによってこの課題を解決します。ZendeskとGitHubの双方をDustに接続することで、顧客との過去の対話履歴と開発リポジトリのコードコンテキストを同時に理解するカスタムAIエージェントを構築できます。このエージェントは、新規チケットの自動トリアージ、既知の不具合との照合、社内向け調査メモの起票、さらには開発チーム向けIssueの自動作成までを一貫して支援します。

本記事では、Dustを活用してZendeskとGitHubを統合し、シームレスな内部サポートおよびトリアージ基盤を構築する手順を詳しく解説します。


全体像:Dustがサポートとエンジニアリングを繋ぐ仕組み

Dustが外部ツールと連携する仕組みを理解するには、プラットフォームが提供する3つのレイヤー(Connections、Tools、Surfaces)に分けて捉えることが重要です。

アーキテクチャ層Zendesk側の機能GitHub側の機能
Connections(データ接続層)解決済み・クローズ済みチケット(過去180日分が標準)およびヘルプセンター記事をセマンティック検索インデックスに取り込みます。リポジトリのIssue、Discussions、PRのトップレベルコメント、およびデフォルトブランチのソースコードを同期します。
Tools(アクション実行層)Get Ticket(詳細取得)、Search Tickets(構文検索)、Draft Reply(社内専用プライベートメモ作成)をエージェントに許可します。リポジトリの検索、新規Issueの作成、PRや議論へのコメント投稿をエージェントに許可します。
Surfaces(UIとトリガー層)Zendeskのチケット画面サイドバーにDustアプリを常駐させ、チケット作成・更新時にWebhookで自動起動します。Issue作成やPR更新などのイベントをトリガーとしてエージェントを自律実行します。

この多層設計により、Dustは単にデータを右から左へ移すのではなく、GitHubの開発状況を踏まえてZendesk上の問い合わせ内容を深く分析し、安全な形でアクションを実行します。


ステップ1:ワークスペースのデータ接続を設定する

AIエージェントが高精度なトリアージを行うには、過去のサポート知見と開発リポジトリに対する読み取り権限が必要です。

1. Zendesk接続の設定

  1. Dustワークスペースで、Spaces > Connections に進み、一覧から Zendesk を選択します。
  2. 組織のZendeskサブドメイン(https://<subdomain>.zendesk.com)を入力します。
  3. Dust管理者かつZendesk管理者(SupportおよびGuideの管理者権限)のアカウントでOAuth認証を完了します。
  4. 接続設定の Manage 画面で同期ルールを最適化します。
    • 対象チケットと保持期間:デフォルトでは過去180日以内に更新された解決済み(Solved)およびクローズ済み(Closed)チケットが同期対象となり、120日間のローリング保持が適用されます。調査中の案件も参照させたい場合は、Sync Unresolved Tickets を有効化します。
    • 顧客プライバシーの保護(個人情報の非表示):Hide Customer Information をオンにすることで、チケット本文の技術情報はそのまま保持しつつ、顧客の氏名やメールアドレスなどのメタデータを同期対象から除外できます。
    • タグおよびカスタムフィールドのフィルタリング:Included Tags(例:tier-2 や bug)を指定して技術チケットのみに絞り込めます。また、障害モジュールや影響度を記録しているZendeskのカスタムフィールドがある場合、その数値IDを Custom Field Tags に登録すると、Dust内で fieldName:value 形式の検索ラベルとして扱われます。
    • レート制限の設定:ZendeskのAPIクォータを超過しないよう、必要に応じて1秒あたりのトランザクション数(TPS)の上限を設定します。

2. GitHub接続の設定

  1. Dustで Spaces > Connections > GitHub を選択し、Connect をクリックします。
  2. GitHub組織の管理者アカウントで認証を行い、Dustにアクセスを許可する対象リポジトリ(バックエンドAPI、フロントエンド、SDKリポジトリなど)を選択します。
  3. 必要に応じて Code synchronization を有効にします。これをオンにすると、エージェントはIssueやPRだけでなく、デフォルトブランチのソースコード自体を読み込んで原因特定に役立てられます(コードは8時間ごとに再同期、IssueやPRはほぼリアルタイムで同期)。
  4. 設定を保存します。DustはIssueのタイトル、本文、タグ、作成者情報などを自動でインデックス化します。

ステップ2:ZendeskとGitHubのアクションツール(Tools)を有効化する

データ接続によって得られるのは「閲覧」の権限のみです。エージェントが能動的にチケットを検索し、社内メモを作成し、GitHubにIssueを立てるには、Tools の有効化が必要です。

  1. Spaces > Tools に移動し、Add Tools を選択します。
  2. Zendesk Tools を追加します。
    • Search Tickets:検索クエリ(例:status:open priority:urgent tags:bug)によるチケット検索。
    • Get Ticket:チケットの全コメント履歴、メタデータ、SLA指標の取得。
    • Draft Reply:エンドユーザーには見えない社内専用メモ(Private Comment)の起票。
  3. GitHub Tools を追加します。
    • 認証方式を選択します。自動トリアージパイプラインでは、すべての操作が公式ボットの @dust-agent 名義で実行される Workspace Credentials が推奨されます(個々の操作者の権限に準拠させたい場合は Personal Credentials を選択)。

ステップ3:Agent Builderでトリアージエージェントを構築する

接続とツールの準備ができたら、Dustの Agent Builder でサポートトリアージ専用のエージェント(例:@tier2-triage)を構築します。

エージェント設定のポイント

あなたはTier-2テクニカルサポートおよび障害トリアージを担当する副操縦士(Co-pilot)です。Zendeskの顧客チケットを分析し、GitHubリポジトリの情報と照合して、的確な技術的トリアージを提供してください。

Zendeskチケットを分析する際の運用ルール:
1. チケットに含まれるエラーログ、スタックトレース、または予期せぬ挙動を抽出し、指定のGitHubリポジトリ(デフォルト:dust-tt/app-backend)で類似のオープン・クローズ済みIssueを検索してください。
2. 過去のZendeskチケットを検索し、同一の症状が過去に発生していたか、エンジニア検証済みの回避策(Workaround)が存在するか確認してください。
3. 既存のGitHub Issueと合致した場合:
   - Zendeskの「Draft Reply」ツールを使用して、社内専用メモ(Private Comment)を起票してください。
   - メモには必ず以下を含めます:(a) 該当するGitHub IssueのURLと現在のステータス、(b) 根本原因の要約、(c) 顧客へ案内すべき推奨回避策または技術説明。
4. 未知の不具合であり、再現手順が明らかな場合:
   - GitHubツールを使用して対象リポジトリに新規Issueを作成してください(タイトル例:[Triage] 障害の概要)。本文には対応するZendeskチケットID、発生環境、再現手順、エラーログを記載します。
   - Zendeskの社内メモに、新しく作成したGitHub Issue番号とトリアージ結果を記録してください。
5. エンドユーザーに対する公開返信は絶対に直接送信しないでください。すべての出力は社内専用メモまたはDustサイドバー上の回答として作成し、人間の担当者の確認を経てから送信されるようにしてください。

ステップ4:UI連携と自動Webhookトリガーの展開

完成したエージェントは、サポート担当者が手動で呼び出す運用と、Webhookによる完全自動トリアージの2つの形態で活用できます。

運用形態A:ZendeskサイドバーでのCopilot運用

  1. Zendesk Marketplace から公式の Dust アプリをインストールします。
  2. Zendesk管理センターでDustアプリの設定を開きます。
  3. Dust管理者画面で発行した Workspace ID と API Key を入力します。
  4. Default Agent IDs に先ほど作成した @tier2-triage のIDを指定します。これにより、サポート担当者がチケットを開いた際、右側のサイドバーに自動的にこのトリアージエージェントが表示されます。
  5. 担当者のZendesk登録メールアドレスがDustのアカウントと一致していることを確認します。担当者はチケットを閲覧しながら、「この決済エラーは過去のIssueで既に対処されている?」とサイドバーに尋ねるだけで、即座にGitHubの関連情報と回答案が得られます。

運用形態B:Webhookによる自動トリアージ

緊急度の高いチケットが作成された際、即座にバックグラウンドで事前トリアージを実行する手順です。

  1. Dustの Spaces > Triggers で Add source をクリックします。
  2. 提供元として Zendesk を選択し、アカウントを紐付けます。
  3. @tier2-triage エージェントの設定画面で、Triggers > Add triggers を開き、作成したZendesk Webhookソースを選択します。
  4. トリガー条件を設定します。
    • 監視イベント:Ticket Created(チケット作成時)または Ticket Updated(更新時)。
    • 実行条件:自然言語でフィルタを設定(例:"priority is urgent or tags contain technical-escalation")。
    • ペイロードの含有:Include webhook payload をオンにして、チケットの件名、本文、タグをエージェントに直接渡します。
    • レート制限:予期せぬチケット急増時に備え、24時間あたりの最大実行回数を指定します。
  5. 設定を保存します。条件に合致するチケットが作成されると、担当者がチケットを開く前に、Dustが自動でGitHubのIssueを突き止め、Zendeskに社内診断メモを下書きします。

比較検証:DustによるAIトリアージ vs 従来の同期プラグイン

評価軸従来の同期ツール(Git-Zen、簡易連携)Dustによるコンテキスト連動AIトリアージ
不具合の重複検知コミットに特定のID構文を含めるか、手動でIssue番号を入力する必要がある。セマンティック検索により、エラーメッセージや挙動の類似性から関連するGitHub Issueを自動検出。
根本原因の分析不可。ツール間でコメント文字列を転送するだけ。リポジトリのソースコード、過去の解決事例、エラーログを総合して原因の仮説と回避策を提示。
返信案の作成不可。サポート担当者が一から返信を作成する必要がある。Draft Reply を用いて、技術的に正確な社内確認用ドラフトを自動生成。
プライバシー管理顧客の個人情報(PII)がそのままGitHubのIssueに転送されるリスクがある。接続設定で顧客情報を自動マスキングし、開発リポジトリをクリーンに保てる。
対応時間への影響リンク作成の手間が省ける程度で、調査時間自体は変わらない。初期調査、既知の障害照合、開発へのエスカレーションにかかる時間を数時間から数分へ短縮。

ガバナンス・料金・ベストプラクティス

  1. Human-in-the-Loop(人間の介在)の徹底:自動化パイプラインでは、エージェントのアクションを必ず Draft Reply(社内専用メモ)に制限してください。顧客への正式な案内は、必ず人間のサポート担当者が内容をレビューした上で公開送信する運用にします。
  2. トリガーの絞り込みによるコスト管理:すべての問い合わせに対してWebhookを実行するのではなく、特定のタグ(bug、escalation など)や優先度(high、urgent)でフィルタリングを行い、不要なAPI呼び出しとクレジット消費を防ぎます。
  3. プランとクレジットの計画的な配分:DustのBusinessプランには、Pro(年払い時 €24/席/月、月間8,000クレジット付与)と Max(年払い時 €120/席/月、月間40,000クレジット付与)が用意されています。大規模組織向けには、ワークスペース全体でのクレジットプール、SCIM対応、監査ログ、SLAが提供されるEnterpriseプランが存在します。自動Webhookトリガーの想定実行回数に応じて適切なプランを選択してください。

Zendeskのチケット受付フローとGitHubの開発知見をDust上で統合することで、サポートとエンジニアリングの間の情報断絶を解消し、迅速かつ正確な障害トリアージ体制を実現できます。


参考資料