Victor Chen
ServiceNow Employee
ServiceNow Employee

Migrating Virtual Agent with update sets 

The primary guidance for migrating VA topics between instances is to create a scoped app and to build your custom Virtual Agent topics in that scoped app. You can then publish the scoped app as an update set (xml format) and upload it in another instance. Below is another way to migrate several Virtual Agent topics without using a scoped app. A popular use case is migrating your Virtual Agent topics and NLU models from a sub-prod instance to prod. 

 

Setup 

If you haven't already, download the 'Add to Update Set' utility the ServiceNow developer site. This makes migrating VA topics easier in that it automatically includes dependent tables needed to migrate. The utility itself is also an update set. To install it to your instance, navigate to "Retrieved Update Sets" in your instance and click "Upload Update set from XML" at the bottom. Upload the xml file. After uploading the file, click into the record, click "Preview" to make sure there are no errors, then click "Commit Upload."  

 find_real_file.png

To check that the installation is successful, navigate to "sys_cs_topic.list". Click into any topic. At the very bottom you should see "Related Links || Add to Update Set".  

 find_real_file.png

 

Migrating Virtual Agent topics   

  1. Navigate to Local Update Sets. Create a new update set, and click "Submit and Make Current." 

 find_real_file.png

  1. Navigate to "sys_cs_topic.list". Click into a topic you want to migrate, and click on "Add to Update Set" at the bottom. You may receive a banner saying that batched update sets was used. This usually the case when multiple scopes are being added, e.g. adding a scope containing an attached NLU model. 

 find_real_file.png

  1. Once you are done adding VA topics to the Update Set, navigate back to the Local Update Set table and find your update set. As per above, you may see more than one update set with the created name. Look for the "Batch Parent" update set, and click into it. Change the drop-down from "in progress" to "Complete". Then click "Export Update Set (Batch) to XML." 

 find_real_file.png

  1. Open the other instance where the topics are to go in. Navigate to "Retrieved Update Sets" and click "Import Update Set from XML". Select the XML file created above and click "Upload". The update set or update set batch should now appear in the Update Set table. 

 find_real_file.png

  1. Open the parent update set record and click "Preview Update Set"on the top right. If you run into errors, see the "Preview Problems" tab below. To skip the errors, click "Accept remote update." Then click "Commit" on the top right. 

find_real_file.png 

  1. Verify that your topic(s) are migrated by navigating to sys_cs_topic, or view in VA Designer. 

  find_real_file.png

 

Notes: the topic's NLU model and intent may have to be re-binded. You can also add your topic from sys_cs_topic_language to the update set to include the NLU bindings.

  

Migrating NLU models with update sets 

The process has been updated in the Vancouver release. It is covered in this Academy video:

Documentation

 

Migrating Predictive Intelligence models

You may be using predictive intelligence models to auto-assign incidents created in Virtual Agent. You can also add a classification model to an update set In the Classification Definition record (ml_capability_definition). You can either click “Add solution” to current update set” or the utility’s “Add to Update Set”. 

  find_real_file.png

You will also need to add the related Word Corpus to the update set. After migrating the classification model to the new instance, you will have to re-train the model in the new instance.  

Comments
Amy Lind1
Giga Guru

Hi Victor,

A couple of questions regarding this process:

  1. In this case, are you recommending using the 'Add to Update Set' utility over the old fashioned way of making sure there is a current update associated with the VA Topics or is this in the event that a new topic was not properly captured using the former approach?  If so, why?
  2. What is the purpose of importing the update as XML rather than retrieving them using the update source on the higher environment?

On using a scoped app:

  1. Is the suggestion that all topics reside in the custom app scope?  If so, does that include those that originated from one of the Store apps (Ex. ITSM or Password Reset)?  

 

TIA,

Amy

johndoh
Mega Sage

Hello @Victor Chen, it was nice seeing you at K23 and love this article. The one thing I will note that this seems to skipped or lacking in this article is the db_image table and is very important if you have added images to your workflow. 

HeatherSN
ServiceNow Employee
ServiceNow Employee

Just to note: for NLU models, if the only thing you want to do is export a list of training utterances and their intents, you can use Export model as CSV, in NLU Workbench.  

If you want to migrate any other items associated to an NLU model (such as test sets, entities, vocabulary, and references to Virtual Agent topics), the update set method is what you need.

FatmaAfacan
Tera Explorer

Hi @Victor Chen ,@HeatherSN ,  

 

Could you please confirm if these this document is uptodate, correct and complete ?

 

My questions are as below :

 

1. In Academy video which is shared here, the steps are for capturing and migrating NLU model and any other items associated to an NLU model . I have tested this however when I try to import update set as batch in the target instance , I am getting the preview errors  for different scopes.

 

2. When we capture NLU model as mentioned in the video, nothing is captured for associated Virtual agent topic. Is it as expected?

 

3. If it is as expected, what are the steps in order to capture whole records (NLU model + associated Virtual Agent topic(s))  ? 

 

Could you please confirm?

 

Thanks,

Fatma

 

goldenjc97
Tera Contributor

@FatmaAfacan  - I had this same experience when attempting to commit the batch update set, I get thousands of errors about different scopes. 

 

Scope 'sn_itsm_nlu' is not 'Global', not found in instance and is not among previewed updates. Load custom app version or application first. Resolve the problem before committing.

 

I made sure to create an update set in the scope the NLU model lived in. It definitely created the children update sets in Global. 

 

I have opened a case with SN, but I would be interested to see feedback from @Victor Chen & @HeatherSN 

FatmaAfacan
Tera Explorer

@goldenjc97 Thanks for sharing your experience as well. If possible, please update us here according to the updates, advices and recommendations from SN case that you have opened. And of course I have been waiting for the feedback from @Victor Chen and @HeatherSN .

Grant Rowh
Tera Contributor

@Victor Chen @HeatherSN  Could we please have guidance on what process to follow if we have multiple developers creating Virtual Agent topics in a given sprint (or week)? Should they all add the NLU to their VA topic update set (potentially overwriting someone else's NLU work in the target instance?) Or does some kind of coordination need to happen to perhaps only train and migrate the NLU once a week after all topic development is complete? Could you point us to documentation?

Version history
Last update:
‎04-23-2024 04:09 PM
Updated by:
Contributors