Victor Chen
ServiceNow Employee
ServiceNow Employee

For the Vancouver release: we now provide new tools to separate your conversations between multiple portals for an improved user experience. See the documentation for setting "portal consumer contexts" here: https://docs.servicenow.com/bundle/vancouver-servicenow-platform/page/administer/virtual-agent/task/...

 

 

When you have multiple web portals with Virtual Agent, you sometimes want conversations in one portal to not resume in another portal. You can do this by using the skip_load_history parameter in your Virtual Agent. This provides a cleaner experience for users on multiple web portals who want to start a new conversation in each portal and without a lengthy past conversation thread visible. Alternatively, you can both clear past chat history but still 'resume' the current conversation in another portal with the load_active_only parameter. 

 

Parameter behavior: 

  • If skip_load_history = true - past conversation is cleared, and new conversation starts in the other portal.
  • if load_active_only = true - past conversation is cleared, but the current conversation is still loaded.
  • if both = true, then skip_load_history takes precedence and a new conversation is loaded in the other portal.
  • These parameters do not apply to Teams/Slack/mobile. Conversations in these channels are completely separate from web conversations. It is currently not possible to 'resume' conversations between web and these channels. This is being addressed on our roadmap; safe harbor applies.  
 
How you can apply the parameters:
  • In Service Portal Agent Chat Configuration record.

 

 

var configObj = {
		skip_load_history : true,
		load_active_only: true
    };​

 

 

 

  • In URL parameters:

https://<instancename.service-now.com>$sn-va-web-client-app.do?sysparm_load_active_only=true

 

  • In the portable VA web client for external sites:

 

 

const chat = new ServiceNowChat({
	instance: 'https://site1.mycompany.com',
	context: {
		skip_load_history: 1
	},
});

 

 

 

Note: the Tokyo feature Language Detection for Virtual Agent (often combined with Dynamic Translation) does not work with skip load history = true. Combining these features may cause your conversation to end abruptly. We are actively addressing this in our roadmap; safe harbor applies.
Comments
Mike Stout
Tera Explorer

Hi Victor, we have multiple portals and have been using 'skip load history' to ensure that conversations are separated between them.  When we have this enabled, there is a poor user experience in some situations like a chat containing a link to an HR case.  if the chat user clicks the link to open the HR Case, a new tab opens for the case and the chat session resets back to the start greeting in the new tab, and ends in the original tab.  the load_active_only parameter does not seem to affect this as we need to keep the 'skip load history' = true.  any thoughts on how to improve this user experience in our situation?

grzegorz_wrobel
Tera Expert

Hi @Victor Chen. I'm facing similar issue as Michael. In addition, in the scenario when you open case from link, VA attach both interactions (initial conversation + new tab conversation) to HR Case. Is there any way to prevent it or is there any plan to change this behavior in the future releases? 

Kenn Denn
Tera Contributor

@Mike Stout & @grzegorz_wrobel - Did you manage to find a solution for this behavior?

Diana27
Tera Guru

Has anyone found a solution for this.  We are having the same issue when a link is clicked in the Chat window say for an Incident, a new tab opens with the details of the Incident and the Chat starts all over again.  Now there are 2 tabs with a Chat open.

Victor Chen
ServiceNow Employee
ServiceNow Employee

Hi, I'm unsure if this issue is resolved yet, but in the Vancouver release we have a new way to separate conversations between portals without relying on the skip_load_history property. Please see: https://docs.servicenow.com/bundle/vancouver-servicenow-platform/page/administer/virtual-agent/task/...

 

Azim3
Tera Contributor

Hi, @Victor Chen 

I have a same use case to skip load history but in Engagement messenger which also embed a portable virtual agent client however Context we're injecting context load parameters in a different way as per Engagement messenger Docs, I tried to pass skip_load_history:true in both FeatureContext and 'param' object but it doesn't not like it. Do you have any recommendation on this please ?

 

I've tried to pass under both 'param' object and direct 'chatFeatureConext" as highlighted in Red. Engagement messenger custom feature code :

 


