Nexthink REST APIを使用したチャットボットの統合

統合なしでは、チャットボットはデバイスまたはユーザー情報を取得できません。 これにより、不完全な応答、従業員の不満、不必要なサービス デスクへのエスカレーションが発生します。

Nexthink APIを統合することにより、あなたのチャットボットは次のことができます:

  • データ駆動型のチャットボット応答を提供する

  • NQLクエリを使用してリアルタイムのデバイスと従業員のコンテキストを取得する

  • 会話内でリアルタイムに問題を診断する

  • 問題を即座に修正するための関連アクションをトリガーする

Nexthink API機能を使用したチャットボット統合はどのように機能しますか?

Nexthinkのチャットボット-APIの統合は、次の構造に従います:

  • チャットボットシステムは、会話の内容やロジックを含め、従業員との対話を制御します。

  • Nexthinkはチャットボットが会話中に呼び出すAPIを提供します:

    • NQL API - Nexthink からコンテキスト関連データを取得します。

    • リモートアクションAPI - 該当する場合、修復のリモートアクションをトリガーします。

必要に応じて、Nexthinkのアウトバウンドコネクタを構成して、大量のデータをデータエクスポーターズウェブフックを使用してエクスポートします。 エクスポートされたイベントデータを使用して、プロアクティブなチャットボットの会話をトリガーします。

Nexthink API技術を使用したチャットボットフロー

以下に、Nexthink APIを介して問題解決を達成するタスクを含むチャットボットフローを示します。

必要なタスクまたはステップ - チャットボット
API統合アプローチ
  1. 通信を認証する

APIクレデンシャル - APIを介してトークンを収集します。

  1. 従業員またはデバイスを特定する

NQL API - 特定のユーザー名またはデバイス識別子データを取得します。

(オプション) データエクスポート- 必要なデータ(ユーザー/デバイス名や最後に確認した日付など)をエクスポートして、チャットボットと統合されたCMDBシステムを定期的に強化します。

  1. ユーザーデバイスの診断

NQL API - 従業員デバイス情報(デバイスの健康状態、アプリケーションメトリクスなど)を取得して、フォローする修復アクションを絞り込みます。

  1. デバイスの問題を修復する

リモートアクションAPI - 診断に基づいて目標デバイスに修復アクションをトリガーするか、ユーザーの要求に応じてトリガーします。

  1. フォローアップと修正の確認

NQL API - リモートアクション実行の結果を取得します。

  1. 問題のプロアクティブな特定

データエクスポーターズ(オプション)- 問題の影響を受ける可能性のあるすべてのユーザーとデバイスをデータレイクのようなソリューションにエクスポートします。 これにより、従業員に問題をプロアクティブに通知できます。

ウェブフック(オプション)- 特定のイベントまたはアラートがトリガーされたときに通知を送信し、チャットボットが影響を受けた従業員をプロアクティブに把握できるようにします。


チャットボット統合をサポートするためのNexthink API機能の構成

チャットボットのサービス層内でAPIコールを実装する前に、NexthinkのNexthinkの管理者として、以下の事前構成を実施します。

1

2

特定のチャットボット用のAPI統合を計画する

3
  1. あなたのAPI使用がNexthinkのAPI使用制限に準拠していることを確認してください。 詳細については、Nexthink開発者ポータルドキュメントを参照してください。

  2. チャットボットソリューションとNexthink間のユーザーの一致方法をマッピングします。

    • Nexthink Collectorは、ユーザー名、SID、およびUPN(有効化されている場合)を収集します。

    • Microsoft Entra IDのためのコネクタは、Nexthinkインスタンスで有効化されている場合、ユーザーメールを含む追加データをマッピング用に提供します。 {% endstep %}

4

NexthinkにおけるAPI認証情報の設定

  1. APIクレデンシャルを設定して、チャットボットからあなたのNexthinkテナントとアウトバウンド接続(データエクスポーターおよびウェブフック)に対する呼び出しを保護してください。 以下の権限がAPIクレデンシャルで有効化されていることを確認してください:

    • NQL API

    • Remote Actions API

  2. アウトバウンド統合を使用する予定の場合には、コネクタ資格情報を必要に応じて設定します。

5

Nexthinkのコンテンツを作成してコンテキストデータの取得と修復アクションを実行するためのAPIコール

  1. NQLクエリを作成して、チャットボットからのNQL API呼び出しを定義します。 通常、要求されるクエリには以下が含まれます:

    • 特定のユーザーのデバイスおよび基本情報を取得するためのクエリ。

    • 特定のユーザーまたはデバイスのためのアドホック診断情報を取得するためのクエリ。

    • リモートアクションのステータスと出力を取得するためのクエリ。

  2. APIトリガー用に構成されたリモートアクションを作成します。 代替手段として、使用および適応できるNexthinkライブラリからプリコンフィグされた多数のリモートアクションをインストールします。


プリビルトコンテンツを使用して、チャットボットのサービスレイヤー内でREST APIコールを実装します

上記に列挙されたすべての必要なNexthinkのAPI機能を構成した後、エンドツーエンドのユースケースで詳述されたように、チャットボットのサービスレイヤー内にREST APIコールを実装します。

開始にあたり、以下のクエリのサンプルと事前構築されたコンテンツを見つけることができ、チャットボットの編成とロジックを設定する際に使用して適応できます。

これらの例をチャットボット設計に似た方式で実装し、デバイス名を事前に特定していることを前提として、参照されたユースケースに基づいた設計を採用します。

チャットボットタスクのための一般的なNQLクエリのサンプル

REST APIを使用してチャットボットの編成とロジックを設定する一環として、Nexthinkとのすべてのチャットボット統合で役立つ、次の2つの基本タスクを実行するための一般的なクエリを設定する必要があります:

ユーザーのデバイスを取得するためのNQLクエリ

クエリID: #get_device_basic_infos - usernameに基づくマッチング

devices during past 7d
| with session.events past 7d
| where user.name == $username
| list collector.uid, device.name, 
  operating_system.platform, operating_system.name, 
  hardware.type, hardware.manufacturer, last_seen
| sort last_seen desc

