Are all NLU nodes supported in LLM for Virtual Agent?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago
We used the migration tool to transfer our NLU topics and topic blocks, but I am encountering loops or virtual agent conversations ending with a specific topic block. Does this indicate that some NLU nodes converted to LLM nodes are not supported? For instance, I have a dynamic choice input (refer to the screenshot) that was converted, but I am unable to determine the cause of the issues. The script under the NLU topic previously used gs.log, which I changed to gs.info, making me question if this node is unsupported. The script in this node is for a REST API call that allows users to reset their passwords.
(function execute() {
var token = null;
var options = [];
var loginStatus = '';
var getAccountStatus = '';
var bodyJSON;
var interaction;
var restMess;
try{
//Set clockid to the confirmed clockid value
var clockid = vaInputs.confirm_employee_id.getValue();
//Get Interaction number for logging from the interaction table
var imsGr = new GlideRecord('interaction');
if(imsGr.get(vaVars._interaction_record_sysid)){
interaction = imsGr.getValue('number');
}else{
interaction = "9999999999";
};
//Reference rest message by name, some settings found on rest message
restMess = 'va_VoiceApi_Login'
var execLoginAPI = new sn_ws.RESTMessageV2("va_VoiceApi_Login","POST");
var reqBody = {
type: "chat",
interactionId: interaction,
};
//Add Logging to backend ServiceNow Logs
gs.info("NASH API: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] - REQ BODY: "+JSON.stringify(reqBody));
//Set body for request
execLoginAPI.setRequestBody(JSON.stringify(reqBody));
//Call API Endpoint
var response = execLoginAPI.execute();
var responseBody = response.getBody();
loginStatus = response.getStatusCode();
if(loginStatus == 200)
{
bodyJSON = JSON.parse(responseBody); //Can't do this unless we have 200 code back, because we can't always expect a json body response
token = bodyJSON.token;
}else{
vaVars.reset_success = 'false'
}
//Add response logging
gs.info("NASH API: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] - API Status Code: "+loginStatus+" RESPONSE BODY: "+JSON.stringify(responseBody));
//Log token value for validation
gs.info("NASH API: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] - TOKEN: "+token);
//If the auth token exists, proceed with the data call
if(loginStatus == 200)
{
//Reference rest message by name, some settings found on rest message
restMess = 'va_VoiceApi_iseries_account';
var execAPI = new sn_ws.RESTMessageV2("va_VoiceApi_iseries_account","POST");
//Set the request header to include the authentication info
execAPI.setRequestHeader('auth',token);
var reqBody = {
clockId: clockid,
type:"chat",
interactionId: interaction
};
//Add Logging to backend ServiceNow Logs
gs.info("NASH API: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] - REQ BODY: "+JSON.stringify(reqBody));
execAPI.setRequestBody(JSON.stringify(reqBody));
var apiResponse = execAPI.execute();
var apiResponseBody = apiResponse.getBody();
getAccountStatus = apiResponse.getStatusCode();
//Add response logging
gs.info("NASH API: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] - API Status Code: "+getAccountStatus+" RESPONSE BODY: "+JSON.stringify(apiResponseBody));
//Create user button display from API array response
if(getAccountStatus == 200)
{
var account = JSON.parse(apiResponseBody);
if(account.length > 0){
for(i=0; i < account.length; i++){
var user = account[i].user + " - " + account[i].part
options.push({
'value': account[i].part,
'label': user,
'render_style': 'data'
});
};
options.push({
'value': "ALL",
'label': "All Systems",
'render_style': 'data'
});
options.push({
'value': "skip",
'label': "Skip",
'render_style': 'data'
});
}else{
vaVars.reset_success = 'false'
};
}else{
vaVars.reset_success = 'false'
gs.info("NASH ERROR: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] Unable to retrieve user accounts");
};
}else{
vaVars.reset_success = 'false';
gs.info("NASH ERROR: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] Authentication failed while attempting to get token");
};
}catch(err){
vaVars.reset_success = 'false';
//Add Logging to backend ServiceNow Logs
gs.info("NASH ERROR: "+interaction+" REST MESSAGE - "+restMess+" [NN Password Automated Assistance - getIseriesAccount] API Status Code: LoginStatus -"+loginStatus+" API Status Code: getAccountStatus - "+getAccountStatus+" Token:"+token+" ERROR: "+err);
gs.info("NASH ERROR: "+interaction+" - getIseriesAccount ERROR: "+err);
};
return options;
})()
0 REPLIES 0