SN_CSM_EC.init({
moduleID:
"https://<instance_name>.service-now.com/#<module_id>",
loadFeature: chatFeatureContext(),
});
function chatFeatureContext(){
return {
feature: "CHAT",

load_active_only:true,
openOnLoad: false,
params: {
"language": "en",

"load_active_only": true,
"sysparm_queue" : "e25bf62d1b64b554bcc075939b4bcb13",
"sysparm_description":"long test description",
"sysparm_chat_endpoint":"customer_portal"
}
}
}

 

 

 

Azim3
Tera Contributor

Nevermind, just missed 'sysparm'. It worked in EM as below if anyone else is looking for same :

 

SN_CSM_EC.init({
moduleID:
"https://<instance_name>.service-now.com/#<module_id>",
loadFeature: chatFeatureContext(),
});
function chatFeatureContext(){
return {
feature: "CHAT",

openOnLoad: false,
params: {
"language": "en",

"sysparm_load_active_only": true,
"sysparm_queue" : "e25bf62d1b64b554bcc075939b4bcb13",
"sysparm_description":"long test description",
"sysparm_chat_endpoint":"customer_portal"
}
}
}

Community Alums
Not applicable

Hi @Victor Chen 

 

Can we use this new functionality in Utah too?

 

Thanks,

Anu

Kenn Denn
Tera Contributor

@Community Alums - In Utah, we were able to use both "skip_load_history" and "load_active_only" in Service Portal Agent Chat Configuration.

 

Please note that - at least in our experience - Service Portal Agent Chat Configuration will cause the chat window to appear across all pages of the portal it is assigned to. If you use "skip_load_history" and try to navigate to another page on the portal while chatting, it will close your current conversation and start a new one on the new page.

Community Alums
Not applicable

Hi @Kenn Denn@Victor Chen ,

The issue that we are facing is that:

1. when we use "Skip_load_history" then every time the browser refreshes, the active conversation gets wiped out, suppose the user and agent is in mid of any conversation, it will end when browser is refreshed thus impacting the user experience.

 

2. "Load_active_only" : This when used also impacts user experience since we have VA present in multiple portals, so any conversation started in one portal, is visible in another portal until the conversation is  ended.  

 

Do do you have any workaround for this?

 

Many thanks for the help in advance.

 

Regards,

anu

Tricia Cornish
ServiceNow Employee
ServiceNow Employee

The challenge that "skip_load_history"  loads a new conversation when a new window is open (for example,when you click the link on a KB article and it opens in a new tab) is actually the result of URL Navigations.

 

**There is a flag as of Vancounver in Conversational Interfaces to allow multiple conversations, so perhaps this plus "Load_active_only" might be a good combination - I haven't tested it yet.** 


Anyway, URL Navigations identifies what should happen when you click on a link in the chatbot.

If you navigate to a page in a portal with chat activated, it will launch window and a new chat. If you navigate to a page where chat is not activated (like displaying the KB article or opening the catalog item in a popup), the new window opens with no chat.  You still have the original window/tab open and the chat remains active, while you can review and request and then close that non-chat window. 

I documented my workaround here: https://www.servicenow.com/community/virtual-agent-nlu-forum/va-should-not-start-conversation-in-red...

 

Hope that helps @Kenn Denn , @Mike Stout , @Diana27 , @Azim3 @Community Alums 

ozgurD
Tera Contributor

I created an engagement messenger module and integrated the virtual agent into it. When I add the embed code of the engagement messenger, I included skip_load_history in the context. However, the complete history is still being shown. Can someone help me with this?

 

<script>
SN_CSM_EC.init({
moduleID: "https://instance.service-now.com/#d8574ecd4727a210d09a68be436d43c7",
  loadFeature: SN_CSM_EC.loadEMFeature(),
  context: {
      skip_load_history: 1 
    },
});
</script>
ozgurD
Tera Contributor

I created an engagement messenger module and integrated the virtual agent into it. When I add the embed code of the engagement messenger, I included skip_load_history in the context. However, the complete history is still being shown. Can someone help me with this?

 

 

<script>
SN_CSM_EC.init({
moduleID: "https://instance.service-now.com/#d8574ecd4727a210d09a68be436d43c7",
  loadFeature: SN_CSM_EC.loadEMFeature(),
  context: {
      skip_load_history: 1 
    },
});
</script>

 

 

Version history
Last update:
‎11-10-2023 09:47 AM
Updated by:
Contributors