vania-janet/multiturn-rag-retrieval-data huggingface dataset:
For more information, see [Automatic retraining of old skills and workspaces](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-auto-retrain).





 19 August 2021 

Actions preview now includes debug mode and variable values
: When previewing your actions, you can use debug mode and variable values to ensure your assistant is working the way you expect.

Debug mode allows you to go to the corresponding step by clicking on a step locator next to each message. It shows you the confidence score of top three possible action when the input triggers an action. You can also follow the step in the action editor along with the conversation flow.

Variable values shows you a list of the variables and their values of current action and the session variables. You can check and edit variables during the conversation flow.





 17 August 2021 

New service desk support reference implementation
: You can use the reference implementation details to integrate the web chat with the Oracle B2C Service service desk. For more information, see [Adding service desk support](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-web-chatdeploy-web-chat-haa).





 29 July 2021 

Salesforce and Zendesk deployment changes
: The Salesforce and Zendesk integrations have been updated to use the [new chat history widget](https://cloud.ibm.com/docs/assistant?topic=assistant-release-notes-chat4.5.0). The updated deployment process applies to all new deployments, including any redeployments of existing Salesforce and Zendesk connections. However, existing deployments are not affected and do not need to be modified or redeployed at this time.

Fallback value for session variables
: In action skills, you can now set a fallback value for session variables. This feature lets you to define a value for a session variable if a user-defined value isn't found.





 16 July 2021 

Logging API changes
: The internal storage and processing of logs has changed. Some undocumented fields or filters might no longer be available.
In addition to the web chat and phone integrations, Watson Assistant provides integrations you can use to deploy your assistant to numerous other channels:



* [Facebook Messenger](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-facebook)
* [Intercom](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-intercom)
* [Slack](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-slack)
* [SMS with Twilio](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-sms)
* [WhatsApp](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-whatsapp)
* A [custom client application](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-custom-app)
The results property has been removed and replaced with two new properties:



* primary_results property includes the search results that should be displayed in the initial response to a user query.
* additional_results property includes search results that can be displayed if the user wants to see more.



The search skill configuration determines how many search results are included in the primary_results and additional_results properties.

Search skill improvements
: The following improvements were made to the search skill:



* Control the number of search results: You can now customize the number of search results that are shown in a response from the search skill. For more information, see [Configure the search](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-search-addskill-search-add-configure).
* FAQ extraction is available for web crawl data collections: When you create a web crawl data collection type, you can now enable the FAQ extraction beta feature. FAQ extraction allows the Discovery service to identify question and answer pairs that it finds as it crawls the website. For more information, see [Create a data collection](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-search-addskill-search-add-create-discovery-collection).







 16 September 2020 

Search skill refinement change
: The search refinement beta feature that was added in [June](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-watson-assistant-release-notes24jun2020) now is disabled by default. Enable the feature to refine the search results that are returned from the Discovery service. For more information, see [Configure the search](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-search-addskill-search-add-configure).





 25 August 2020 

Give the web chat integration a try!
: You can now use the web chat integration with a Lite plan. Previously, the web chat was available to Plus or higher plans only.
Building a custom extension 

If you need to integrate your assistant with an external service that has a REST API, you can build a custom extension by importing an OpenAPI document.

After you create a custom extension, you can connect it to an assistant as an integration. In your actions, you can then define steps that interact with the external service by calling the extension.

The [Watson Assistant extension starter kit](https://github.com/watson-developer-cloud/assistant-toolkit/tree/master/integrations/extensions) repo on GitHub provides files and [Advanced Usage tips](https://github.com/watson-developer-cloud/assistant-toolkit/blob/master/integrations/extensions/docs/ADVANCED_USAGE.md) that you can use to quickly build a working extension. Each starter kit includes a tested OpenAPI definition that you can use to create an extension that accesses a third-party API, along with a downloadable JSON file you can import to create an assistant that accesses the extension.



 Overview 

OpenAPI (formerly known as Swagger) is an open standard for describing and documenting REST APIs. An OpenAPI document defines the resources and operations that are supported by an API, including request parameters and response data, along with details such as server URLs and authentication methods.

An OpenAPI document describes a REST API in terms of paths and operations. A path identifies a particular resource that can be accessed by using the API (for example, a hotel reservation or a customer record). An operation defines a particular action that can be performed on that resource (such as creating, retrieving, updating, or deleting it). The OpenAPI document specifies all of the details for each operation, including the HTTP method that is used, request parameters, the data included in the request body, and the structure of the response body.

For more information about the OpenAPI specification, see [OpenAPI Specification](https://swagger.io/specification/).

When you create a custom extension, you import an OpenAPI document that describes the REST API of an external service.
Give someone full access to only one skill or assistant in an instance Viewer, Reader Reader Manager 



N/A stands for no assignment, meaning no role of the type is assigned.





 Resource-level role impact on available actions 

The Watson Assistant user interface and API comply with the access roles that are defined for a service instance. When someone logs in to the user interface, it adjusts to show only what the current user can access, and it disables functions that the user does not have permissions to do. (For example, a person who is assigned to the Reader role for a dialog skill cannot create or edit entities, intents, or dialog nodes in the skill because the Create {resource} and Edit functions are disabled.) Similarly, the API allows access only to resources and methods that are permitted for the role that is associated with the specified API key.

If you cannot access the API Details page for a skill or assistant, you might not have the access that is required to use the instance-level API credentials. You can use a personal API key instead. For more information, see [Getting API information](https://cloud.ibm.com/docs/assistant?topic=assistant-assistant-settingsassistant-settings-api-details).

The following table shows the UI and API actions that can be performed by different resource-level service roles.



Table 5. Action privileges per service role
This table has row and column headers. The row headers identify the user interface or API actions. The column headers identify the different resource-level roles. To understand which roles can do an action, go to the row that describes the action, and find the columns for the role you are interested in.

 Action Reader Writer Manager 

 Open and view an assistant or skill ![checkmark icon](https://cloud.ibm.com/docs-content/v1/content/icons/checkmark-icon.svg) ![checkmark icon](https://cloud.ibm.com/docs-content/v1/content/icons/checkmark-icon.svg) !
If you share the assistant with a colleague, they are able to see the assistant with any customizations that you made on the Preview page.





 10 February 2022 

Links in assistant responses can be configured to open in a new tab
: When you build an action, your assistant responses can include links. If you're using web chat, you can now control whether the link opens in a new tab. To enable a link to open in a new tab, select Open link in new tab from the Insert link configuration window. For more information, see [Adding assistant responses](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-respond).





 9 February 2022 

All instances now default to new experience
: All new instances of Watson Assistant now direct users to the new product experience by default.

Watson Assistant has been completely overhauled to simplify the end-to-end process of building and deploying a virtual assistant, reducing time to launch and enabling nontechnical authors to create virtual assistants without involving developers. For more information about the new Watson Assistant, and instructions for switching between the new and old experiences, see [Welcome to the new Watson Assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-welcome-new-assistant).

If you would like to send us feedback on the new experience, please use [this form](https://form.asana.com/?k=vvRdQAmGMFAeEGRryhTA2w&d=8612789739828).





 3 February 2022 

Customize the Preview page background
: You can now change the background of the Preview page to one of your organization's web pages so you can preview and test your assistant from a customer's perspective. For more information, see [Previewing and sharing your assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-preview-share).

Add a type to session variables
: When you create a session variable, you can now assign a type to the variable.
Overview: Customizing and developing 

The Watson Assistant user interface makes it easy to build an assistant and deploy it to your customers without writing any code. For advanced users and developers, there are powerful ways you can further customize and extend the capabilities of your assistant.

A deployed assistant includes numerous components that work together to deliver the help your customers need over the channels they use.

![Watson Assistant architecture diagram](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/arch-detail.png)



* Customers interact with the assistant using a channel such as the web chat or phone integration.
* Based on natural language understanding, the assistant makes a decision about how to route the customer's request to the appropriate resolution mechanism, which might be an action or a search of existing content.
* The assistant might also need to communicate with external services or hand off the conversation to a human agent.



There are multiple points at which a developer can customize and extend how the assistant behaves, or how it interacts with external services. These customization points include the following:



* Customizing actions: By writing expressions and editing JSON data, you can extensively customize how an action evaluates step conditions, how it stores data, how it responds to customer input, and how it interacts with channels. (More information coming soon.)
* [Web chat development overview](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-web-chat-develop): You can use the web chat API to extensively customize the appearance and behavior of the web chat.
* Customizing the phone integration: You can use commands and context variables to extensively configure how your assistant interacts with users using the phone integration. (More information coming soon.)
* Customizing the SMS integration: You can use commands and context variables to customize how your assistant interacts with users using text messages. (More information coming soon.)
Planning your assistant 

Before you start to build an assistant, it’s important to think about your overall goals and plan how you're going to start.

Your assistant can use different resolution methods to help your customers with their requests. Customers access the assistant through channels that you choose and configure. The following diagram shows the structure of an assistant after you build it:

![Diagram of a simple assistant](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/plan-assistant-diagram.png)

Consider these planning steps and make key decisions up front to keep you on track as you build.



 1. Select an initial channel 

Before you decide which specific topics to build into your assistant, you must first decide where to deploy your assistant so that customers can easily find it. For example, you can embed the assistant in your company website or add it to a messaging platform such as Facebook, Slack, or WhatsApp. The primary channels that you can use to communicate with your customers are your website and the phone.

If you choose to use [web chat](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-web-chat) to communicate with customers on your website, decide on which of your web pages you want the assistant to appear. To start, you might identify the pages where your customers most frequently ask questions from your customer service team.

If you have an existing interactive voice response (IVR) system with a branching structure (“press 1 for billing, press 2 for payments”), you might choose the [phone integration](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-phone) as your initial channel. You can integrate Watson Assistant with your existing system to automate the IVR experience so customers can talk with your assistant over the phone.

Understanding where you will deploy the assistant before you begin can help you author the right types of answers for a given channel or platform.
For more information about action incompletion, see [Reasons for incompletion](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-analytics-action-completionincomplete-reasons).

Managing operations in extensions
: When you add a custom extension to an assistant, you can now choose which operations and response properties will be available to actions. For more information, see [Adding an extension to your assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-add-custom-extension).





 21 April 2022 

Ability to duplicate a step
: You can now duplicate a step so you don't have to re-create variable settings and customizations. Duplicating a step is helpful when you need to add a step similar to a previous step, but with minor modifications. For more information about how to duplicate a step, see [Duplicating a step](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-build-actions-overviewbuild-actions-overview-duplicate-step).

Markdown supported in action editor
: The action editor now supports basic Markdown syntax. As you type, the action editor renders the Markdown so you can see the content as your customers will when they interact with the assistant.





 5 April 2022 

Dialog feature available
: The dialog feature is available. If you have a dialog-based assistant that was built using the classic Watson Assistant, you can now migrate your dialog skill to the new Watson Assistant experience. For more information, see [Migrating to the new experience](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-migrate-overview).





 28 March 2022 

New service desk support reference implementation
: You can use the reference implementation details to integrate the web chat with the Kustomer service desk. For more information, see [Adding service desk support](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-deploy-web-chatdeploy-web-chat-haa).
The built-in synchronization capabilities mean that your assistant can share the most up-to-date information available. Use the integrations that are provided with Watson Assistant to deploy an assistant that connects to this project to various platforms, including your company website, in minutes.

The documents that you add to this type of project are not enriched automatically.

If you need to perform more complex searches from your virtual assistant, you might want to create a Document Retrieval project instead of Conversational Search project. For more information, see [Choosing the right project type for a chatbot](https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-chat-choose-project).

IBM Cloud

Another feature to consider enabling is the Emphasize the answer feature. When enabled, the answers that are returned to customers who interact with the assistant show the exact answer highlighted in bold font within the search response. For more information about how the exact answer is determined, see [Answer finding](https://cloud.ibm.com/docs/discovery-data?topic=discovery-data-query-parametersanswer-finding).

For more information about building a Watson Assistant search skill, see the appropriate documentation for your deployment:



IBM Cloud Pak for Data

[Adding a search integration](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-search-add).
IBM Cloud

[Embedding existing help content](https://cloud.ibm.com/docs/assistant?topic=assistant-skill-search-add)

From the classic Watson Assistant experience, see [Creating a search skill](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-skill-search-add).







 Content Mining 

Use this project type to discover hidden insights, trends, and relationships in your data.

Only users of installed deployments (IBM Cloud Pak for Data) or Premium or Enterprise plan managed deployments can create this type of project.

This project type is especially useful for analyzing structured data, such as data that you add by uploading a CSV file or by connecting to a database data source.
(https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/follow-up.png)

Using slots produces a more natural dialog flow between the user and your assistant, and is easier for you to manage than trying to collect the information by using many separate nodes.





 Adding slots 



1. Identify the units of information that you want to collect. For example, to order a pizza for someone, you might want to collect the following information:



* Delivery time
* Size



2. If you have not started to create a dialog, follow the instructions in [Creating a dialog](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-dialog-build) to create one.
3. From the dialog node edit view, click Customize, and then click the toggle next to Slots to turn it On.

For more information about the Prompt for everything checkbox, see [Asking for everything at once](https://cloud.ibm.com/docs/assistant-data?topic=assistant-data-dialog-slotsdialog-slots-prompt-for-everything).
4. Add a slot for each unit of required information. For each slot, specify these details:



* Check for: Identify the type of information you want to extract from the user's response to the slot prompt. In most cases, you check for entity values. In fact, the condition builder that is displayed suggests entities that you can check for. However, you can also check for an intent; just type the intent name into the field. You can use AND and OR operators here to define more complex conditions.

The Check for value is first used as a condition, but then becomes the value of the context variable that you name in the Save as field. It specifies both what to check for and what to save. If you want to change how the value is saved, then add the expression that reformats the value to the Check for field.
Assistant, Environment, or Skill ID Enter the ID value for the resource. Use the Assistant IDs and API details section in Assistant settings to get the ID values for your assistant, environments, action skill, or dialog skill. 
 Resource Type If you enter an ID value, choose Assistant ID, Environment ID, or Skill ID to identify the ID type 
 Region Choose a specific region (for example, Dallas or London) 
 Resource Group Enter or choose a resource group that you created 



Zoom

![Resources](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/access-resources.png)

Resources
6. In Roles and actions, select the [service role](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-access-controlaccess-control-service-roles) that you want the user to have. Service access controls what a person can do in Watson Assistant. Next, select the [platform role](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-access-controlaccess-control-platform-roles) that you want the user to have. Platform access controls a person's ability to access a service instance in IBM Cloud. Then, click Review.

Zoom

![Roles and actions](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/access-roles.png)

Roles and actions
7. Click Add to add the access policy.

Zoom

![Platform and service access](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/access-add.png)
If the custom certificate is not signed by a well-known certificate authority (CA), the search skill does not work as expected. You might also see errors in the Try out section of the search skill.



 Validate the issue 

First, check the logs of the search skill pods to confirm whether this issue applies to you.



1. Run the following command to list the search skill pods:

oc get pods -l component=skill-search
2. Run the following command to check the logs for the following exception:

oc logs -l component=skill-search | grep "IBMCertPathBuilderException"

The error looks similar to the following example:

{"level":"ERROR","logger":"wa-skills","message":"Search skill exception","exception":[ ! ! ! ! ! ! ! ! ! {"message":"com.ibm.jsse2.util.h: PKIX path building failed: com.ibm.security.cert.IBMCertPathBuilderException: unable to find valid certification path to requested target","name":"SSLHandshakeException"

If you see this error, continue to follow the steps to apply the fix.
<-- </ol> --><-- </section "id="section-validate-the-issue" "> --><-- <section "id="section-apply-the-fix" "> --> Apply the fix To fix the search skill, you inject the CA that signed your TLS certificate into the Java truststore that is used by the search skill. The search skill pods are then able to validate your certificate and communicate with the Watson Discovery service.<-- <ol> -->1. First, get your certificate. You might have this certificate, but in these steps you can retrieve the certificate directly from the cluster.
a) Run the following command to check that the secret exists:

oc get secret external-tls-secret

b) Run the following command to retrieve the certificate chain from the secret: