Script include - AILensActionService
Use the AILensActionService script include together with Lens actions to leverage ServiceNow AI Lens as a service for extracting information from the provided images and getting answers to your questions.
This script include is part of the ServiceNow AI Lens (sn_ai_lens) store application and is located within the sn_app_lens_core scope.
- Calls Lens as a back-end service
- Analyzes and comprehends data from provided images
- Gets response from Now Assist as per provided directions
- Does not require ServiceNow AI Lens desktop app
AILensActionService - AILensActionService()
Creates an AILensActionService instance.
| Name | Type | Description |
|---|---|---|
| None |
The following example shows how to initialize AILensActionService.
var lensService = new sn_app_lens_core. AILensActionService()
AILensActionService - invokeLens(String lensActionId, String[] attachmentIds, String userPrompt, Object[] imageArr, Object inputJSON)
Invokes ServiceNow AI Lens as a service.
| Name | Type | Description |
|---|---|---|
| lensActionId | String | Sys_id of the Lens Actions record created for your use case, or you can select the out-of-the-box option that fits your requirements. Example: 842bfc8e37066210b97528c734924baf This parameter is mandatory. |
| attachmentIds | String[] | Array of sys_ids for existing image attachments. Example: You must pass either |
| userPrompt | String | An instruction or question for Now Assist to answer after analyzing the contents of the attachments. Example: Analyze this production issue and create an incident ticket |
| imageArr | Object[] | Array of objects containing name of the screenshot and base64 encoded image data. Example: You must pass either |
| inputJSON | Object | Additional JSON input parameters that you want to pass in the pre-processing script of the Lens action. Example: |
| additionalContext | Object | An optional parameter that you can use to pass any extra key–value information from the client to the server during the Lens action call.
Example |
| Type | Description |
|---|---|
| <object> | Returned success object |
| error | Returned error object |
This example shows how to call Lens service from a script block.
var lensActionId = "cd6570cdf36a2210b9751f09f6968c42";
var attachmentIds = ["3fe930093b626210aba1fadc73e45a38", "0000e8a42c9a7110f877137af4eab4b5"];
var userPrompt = "Analyze this production issue and create an incident ticket";
var imageArr = [
{
name: "screenshot1.png",
data: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg=="
},
{
name: "screenshot2.png",
data: "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9Qz0AEYAJMgkU1f5kAAAAASUVORK5CYII="
}
];
var inputJSON = {
"type" : "object",
"properties" : {
"short_description" : {
"type" : "string",
"label" : "Short description"
},
"description" : {
"type" : "string",
"label" : "Description"
},
},
"required" : [ "short_description", "comments" ],
}
// Call the method
var result = new sn_app_lens_core. AILensActionService().invokeLens(lensActionId, attachmentIds, userPrompt, imageArr, inputJSON);
// Handle the response
if (result.status === 'success') {
var response = JSON.parse(result.lensResponse);
gs.info("AI Lens Analysis Complete:");
gs.info("Title:", response.short_description);
gs.info("Description:", response.description);
} else {
gs.error("Error occurred:", result.error.message);
}