
- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
08-31-2021 09:38 AM - edited 04-23-2024 04:09 PM
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."
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".
Migrating Virtual Agent topics
- Navigate to Local Update Sets. Create a new update set, and click "Submit and Make Current."
- 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.
- 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."
- 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.
- 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.
- Verify that your topic(s) are migrated by navigating to sys_cs_topic, or view in VA Designer.
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:
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”.
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.
- 7,777 Views

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi Victor,
A couple of questions regarding this process:
- 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?
- 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:
- 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
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
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.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
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.
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
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
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@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
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@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 .
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@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?