| where user.name == $username`のwhere節を代替アプローチで使用するために調整することができます。例えば、

  • ユーザーUPNを知っている場合: | where user.upn == $upn(CollectorレベルでUPNを有効化する必要があります)

  • ユーザーメールアドレスを知っている場合: | where user.ad.email_address == $email(Azure ADコネクタを有効にしてメールフィールドを同期する必要があります)

  • デバイス名を知っている場合: | where device.name == $device_name

タイムフレームを調整したい場合は、ユーザーがアクティブであったデバイスを考慮する期間を7日以外に変更できます。

両方の 過去7d 節を希望のタイムフレームに置き換え、Nexthinkテナントの最大データ保持期間を超えないようにします。

修復リモートアクションのステータスと出力を取得するためのNQLクエリ

クエリID: #get_remote_action_result

remote_action.executions past 24h
| where request_id == $request_id
| list request_id, device.name, remote_action.name, 
  status, status_details, outputs

一般的な問題に対応するためのチャットボットのREST APIコールを実装するためのプリビルトコンテンツ

プリビルトコンテンツ—診断、リモートアクション、および修復ロジックを用いるNQLクエリを含む—を使用して、以下の一般的な問題を診断し、解決し、修正が確認されたかどうかを構成するチャットボット統合を設定します:

Microsoft Outlookの問題に対処

従業員のMicrosoft Outlookの不具合を引き起こす問題を診断します。

タイプ
コンテンツ

プラットフォーム

Microsoft Windows

データ収集リモートアクション

データ収集リモートアクションのスケジュール:

  • Microsoft Outlookのオンライン取得

  • Microsoft Outlookプラグインのクラッシュ詳細を取得

NQL クエリー

クエリID: #diagnose_outlook_issues

devices
| where device.name == $device_name
| include package.installed_packages
| where package.name in ["Microsoft Office", "Microsoft 365"]
| where package.version != "16.*"
| compute outdated_office_packages = package.name.count()
| list collector.uid, device.name,
  remote_action.get_outlook_plugin_crash_details_windows.execution.outputs.CrashedPluginList,
  remote_action.get_outlook_online_windows.execution.outputs.IsOnline,
  remote_action.get_outlook_online_windows.execution.status,
  boot.days_since_last_full_boot, outdated_office_packages

修復のリスト

  1. IF remote_action.get_outlook_online_windows.execution.outputs.IsOnline = "No" および remote_action.get_outlook_online_windows.execution.status = "success" THEN 修復リモートアクション Outlookをオンラインにするを実行

  2. IF remote_action.get_outlook_plugin_crash_details_windows.execution.outputs.CrashedPluginList != "["-"]" THEN 修復リモートアクション Outlookプラグインを設定するを実行

  3. IF device.boot.days_since_last_full_boot > 10 THEN 従業員にマシンの再起動を推奨します。

  4. IF outdated_office_packages = "1" THEN 修復リモートアクション Office 365の修復を実行

  5. 一般的な修復方法: 修復リモートアクション Outlook OSTの問題を修理するを実行

Microsoft OneDriveの問題に対処

Microsoft OneDriveに関連する問題を診断し、問題が検出された場合にOneDriveを修復します。

タイプ
コンテンツ

プラットフォーム

Microsoft Windows

データ収集リモートアクション

データ収集リモートアクションのスケジュール:

  • OneDriveのステータスを取得

NQL クエリー

クエリID: #diagnose_onedrive_issues

devices
| where device.name == $device_name
| list collector.uid, device.name,
  remote_action.get_onedrive_status.execution.outputs.OneDriveStatus

修復のリスト

  1. IF remote_action.get_onedrive_status.execution.outputs.OneDriveStatusが次のいずれかを含む場合:

    1. OneDriveはインストールされていません

    2. OneDriveはインストールされているが実行されていません

    3. OneDriveの環境変数がありません

    4. OneDriveフォルダが存在しない

THEN 修復リモートアクション OneDriveを修理するを実行

PCの速度問題に対処

エンドポイントでスローダウンを引き起こす典型的な問題の診断を行います。

タイプ
コンテンツ

プラットフォーム

Microsoft Windows

データ収集リモートアクション

データ収集リモートアクションのスケジュール:

  • GPOスタートアップの影響を取得

  • スタートアップの影響を取得

NQL クエリー

クエリID: #diagnose_slow_pc_issues

devices during past 7d 
| where name == $device_name
| include device_performance.events during past 24h
| compute free_space = system_drive_free_space.avg() / 1000000000
| include package.installed_packages
| where package.name in ["*Microsoft Office*", "*Microsoft 365*"]
| where package.version != "16.*"
| compute outdated_office_packages = package.name.count()
| list collector.uid, device.name, free_space,
  boot.days_since_last_full_boot,
  outdated_office_packages,
  remote_action.get_startup_impact_windows.execution.outputs.HighImpactCount,
  remote_action.get_gpo_startup_impact_windows.execution.outputs.UserGpoAppliedTimeInSeconds,
  remote_action.get_gpo_startup_impact_windows.execution.outputs.UserGpoDCDiscoveryInSeconds

修復のリスト

  1. IF device.boot.days_since_last_full_boot > 10 THEN 従業員にマシンの再起動を推奨します。

  2. IF free_space_GB <= 6 THEN リモートアクション修復を実行 ディスククリーンアップ

  3. IF remote_action.get_startup_impact_windows.execution.outputs.HighImpactCount > 0 THEN 修復リモートアクション スタートアップメニューからのアプリケーションを無効化するを実行し、remote_action.get_startup_impact_windows.execution.outputs.HighImpactApplicationsの値を使用して高影響のアプリケーションを無効化します

  4. IF remote_action.get_gpo_startup_impact_windows.execution.outputs.UserGpoAppliedTimeInSeconds + remote_action.get_gpo_startup_impact_windows.execution.outputs.UserGpoDCDiscoveryInSeconds > 10 THEN 修復リモートアクション グループポリシー設定を更新するを実行します

  5. IF outdated_office_packages = "1" THEN 修復リモートアクション Office 365の修復を実行


関連トピック

Last updated

Was this helpful?