レンズアクションを使用して ServiceNow レンズ 動作を定義する

  • リリースバージョン: Zurich
  • 更新日 2025年06月16日
  • 所要時間:24分
  • レンズアドミニストレーターは、 ServiceNow レンズ でレンズアクションを作成し、デフォルトの指示を指定したり、コンテキストを構成したりして、レンズの動作をカスタマイズできます。

    レンズアクションを使用して、レンズ応答のデフォルト指示、トリガーオプション、カスタムコンテキスト、および後処理指示を定義します。レンズアクションを使用すると、次の目標を達成できます。
    • デスクトップ、ServiceNowインスタンス、または仮想エージェント (モバイルデバイスまたはポータルから) からServiceNow レンズをトリガー
    • ServiceNowインスタンスのフォームに自動入力します
    • 収集されたインサイトを編集可能なプレビューで表示する
    • レンズの実行後にフロー、サブフロー、またはアクションをトリガーする
    • AI エージェントを呼び出す
    • ServiceNow レンズバックエンドサービスとして実行

    インスタンスから ServiceNow レンズ を起動するたびに、テーブルでアクティブなレンズアクションが利用可能かどうかを確認します。利用可能な場合は、実行時にレンズアクションで定義されたロジックが使用されます。レンズアクションは、レンズアクションレコードにアサインされたユーザーまたはグループのみが使用できます。

    レンズアクションを設定するさまざまなユースケースを理解するには、次の例を参照してください。

    レンズアクションを作成して ServiceNow レンズ 動作をカスタマイズします

    レンズアクションを作成して、 ServiceNow レンズ 実行のカスタムコンテキスト、トリガーオプション、およびデフォルトの指示を定義します。

    始める前に

    必要なロール:lens_admin

    このタスクについて

    ServiceNow レンズのさまざまなトリガーオプションについて説明します。

    表 : 1. レンズトリガーオプション
    目標 トリガー元 トリガー対象
    インスタンスからトリガーされたときに、カスタムコンテキストとデフォルトの指示をフォームに自動入力します。

    レンズアクションのコンテキストでインスタンスから ServiceNow レンズ がトリガーされると、常にデフォルトの指示が適用され、特定のフォームフィールドが抽出されます。

    インスタンス フォーム
    ServiceNow レンズデスクトップアプリからトリガーされたときに、カスタムコンテキストとデフォルトの指示をフォームに自動入力します。

    インスタンスからレンズを起動する代わりに、レンズアクションのコンテキストでデスクトップアプリから直接 ServiceNow レンズ をトリガーできます。デフォルトの指示が常に適用され、特定のフォームフィールドが抽出されます。

    デスクトップ フォーム
    クライアントスクリプトまたはサーバースクリプトを使用して、 ServiceNow レンズ をバックエンドサービスとして実行します。 インスタンス サービス
    カスタムコンテキストを指定して収集されたインサイトを ServiceNow レンズ のプレビューウィンドウに表示し、後処理ステップを実行します。 デスクトップ その他

    フォームに自動入力するためにインスタンスまたはデスクトップから ServiceNow レンズ がトリガーされると、ターゲットテーブルに関連付けられたアクティブなレンズアクションが使用されます。

    たとえば、ユーザーがインシデントテーブルリストから [レンズを使用して作成] を選択すると、[トリガー元] が [インスタンス] に設定されServiceNow レンズ、[トリガー対象] が [フォーム] に設定されているインシデントテーブルのアクティブなレンズアクションレコードがチェックされます。一致するアクションレコードが存在する場合、レンズはそのアクションのコンテキストで実行されます。

    レンズアクションは、レンズアクションレコードにアサインされたユーザーまたはグループのみが使用できます。

    フィールドと [アサインされたユーザーとグループ] 関連リストを含むレンズアクションフォーム。

    手順

    1. 移動先 すべて > ServiceNow レンズ > レンズアクション.
    2. レンズアクションの名前と説明を入力します。
    3. [ トリガー元] フィールドで、次のいずれかのオプションを選択します。
      オプション説明
      デスクトップ ServiceNow レンズデスクトップアプリからServiceNow レンズがトリガーされたときにこのアクションを使用する必要があることを定義します。
      インスタンス ServiceNow レンズServiceNowインスタンスからトリガーされるときにこのアクションを使用する必要があることを定義します。
    4. フォームヘッダーから [ 保存 ] を選択します。
    5. [レンズアクション] フォームで、フィールドに入力します。
      表 : 2. [レンズアクション] フォーム
      フィールド 説明
      トリガー対象
      • フォーム :レンズアクションは、フォームに自動入力するために ServiceNow レンズ がトリガーされたときに使用されます。フォームが自動入力される前に、任意の変換ロジックをレンズ応答に適用することもできます。
      • サービス :レンズアクションは、 ServiceNow レンズ がサービスとして使用される場合に使用されます。インスタンスからレンズをトリガーしたり、 ワークスペースフォームに自動入力したり、 仮想エージェント またはスクリプトインクルードを使用してトリガーしたりするには、このオプションを選択します。
      • その他 :レンズアクションは、抽出されたデータのプレビューを表示し、該当する場合は後処理ステップを実行するために ServiceNow レンズ がトリガーされたときに使用されます。
      順序 指定されたテーブルに対するレンズアクションの実行優先度:
      • 1:最高優先度
      • 999999:最低優先度

      デフォルト値は 100 に設定されています。

      たとえば、同じテーブルの 2 つのレンズアクションレコードにユーザーがアサインされている場合、番号が最も小さいレンズアクションがレンズの実行中に使用されます。

      テーブル このレンズアクションが適用されるテーブル。選択したテーブルは、特定のフィールドが選択されたとき、またはスクリプトが提供されたときに、レンズの実行中にコンテキストを提供します。

      たとえば、インシデントテーブルなどです。

      要求コンテキスト 特定のフィールドを選択するか、スクリプトを介してカスタムスキーマを提供することで、レンズの実行中に拡張コンテキストを提供するオプション。
      • サポートされているフィールド :レンズ実行の拡張コンテキストを提供するために選択されたフィールド。
      • 詳細 :レンズ実行の拡張コンテキストを提供するためのカスタムスキーマオブジェクトを生成するスクリプト。
      フィールド レンズ実行の拡張コンテキストを提供するために選択できるテーブルフィールド。レンズが画像から抽出する情報を決定するのに役立つフィールドを選択します。レンズでサポートされているフィールドのみを選択できます。詳細については、「サポートされているフィールドタイプ」を参照してください。

      このフィールドは、[要求コンテキスト] 選択フィールドで [サポートされているフィールド] が選択されている場合にのみ表示されます。

      前処理スクリプト カスタムスキーマオブジェクトを生成して、レンズ実行のコンテキストを拡張するスクリプト。カスタムスキーマは、レンズが画像から抽出する情報を決定するのに役立ちます。

      このフィールドは、[要求コンテキスト] 選択肢フィールドで [詳細] が選択されている場合にのみ表示されます。

      サンプル スクリプトの例:

      function preProcessRequest(lensActionRecord, inputJSON) {
          // Initialize the schema object
          var schemaObj = {};
          /*
          This is a utility method to generate schema object, 
          users can pass tableName and formFields as an array of fields for the given table to generate custom schema that is passed to the LLM.
          
          //Return schemaObj adhering to the structure defined in example
          // tableName = 'incident'
          tableName = inputJSON.tableName; 
      
          //formFields - array of fields for the given table.
          //formFields = ['short_description', 'comments', 'impact'];
          
          fieldsToProcess = inputJSON.formFields;
          schemaObj = new global.AILensSchemaUtil().generateSchema(tableName, fieldsToProcess);
      
          */
          return schemaObj;
      }
      var schemaObj = preProcessRequest(lensActionRecord, inputJSON);
      preProcessRequest メソッドによって受け入れられるパラメーター:
      • lensActionRecord (入力):実行されるレンズアクションの GlideRecord。
      • inputJSON (入力):ユーザーがサービス API を介して渡すことができるオプションの JSON オブジェクト。
      • schemaObj (出力) - カスタムスキーマの返された JSON オブジェクト。

      返されたschemaObjオブジェクトの例:

      schemaObj =  {
        "schemaPayload": {
          "type": "json_schema",
          "json_schema": {
            "name": "schema_extraction",
            "schema": {
              "type": "object",
              "properties": {
                "short_description": {
                  "type": "string",
                  "label": "Short description"
                },
                "comments": {
                  "type": "string",
                  "label": "Additional comments"
                },
                "impact": {
                  "type": "choice",
                  "label": "Impact",
                  "choiceValues": ["1", "2", "3"],
                  "choiceLabels": {
                    "1 - High": "1",
                    "2 - Medium": "2",
                    "3 - Low": "3"
                  }
                }
              },
              "required": [
                "short_description",
                "comments",
                "impact"
              ],
              "additionalProperties": false
            }
          }
        },
        "fieldLabels": ["short_description", "comments", "impact"]  //Optional key
      }
      デフォルトの追加指示 ユーザー指定の指示に加えて Now Assist に提供されるデフォルトの指示。

      たとえば、タイトル、著者名、dd-mm-yyyy形式の発行日、要約、およびキーワードを抽出して、この論文を要約します

      応答を変換 フォームに自動入力する前にレンズ応答を変換するための変換スクリプトを指定するオプション。

      このフィールドは、[トリガー対象] 選択肢フィールドで [フォーム] が選択されている場合にのみ表示されます。

      変換スクリプト フォームに入力する前にレンズ応答を変換するスクリプト。

      このフィールドは、[ 応答を変換] オプションが選択されている場合にのみ表示されます。

      サンプル スクリプト:

      function transformResponseScript(lensActionRecord, lensResponse) {
         // Initialize the schema object
          var transformResponse = {};
          
          //Add your code here
          
          //Return schemaObj adhering to the structure defined in example
          return transformResponse;
      }
      var transformResponse = transformResponseScript(lensActionRecord, lensResponse);
      transformResponseScript メソッドによって受け入れられるパラメーター:
      • lensActionRecord (入力):実行されるレンズアクションの GlideRecord。
      • lensResponse (入力):レンズの実行後に提供されるレンズ応答の JSON オブジェクト。
      • transformResponse (出力):変換されたスキーマの返された JSON オブジェクト。

      返された transformResponse オブジェクトの例:

      transformResponse = {
        "short_description": "Service Degradation Error in Order Processing System",
        "description": "The Order Processing API v2.1 encountered a service degradation issue in the Production environment",
        "urgency": "1"
      }
      後処理を有効にする レンズの実行が完了した後に詳細な処理指示を指定するオプション。

      このフィールドは、[トリガー対象] フィールドで [その他] または [サービス] が選択されている場合にのみ表示されます。

      後処理スクリプト フロー、サブフロー、アクション、AI エージェントのトリガーなど、レンズ応答をさらに処理するためにレンズの実行後に非同期で実行されるスクリプト。

      このフィールドは、[ 後処理を有効にする] オプションが選択されている場合にのみ表示されます。

      function postProcessResponse(lensActionRecord, lensResponse) {
          
          //Add your code here
      
      }
      postProcessResponse(lensActionRecord, lensResponse);
      postProcessResponse メソッドによって受け入れられるパラメーター:
      • lensActionRecord (入力):実行されるレンズアクションの GlideRecord。
      • lensResponse (入力):レンズの実行後に提供されるレンズ応答の JSON オブジェクト。
      キャプチャ画像をレコードに添付 キャプチャ画像を ServiceNow レンズを使用して自動入力されるレコードに添付するオプション。

      このオプションはデフォルトで有効になっています。

    6. このレンズアクションを使用できるユーザーまたはグループをアサインします。
      1. [アサインされたユーザーとグループ] 関連リストで、[ 新規] を選択します。
      2. このレンズアクションを使用できるユーザーまたはグループを追加します。
        1 つのレンズアクションに対して作成できるアサインされたユーザーとグループのマッピングは 1 つだけです。
        オプション ステップ
        ユーザー
        1. [ユーザー] フィールドの横にあるロックアイコンを選択します。
        2. 参照フィールドからターゲットユーザーレコードを検索して選択します。
        3. ロックアイコンを再度選択して、フィールドをロックします。
        4. [Submit (送信)] を選択します。
        注:
        参照フィールドでは、lens_user ロールを持つユーザーのみが選択できます。
        グループ
        1. [グループ] フィールドの横にあるロックアイコンを選択します。
        2. 参照フィールドからターゲットグループレコードを検索して選択します。
        3. ロックアイコンを再度選択して、フィールドをロックします。
        4. [Submit (送信)] を選択します。
        注:
        lens_userロールを持つユーザーがいるグループを選択していることを確認してください。
      3. [Submit (送信)] を選択します。
    7. [Update (更新)] を選択します。
    8. [ アクティブ化 ] を選択して、レンズアクションをアクティブ化します。

    例:ドキュメントをスキャンして保険要求フォームに自動入力する

    顧客がデスクトップで自動車事故に関連するドキュメントをスキャンして、 ServiceNow インスタンスで保険要求フォームに自動入力できるようにします。

    始める前に

    必要なロール:lens_admin

    このタスクについて

    [レンズ] アクションで、[保険要求] フォームに自動入力するためにデスクトップから ServiceNow レンズ をトリガーする必要があることを定義できます。レンズアクションには、抽出されたデータで更新する必要があるフィールドが含まれています。

    保険要求フォームに自動入力するためのレンズアクションレコードの例。

    手順

    1. 移動先 すべて > ServiceNow レンズ > レンズアクション.
    2. [名前] フィールドに、「Auto-fill Insurance Request from desktop (デスクトップからの保険要求の自動入力)」と入力します。
    3. [ 説明 ] フィールドに「 Boxeo 保険のレンズアクション」と入力して、レンズがデスクトップからトリガーされたときに保険要求フォームに自動入力します
    4. [ トリガー元 ] オプションから [デスクトップ] を選択します。
    5. フォームヘッダーから [ 保存] を選択します。
    6. [トリガー対象] オプションから [フォーム] を選択します。
    7. [テーブル] フィールドで、[保険要求] テーブルを選択します。
    8. [ 要求コンテキスト ] フィールドで、[サポートされているフィールド] を選択してコンテキストを指定します。
    9. [ フィールド ] フィールドから [選択済み] リストにフィールドを移動します。
      policy_number、location_of_incident、policy_holder_name、vehicle_number、policy_state、policy_checks_failed、policy_checks_passed、incident_date_time、damage_description、claim_type、claim_evaluation_percentage
    10. [デフォルトの追加の指示] フィールドで、Now Assistの次の指示を入力します。
      1. Incident Date : If available, extract the date from pictures uploaded.
      2. Personal Information:
      	○ Names: Generate name from images or documents attached. If not present do not hallucinate.
      3. Location:
      	○ If a vehicle number is visible, extract the corresponding city or state from images. If not found in images based on the vehicle number extract U.S city/state and use it as the location.
      	○ If no vehicle number is visible, leave the field blank.
      4. Vehicle Number:
      	○ If present, use the visible vehicle number.
      	○ If not present, extract vehicle number from images like driving license. If not present, leave the field empty.
      5. Policy Checks:
      	○ Refer to the policy checks document for validation.  
      	○ List only passed checks in policyChecksPassed as an HTML table with columns: Check Name, Status, Remarks.
      	○ List only failed checks in policyChecksFailed as an HTML table with columns: Check Name, Status, Remarks. If a document/image is not found for a check then add it to the policyChecksFailed.
      	○ No validation should be skipped. Consider all rules under each policy section and add them into policyChecksPassed or policyChecksFailed based on they status whether they are passed or failed.
      6. Claim Evaluation:
      	○ Calculate the claimEvaluationPercentage using the formula:
      (Number of Passed Checks / Total Number of Checks) * 100
      7. Policy State:
      	○ "Valid" – if Claim Evaluation is 100,
      	○ "Needs More Information" – if Claim Evaluation is greater than 50 and less than 100,
      	○ "Failed" – if Claim Evaluation is less than or equal to 50.
      8. Ensure the final output with all the above fields accurately filled.
    11. このレンズアクションを使用できるユーザーまたはグループを追加します。
      1. [アサインされたユーザーとグループ] 関連リストで、[ 新規] を選択します。
      2. lens_userロールを持つ必要なユーザーまたはユーザーグループを選択します。
        アサインされたユーザーまたはユーザーのグループのみが、レンズの実行中にレンズアクションを活用できます。
      3. [Submit (送信)] を選択します。
    12. [Update (更新)] を選択します。
    13. [ アクティブ化 ] を選択して、レンズアクションをアクティブ化します。

    例:ベンダー契約から構造化データを抽出する

    コンプライアンスアナリストが複数のベンダー契約をデジタル化してレビューできるようにします。詳細を手動で入力する代わりに、デスクトップから直接 ServiceNow レンズ を起動し、契約書をスキャンして、保存する前にプレビューウィンドウで抽出された値を調整することができます。

    始める前に

    必要なロール:lens_admin

    このタスクについて

    ユーザーシステムに保存されているドキュメントをスキャンするために、デスクトップから ServiceNow レンズ をトリガーする必要があることを [レンズ] アクションで定義できます。後処理オプションを使用すると、保存する前にプレビューウィンドウで抽出された情報を編集し、後処理をトリガーして関連リストレコードを作成できます。

    手順

    1. 移動先 すべて > ServiceNow レンズ > レンズアクション.
    2. [名前] フィールドに、「ベンダー合意からデータを抽出」と入力します。
    3. 説明 フィールドに デジタイズ と入力し、複数の仕入先契約を確認します
    4. [ トリガー元 ] オプションから [デスクトップ] を選択します。
    5. フォームヘッダーから [ 保存] を選択します。
    6. [ トリガー対象] オプションから [その他] を選択します。
    7. [ 要求コンテキスト ] フィールドで、[詳細] を選択します。
    8. [前処理スクリプト] フィールドに、拡張コンテキストを提供するためのカスタムスキーマオブジェクトを生成するスクリプトを入力します。
      返されるカスタムスキーマオブジェクトの例を次に示します。
      schemaObj =  {
        "schemaPayload": {
          "type": "json_schema",
          "json_schema": {
            "name": "schema_extraction",
            "schema": {
              "type": "object",
              "properties": {
                "vendorName": {
                  "type": "string",
                  "label": "Vendor Name"            
                },
                "contractTitle": {
                  "type": "string",
                  "label": "Contract Title"
                },
                "contractReferenceNumber": {
                  "type": "string",
                  "label": "Contract Reference Number"
                },
                "contractStartDate": {
                  "type": "string",            
                  "label": "Contract Start Date"
                },
                "contractEndDate": {
                  "type": "string",
                  "label": "Contract End Date"
                },
                "renewalTerminationClauses": {
                  "type": "string",
                  "label": "Renewal / Termination Clauses"
                }
              },
              "required": [
                "vendorName",
                "contractTitle",
                "contractReferenceNumber",
                "contractStartDate",
                "contractEndDate"
              ],
              "additionalProperties": false
            }
          }
        },
        "fieldLabels": ["vendorName", "contractTitle", "contractReferenceNumber", "contractStartDate", "contractEndDate"]  //Optional key
      }
    9. [デフォルトの追加の指示] フィールドに、Now Assistの指示を入力します。たとえば関連情報が見つからない場合はフィールドを空のままにします。幻覚を見ないでください。DD-MM-YYYY に日付を入力します。
    10. [ 後処理の有効化 ] オプションを選択します。
    11. [ 後処理スクリプト ] フィールドに、レンズの実行が完了した後のレンズ応答の後処理ロジックを提供するスクリプトを入力します。
      後処理ロジックを提供して、抽出されたデータを関連リストレコードを作成するためのサブフローに渡すことができます。
    12. このレンズアクションを使用できるユーザーまたはグループを追加します。
      1. [アサインされたユーザーとグループ] 関連リストで、[ 新規] を選択します。
      2. lens_userロールを持つ必要なユーザーまたはユーザーグループを選択します。
        アサインされたユーザーまたはユーザーのグループのみが、レンズの実行中にレンズアクションを活用できます。
      3. [Submit (送信)] を選択します。
    13. [Update (更新)] を選択します。
    14. [ アクティブ化 ] を選択して、レンズアクションをアクティブ化します。

    例:ユーザーテーブルのユーザーレコードの自動入力

    サービスエージェントは、ServiceNowインスタンスから直接、ServiceNow レンズを使用して身分証明書から特定の情報を抽出することで、ユーザーレコードを作成できます。

    始める前に

    必要なロール:lens_admin

    このタスクについて

    サービスエージェントは、複数のユーザーの公式 ID カード (政府発行の ID など) をスキャンしてオンボーディングする必要があります。エージェントは、各ユーザーの詳細を手動で入力する代わりに、インスタンスから ServiceNow レンズ をトリガーしてデータ抽出を自動化し、レンズアクションレコードで定義された特定のフィールドに自動入力することができます。

    ユーザーレコードを作成してデフォルトの指示を指定するには、インスタンスから ServiceNow レンズ をトリガーする必要があることを [レンズ] アクションで定義できます。

    手順

    1. 移動先 すべて > ServiceNow レンズ > レンズアクション.
    2. [名前] フィールドに「ユーザーレコードを自動入力」と入力します。
    3. [ 説明 ] フィールドに「 レンズアクション」と入力して、ServiceNow インスタンスでユーザーレコードを自動作成します
    4. [トリガー元] オプションから [インスタンス] を選択します。
    5. フォームヘッダーから [ 保存] を選択します。
    6. [トリガー対象] オプションから [フォーム] を選択します。
    7. [ テーブル ] フィールドで、ユーザー [sys_user] テーブルを選択します。
    8. [ 要求コンテキスト ] フィールドで、[サポートされているフィールド] を選択して拡張コンテキストを提供します。
    9. [ フィールド ] フィールドから [選択済み] リストにフィールドを移動します。
      userID、first_name、last_name、タイトル、date_of_birth
    10. [Default Additional Directions] フィールドに「User ID must be always be in lower case, uses the firstname.lastname」と入力します。生年月日を dd-mm-yyyy 形式で入力します。
    11. このレンズアクションを使用できるユーザーまたはグループを追加します。
      1. [アサインされたユーザーとグループ] 関連リストで、[ 新規] を選択します。
      2. lens_userロールを持つ必要なユーザーまたはユーザーグループを選択します。
        アサインされたユーザーまたはユーザーのグループのみが、レンズの実行中にレンズアクションを活用できます。
      3. [Submit (送信)] を選択します。
    12. [Update (更新)] を選択します。
    13. [ アクティブ化 ] を選択して、レンズアクションをアクティブ化します。