vania-janet/multiturn-rag-retrieval-data huggingface dataset:
For more information, see [Rules for creating custom entries](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-rules).
* Where can I find plans and pricing information?

IBM Cloud

The Text to Speech service offers multiple pricing plans. For more information about pricing, see the Text to Speech service in the [IBM Cloud Catalog](https://cloud.ibm.com/catalog/text-to-speech).



Watson Assistant



* FAQs about the new IBM Watson® Assistant experience



 What is the new IBM Watson® Assistant experience? 

The new Watson Assistant is an improved way to build, publish, and improve virtual assistants. In the new experience, you use actions to build conversations. Actions are a simple way for anyone to create assistants. For more information, see the [Getting Started guide](https://www.ibm.com/blogs/watson/2021/12/getting-started-with-the-new-watson-assistant-part-i-the-build-guide/) or the [documentation](https://cloud.ibm.com/docs/watson-assistant) for the new experience.





 Why can't I see the assistants that I made with classic Watson Assistant in the new experience? 

The new Watson Assistant is a clean slate in the same IBM Cloud instance as your classic experience. Assistants that you created in one experience don't appear in the other. However, you can switch back and forth between experiences without losing any work. For more information, see [Switching the experience](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-welcome-new-assistantwelcome-new-assistant-switch-experience).





 What happens when I switch between the classic and new Watson Assistant experiences? 

The assistants that you create in one experience don't transfer to the other. However, you can switch experiences, return to your work, and create or use assistants. You don't lose anything by switching. Changing experiences doesn't affect other users in the same instance.
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Connecting customers with support 

No matter where you deploy your assistant, give your customers a way to get additional support when they need it.

Build your dialog to recognize when customers need help that cannot be provided by the assistant. Add logic that can connect your customers to whatever type of professional support you offer. Your solutions might include:



* A toll-free phone number to a call center that is manned by human agents
* An online support ticket form that customers fill out and submit
* An integration with Intercom
* A service desk solution that is configured to work with your web chat integration or a custom client application



Design your dialog to recognize customer requests for help and address them. Add an intent that understands the customer request, and then add a dialog branch that handles the request.

For example, you might add an intent and use it in a dialog node like the intents that are shown in the table below.



Alternative support request intent examples

 Intent name Intent user example 1 Intent user example 2 Response from dialog node that conditions on intent 

 call_support How do I reach support? What's your toll-free number? Call 1-800-555-0123 to reach a call center agent at any time. 
 support_ticket How do I get help? Who can help me with an issue I'm having? Go to [Support Center](https://example.com/support) and open a support ticket. 



If you deploy your assistant with an integration that has built-in service desk support, you can use the special Connect to human agent response type in your dialog response to initiate a transfer.



 Adding chat transfer support 

Design your dialog so that it can transfer customers to human agents. Consider adding support for initiating a transfer in the following scenarios:



* Any time a user asks to speak to a person.

Create an intent that can recognize when a customer asks to speak to someone. After defining the intent, you can add a root-level dialog node that conditions on the intent.
* For more information about using IAM tokens with Watson services, see [Authenticating to Watson services](https://cloud.ibm.com/docs/watson?topic=watson-iam).
* For examples that use IAM authentication, see the [API & SDK reference](https://cloud.ibm.com/apidocs/speech-to-text).







 9 October 2018 

Important updates to pricing charges for speech recognition requests
: As of 1 October 2018, you are now charged for all audio that you pass to the service for speech recognition. The first one thousand minutes of audio that you send each month are no longer free. For more information about the pricing plans for the service, see the Speech to Text service in the [IBM Cloud Catalog](https://cloud.ibm.com/catalog/services/speech-to-text).

The Content-Type header now optional for most speech recognition requests
: The Content-Type header is now optional for most speech recognition requests. The service now automatically detects the audio format (MIME type) of most audio. You must continue to specify the content type for the following formats:



* audio/basic
* audio/l16
* audio/mulaw



Where indicated, the content type that you specify for these formats must include the sampling rate and can optionally include the number of channels and the endianness of the audio. For all other audio formats, you can omit the content type or specify a content type of application/octet-stream to have the service auto-detect the format.

When you use the curl command to make a speech recognition request with the HTTP interface, you must specify the audio format with the Content-Type header, specify "Content-Type: application/octet-stream", or specify "Content-Type:". If you omit the header entirely, curl uses a default value of application/x-www-form-urlencoded. Most of the examples in this documentation continue to specify the format for speech recognition requests regardless of whether it's required.

This change applies to the following methods:



* /v1/recognize for WebSocket requests.
* The customer repeatedly asks a question or makes a request that the assistant cannot match to any defined action.
* The customer repeatedly gives an invalid answer to a question.
* The customer explicitly asks to speak to a human.



Fallback escalations use the Fallback action, which is a built-in system action that is automatically triggered in any of these fallback scenarios. By default, the Fallback action handles these error conditions by initiating a transfer to a live agent.

For more information about this automatic error handling and the Fallback action, see [Handling errors in the conversation](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-handle-errors).





 Testing the transfer in the Preview pane 

After you have configured an action to connect to a live agent, you can preview it by clicking Preview. Note that in the action Preview pane, no actual transfer takes place, but the Connect to an agent message confirms that it was correctly triggered.

![Connect to agent in preview pane](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/connect-to-agent-preview.png)

If you want to test the actual transfer using a working service desk integration, you can do so using the assistant Preview page. For more information, see [Previewing and sharing your assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-preview-share).
Select Phone, and then choose the phone you created in the Phone management section. Set yourself as available. The phone icon on the left should now be active.
19. Click + to start a new call. Specify the number you assigned to Watson Assistant and then click Dial. You should now hear your assistant speak.



If you encounter any errors, click Performance -> Interactions and view the PCAP file to read the diagnostics.





 Transferring to a live agent 

Now that your Genesys Cloud environment can connect to Watson Assistant, you can set up the ability for your assistant to transfer calls back to your live agents. To do so, follow these steps:



1. In the Genesys Cloud console, go to DID Numbers -> DID Ranges and create a new range. Specify the following information:



* In the DID Start and DID End fields, specify a phone number. (Once again, you do not need to use a real phone number; you can just make up an identifier for your Genesys environment, such as 1-888-888-1234.)



![Genesys create range](https://cloud.ibm.com/docs-content/v1/content/ca9232b3702768f24bb897f48f10778fcda28718/watson-assistant/images/phone-genesys-create-range.png)



* In the Service Provider field, type a descriptive name (for example, Watson).



2. If you have not already set up a queue to enable callers to wait for available agents, follow these steps to create a simple one now:



1. Click Admin.
2. Under Contact Center, click Queues.
3. Create a new queue and give it a descriptive name.
4. Add yourself as a member.
5. Click Save.



3. Create a simple call flow. Your business might already have something more complex for routing.



1. Click Admin.
2. Click Architect.
3. In the Flows: Inbound Call section, click + to create a new flow.
Watson Assistant has classifier models that are designed specifically to support conversations in the following languages:



Table 1. Supported languages

 Language Language code 

 Arabic ar 
 Chinese (Simplified) zh-cn 
 Chinese (Traditional) zh-tw 
 Czech cs 
 Dutch nl 
 English en-us 
 French fr 
 German de 
 Italian it 
 Japanese ja 
 Korean ko 
 Portuguese (Brazilian) pt-br 
 Spanish es 
 Universal* xx 
 *If you want to support conversations in a language for which Watson Assistant does not have a dedicated model, such as Russian, use Universal. 







 Feature support details 

The level of language and feature support is indicated by codes:



* GA: The feature is generally available and supported for this language. Features might continue to be updated even after they are generally available.
* Beta: The feature is supported only as a Beta release and is still undergoing testing before it is made generally available in this language.
* NA: A feature is not available in this language.





 Content support details 



Table 2. Content support details

 Language Actions Dialog Search 

 English (en) GA GA GA 
 Arabic (ar) GA GA GA 
 Chinese (Simplified) (zh-cn) GA GA GA 
 Chinese (Traditional) (zh-tw) GA GA GA 
 Czech (cs) GA GA GA 
 Dutch (nl) GA GA GA 
 French (fr) GA GA GA 
 German (de) GA GA GA 
 Italian (it) GA GA GA 
 Japanese (ja) GA GA GA 
 Korean (ko) GA GA GA 
 Portuguese (Brazilian) (pt-br) GA GA GA 
 Spanish (es) GA GA GA 
 Universal (xx) GA GA GA 



The Watson Assistant service supports multiple languages as noted, but the user interface itself (such as descriptions and labels) is in English. All supported languages can be input and trained through the English interface.

GB18030 compliance: GB18030 is a Chinese standard that specifies an extended code page for use in the Chinese market.
* In the Person field, select yourself.



17. In the Watson Assistant user interface, create a new phone integration. Specify the following information:



* When prompted, select Use an existing phone number with an external provider.
* Specify the phone number you assigned in the Genesys Number Plans setting. (Remember, this is not necessarily a real phone number; it is just the identifier you assigned.)
* Complete the phone integration setup process. (For more information, see [Integrating with phone](https://cloud.ibm.com/docs/assistant?topic=assistant-deploy-phonedeploy-phone).)
* After the phone integration is setup, go to the SIP trunk tab and uncheck the Don't place callers on hold while transferring to a live agent option.



18. In the Genesys Cloud console, click the circle in the upper left corner. Select Phone, and then choose the phone you created in the Phone management section. Set yourself as available. The phone icon on the left should now be active.
19. Click + to start a new call. Specify the number you assigned to Watson Assistant and then click Dial. You should now hear your assistant speak.!



If you encounter any errors, click Performance -> Interactions and view the PCAP file to read the diagnostics.





 Transferring to an agent 

Now that your Genesys Cloud environment can connect to Watson Assistant, you can set up the ability for your assistant to transfer calls back to your human agents. To do so, follow these steps:



1. In the Genesys Cloud console, go to DID Numbers -> DID Ranges and create a new range. Specify the following information:



* In the DID Start and DID End fields, specify a phone number. (Once again, you do not need to use a real phone number; you can just make up an identifier for your Genesys environment, such as 1-888-888-1234.)



!
For information about the available response types, see [Response types](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-assistant-responses-jsonassistant-responses-json-response-types).





 Targeting specific integrations 

If you plan to deploy your assistant to multiple channels, you might want to send different responses to different integrations based on the capabilities of each channel. The channels property of the generic response object provides a way to do this.

This mechanism is useful if your conversation flow does not change based on the integration in use, and if you cannot know in advance what integration the response is sent to at run time. By using channels, you can define a single step that supports all integrations, while still customizing the output for each channel. For example, you might want to customize the text formatting, or even send different response types, based on what the channel supports.

Using channels is useful along with the channel_transfer response type. Because the message output is processed both by the channel that initiates the transfer and by the target channel, you can use channels to define responses that are processed by one or the other. (For more information, and an example, see [Channel transfer](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-assistant-responses-jsonassistant-responses-json-channel-transfer).)

To specify the integrations for which a response is intended, include the optional channels array as part of the response object. All response types support the channels array. This array contains one or more objects by using the following syntax:

{
"channel": "<channel_name>"
}

The value of <channel_name> can be any of the following strings:



* chat: Web chat
* voice_telephony: Phone
* text_messaging: SMS
* slack: Slack
* facebook: Facebook Messenger
* whatsapp: WhatsApp



The following example shows step output that contains two responses: one intended for the web chat integration and one intended for the Slack and Facebook integrations.

{
"generic": [
{
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Requesting client actions ![BETA](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/beta.png) 

Add a client action to your dialog node to request that a client-side process run and return a result to the dialog.

If your assistant is integrated with a custom client using the API, you can use client actions to invoke functions that the client application completes. A client action defines a request for a client-side process, in a standardized format that your external client application can understand. Your external client application must use the provided information to carry out the requested action, which can be a local programmatic function, a call to an external service, or any other action the client can perform. The client then returns the result from the action to the dialog, which can process it further, display it to the user, or use it as a condition to determine subsequent flow.

Unlike other action types, a client action does not make a direct call itself. Instead, it simply makes a request for the client application to do something, in the form of an action object that is included in a response from the dialog (along with any output text). This object includes a name identifying the requested action, along with any required parameters and the name of a context variable where the result should be stored. It is the responsibility of the client application to carry out the requested action, store the result in the context, and send it back to the dialog with the next message.

You might call a client application to do the following types of things:



* Validate information that you collected from the user.
* Do calculations or string manipulations on user input that are too complex for supported SpEL expression methods to handle.
* Get data from another application or service.



The following diagram illustrates how client actions work, using the example of an action to get a weather forecast.

!
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Creating intents 

Intents are purposes or goals that are expressed in a customer's input, such as answering a question or processing a bill payment. By recognizing the intent expressed in a customer's input, the Watson Assistant service can choose the correct dialog flow for responding to it.

To learn more about creating intents, watch the following 2 1/2-minute video.



 Intent creation overview 



* Plan the intents for your application.

Consider what your customers might want to do, and what you want your application to be able to handle on their behalf. For example, you might want your application to help your customers make a purchase. If so, you can add a buy_something intent. (The that is added as a prefix to the intent name helps to clearly identify it as an intent.)
* Teach Watson about your intents.

After you decide which business requests that you want your application to handle for your customers, you must teach Watson about them. For each business goal (such as buy_something), you must provide at least 5 examples of utterances that your customers typically use to indicate their goal. For example, I want to make a purchase.

Ideally, find real-world user utterance examples that you can extract from existing business processes. The user examples should be tailored to your specific business. For example, if you are an insurance company, a user example might look more like this, I want to buy a new XYZ insurance plan.

The examples that you provide are used by your assistant to build a machine learning model that can recognize the same and similar types of utterances and map them to the appropriate intent.



Start with a few intents, and test them as you iteratively expand the scope of the application.

!
This documentation is for the classic Watson Assistant experience. To see the documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 Getting started with a dialog skill 

In this short tutorial, we help you use a dialog skill to build your first conversation.

A dialog skill uses Watson natural language processing and machine learning technologies to understand user questions and requests, and respond to them with answers that are authored by you.



 Step 1: Create an assistant 

An assistant is a cognitive bot to which you add skills that enable it to interact with your customers in useful ways.



1. Click the Assistants icon ![Assistants menu icon](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/nav-ass-icon.png), and then click Create assistant.

![Create assistant button on the Assistants page.](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/gs-create-assistant.png)
2. Name the assistant My first assistant.

![Finish creating the new assistant](https://cloud.ibm.com/docs-content/v1/content/417db917d18067d9dcc4cf2612564a9a87c3ddc8/assistant/images/gs-create-assistant-done.png)
3. Click Create assistant.







 Step 2: Create a dialog skill 

A dialog skill is a container for the artifacts that define the flow of a conversation that your assistant can have with your customers.



1. Click Add an actions or dialog skill.

!
This documentation for the classic Watson Assistant experience has moved. For the most up-to-date version, see [FAQs for IBM Watson® Assistant](https://cloud.ibm.com/docs/watson-assistant?topic=watson-assistant-watson-assistant-faqs). To see all documentation for the new Watson Assistant, please go [here](https://cloud.ibm.com/docs/watson-assistant).



 FAQ 

Find answers to frequently-asked questions and quick fixes for common problems.



 What's a... 



 Term Definition 

 Action An action that you add to an actions skill represents a discrete task or question that your assistant is designed to help customers with. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-actions-overviewactions-overview-actions). 
 Assistant Container for your skills. You add skills to an assistant, and then deploy the assistant when you are ready to start helping your customers. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-assistants). 
 Condition Logic that is defined in the If assistant recognizes section of a dialog node that determines whether the node is processed. The dialog node conditions is equivalent to an If statement in If-Then-Else programming logic. 
 Content catalog A set of prebuilt intents that are categorized by subject, such as customer care. You can add these intents to your skill and start using them immediately. Or you can edit them to complement other intents that you create. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-catalog). 
 Context variable A variable that you can use to collect information during a conversation, and reference it later in the same conversation. For example, you might want to ask for the customer's name and then address the person by name later on. A context variable is used by the dialog skill. [Learn more](https://cloud.ibm.com/docs/assistant?topic=assistant-dialog-runtime-contextdialog-runtime-context-variables).