{"revision":"c10276e953456835cdbb1f3a60d58ae1980be353","document":{"id":4899,"path":"conversational-interfaces/virtual-agent/create-example-conv-asset-refresh.md","title":"Create the Asset Refresh topic in Assistant Designer Asset library","bundle":null,"doc_type":null,"release":"australia","body":"\n# Create the Asset Refresh topic in Assistant Designer Asset library\n\nCreate the topic in Assistant Designer Asset library using topic blocks that come with the ITSM Virtual Agent Conversations plugin. When the user receives a notification that it's time to upgrade, they will be directed to this topic.\n\n## Before you begin\n\nInstall the following applications:\n\n-   Glide Virtual Agent plugin \\(com.glide.cs.chatbot\\)\n\n    You must have a subscription for Virtual Agent before you can activate the Glide Virtual Agent plugin.\n\n-   [Enable Natural Language Understanding \\(NLU\\)](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/configure-nlu-settings.md), if not already enabled \\(recommended\\).\n-   [ITSM Virtual Agent Conversations](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/it-service-management/setup-itsm-virtual-agent.md) \\(available in the ServiceNow® Store\\)\n\n    If this application is already installed, check the ServiceNow Store for an updated version before you begin.\n\n\nDetermine the application scope for your Virtual Agent topic and actionable notification. They don't have to reside in the same application scope, but it can be easier to maintain if they do.\n\nPublish the following ITSM Virtual Agent components. If you're using an application scope other than ITSM Virtual Agent Conversations, you should duplicate and publish these topic blocks in the scope you intend to use. To do this, change your application scope, and then duplicate the topic blocks in Assistant Designer Asset library.\n\n-   Create Incident topic block\n-   Request Catalog Item topic block\n-   AI Search topic block\n-   Search Catalog Item topic block\n\nRole required: virtual\\_agent\\_admin or admin\n\n## About this task\n\nFor more information about building topics and the Assistant Designer Asset library interface, see the following topics:\n\n-   [Getting started with the Asset library in Assistant Designer](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/conversation-designer-virtual-agent.md)\n-   [Creating a Virtual Agent topic](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/create-virtual-agent-topic.md)\n-   [Assistant Designer controls](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/virtual-agent-controls.md)\n-   [Assistant Designer interface reference](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/vad-reference.md)\n\n**Tip:** Look through existing conversations to ensure you are not duplicating effort, and familiarize yourself with Virtual Agent and the flow of topics. Additionally, it may be helpful to outline the flow of a conversation before building it in Assistant Designer Asset library.\n\n## Procedure\n\n1.  Navigate to **All** &gt; **Conversational Interfaces** &gt; **Assisant Designer**.\n\n2.  Select the **Asset library** tab.\n\n3.  Select **Create asset** in LLM topic discovery, or **Create topic** if you're using NLU/Keyword topic discovery.\n\n4.  On the Create a topic form, set up your topic.\n\n    1.  Enter a name, such as `Asset Refresh`.\n\n    2.  If NLU is enabled, select an existing model, or create a new one.\n\n    3.  Select or create an intent for the NLU model.\n\n        \\[Omitted image \"example-create-intent-vad.png\"\\] Alt text: In the Associated Intent field, select an existing intent or create a new one for your topic.\n\n        For descriptions of all field values, see [Create a topic form](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/vad-topic-creation-form.md).\n\n    4.  Select **Create**.\n\n    The **Flow** tab appears with Start and End nodes. For an overview of this screen and its components, see [Topic Flow tab](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/vad-topic-flow-tab.md).\n\n5.  Create your initial message to greet the user.\n\n    1.  From the Components area, drag a Text bot response node onto the canvas.\n\n    2.  Select the node to view the properties palette.\n\n    3.  Enter a name for the node and the response you want to display to the user.\n\n        \\[Omitted image \"example-topic-text-response.png\"\\] Alt text: Enter a unique node name, such as Initial Message. Include a response, such as \"You're eligible to upgrade!\"\n\n6.  Ask the user if they want to proceed with the asset refresh.\n\n    1.  From the Components area, drag a Static choice input node onto the canvas.\n\n    2.  In the properties palette, enter the following information:\n\n        -   A unique name, such as `Continue or Defer`.\n        -   A text prompt, such as `What would you like to do next? Learn more, or continue with the upgrade?`\n        -   Provide a text prompt for each choice and a value for that choice, so you can refer to it later.\n\n            For example, your choices might be `Learn more` and `Continue with upgrade`. The values should make sense as variable names. For example, `info` and `upgrade`.\n\n    \\[Omitted image \"example-static-choice-continue.png\"\\] Alt text: Static choice properties for \"Continue or Defer\" node. It includes a user prompt and two choices: Learn more or Continue with upgrade.\n\n7.  Add a Decision utility to handle the user's choice.\n\n    1.  From the Components area, drag a Decision utility onto the canvas.\n\n    2.  Select the plus icon to add a second branch.\n\n    3.  Name each branch to correspond with the decisions \\(info and upgrade\\).\n\n        \\[Omitted image \"continue-or-defer-decision.png\"\\] Alt text: This Decision utility has two branches: info and upgrade. They are based on the choices offered to the user in the previous step.\n\n    4.  For each branch, select it and then use the Branch Condition area to indicate which option the branch will follow.\n\n        \\[Omitted image \"continue-defer-decision-condition.png\"\\] Alt text: Use the condition builder to specify the Continue or Defer choice node and the corresponding user choice that this branch will follow, such as \"Continue with upgrade.\"\n\n8.  For the upgrade branch, add a Lookup utility node to confirm that the user still has the asset.\n\n    1.  From the Components area, drag a Lookup utility onto the canvas.\n\n        \\[Omitted image \"crawl-ex-lookup-canvas.png\"\\] Alt text: Drag the Lookup utility node onto the upgrade path on the canvas.\n\n    2.  In the properties palette, specify the following information:\n\n        -   A unique name, such as `Asset Lookup`.\n        -   The table name: **Asset \\[alm\\_asset\\]**\n        -   In the Condition builder, select **Assigned to**, and then dot-walk to **Input Variables &gt; User**. Select **and** to include **State &gt; is &gt; In maintenance**.\n\n            The asset state will tie into the notification you send the user for this asset refresh.\n\n            \\[Omitted image \"crawl-ex-lookup-condition.png\"\\] Alt text: Filter assets in the Assign Condition builder using Assigned to is the current user, and the State is In maintenance.\n\n9.  Ask the user if they still have the asset.\n\n    1.  From the Components area, drag a Boolean input node onto the canvas.\n\n        The Boolean node automatically asks if you want to add a Decision utility with two paths. Select **Yes**. A Decision node appears in the flow with values of **true** and **false**. Both are already mapped to the Boolean node.\n\n    2.  Add a user prompt.\n\n        Use dot-walking to refer to the asset found by the Asset Lookup node.\n\n        \\[Omitted image \"crawl-ex-boolean-dotwalking.png\"\\] Alt text: Write a prompt, such as \"Do you still have this device?\" Then dot-walk to Input Variables &gt; Asset Lookup &gt; Display name.\n\n10. If the user still has the asset \\(the Boolean response is **true**\\), we want to search for it in the catalog.\n\n    1.  From the Components area, drag the Topic Block utility onto the Asset Check **true** branch on the canvas.\n\n    2.  In the properties palette, select **Search Catalog Item** for the Topic block.\n\n    3.  Under Input mapping, use dot-walking to specify the **query\\_term** parameter from the Asset Lookup node \\(Input Variables &gt; Asset Lookup &gt; Display name\\).\n\n    The catalog search will provide these output variables by default, shown under Output mapping.\n\n    \\[Omitted image \"crawl-ex-search-output-vars.png\"\\] Alt text: Output mapping variables for Search Catalog Item are the catalog\\_item\\_id, item\\_type, and is\\_conversational.\n\n11. Request the upgraded item.\n\n    1.  From the Components area, drag the Topic Block utility onto the canvas beneath the Search Catalog Item topic block.\n\n    2.  In the properties palette, select **Request Catalog Item** for the Topic block.\n\n    3.  In the Input mapping area, use dot-walking to specify the **catalog\\_item\\_id** that the previous topic block returned.\n\n        \\[Omitted image \"crawl-ex-req-catalog-item.png\"\\] Alt text: For the catalog\\_item\\_id field, select the dot-walking icon and choose Input Variables &gt; Catalog\\_item\\_id.\n\n    This topic block returns output variables as well. The user will be able to select variables for their new device, as well. You can configure these variables in [Service Catalog](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/servicenow-platform/service-catalog.md).\n\n12. Ask the user to confirm their choice of device.\n\n    1.  From the Components area, drag the Card bot response node onto the canvas beneath the Request Catalog Item topic block.\n\n    2.  In the properties palette, specify the following information:\n\n        -   A unique name, such as `Device Request Record`.\n        -   Card type: **Record**\n        -   Populate this card by referencing: **Table**\n        -   Table name: **Requested Item \\[sc\\_req\\_item\\]**\n        -   In the Condition builder, add **Sys ID is Input Variables&gt;Record\\_id**.\n\n            \\[Omitted image \"crawl-ex-sysid-is-record-id.png\"\\] Alt text: In the Assign Condition builder, select Sys ID, then is. For the third field, dot-walk to Input Variables &gt; Record\\_id.\n\n        -   In the **fields** area, select the record columns to display in the card to the user.\n\n            For example, specify **Number**, **Short description**, and **Estimated delivery**.\n\n13. Drag this flow's arrow to the End node to complete this part of the workflow.\n\n    \\[Omitted image \"crawl-ex-drag-arrow-end.png\"\\] Alt text: Drag the flow arrow that follows the Device Request Record node to the End node. This signals the end of the topic for this particular flow.\n\n14. Select **Save**.\n\n\n## What to do next\n\n[Create the Open Incident workflow in the Asset Refresh topic](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/create-example-asset-refresh-flow2.md)\n\n**Related topics**  \n\n\n[Maximizing code reuse with topic blocks](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/topic-blocks-overview.md)\n\n"}}