Use the Skill Catalog, which you access by clicking Development > Skills in the side menu, to manage the life cycle of your skills. You can access most of the management tasks from a skill’s Options menu.
When the Show Only Latest switch is turned on in the Skill Catalog, only the most recently updated version of each skill appears. Because the version values are free form, the page uses the date last updated to determine which is the latest version.
Create from Scratch
You can create a skill by cloning a version of another skill or by importing one, or you can build one from scratch, as described here.
To create a skill from scratch, open the side menu, click Development > Skills to go to the Skill Catalog, and then click New Skill.
After you create the skill, it appears in the Skill Catalog in draft mode.
If you want to create a skill that is similar to an existing skill, or if you want to reuse the artifacts of an existing skill, you can create the skill by cloning.
To clone a version of a skill:
From the Skill Catalog, locate the version to clone from.
Click the Options icon, and select Clone.
Create by Import
You can create a skill by importing a version of a skill that was exported from another instance. The imported skill will be in draft mode, even if it was published in the source instance.
To import a version of a skill:
From the Skill Catalog, click Import Skill.
Upload the ZIP file that contains the exported skill.
- By default, Insights is disabled for imported skills. To activate the Insights reporting for the imported skill, first click Settings (), then choose Enable Insights.
Tip:If you want to export a version, make changes in the exported files, and then import it into the same instance, don’t forget to change the version. Otherwise, Digital Assistant won’t let you import it.
Create New Version
At some point, you might want to create another version of a skill, such as to add new features.
To create another version:
From the Skill Catalog, locate the version from which to create another version.
Click the Options icon, and select New Version.
Configure for Use In a Digital Assistant
To prepare a version of a skill to be used in a digital assistant, configure the following settings:
Invocation Name: This is the name with which the user can explicitly invoke the skill in the digital assistant.
Example Utterances: These help the Intent Engine identify when the user wants to invoke that skill. In the example utterances, it is best to also include the invocation name to improve matching user utterances with the skill.
The first few utterances also appear on the card for the skill that the digital assistant supplies by default for the welcome and help states.
Optionally, you can also specify which states in the dialog flow should be called for the following situations:
Start State: Applies when the intent engine determines that the user wants to start using that skill. This generally occurs when the user expresses an intent that is related to the skill.
If you don’t specify your own start state, the digital assistant invokes the first state (which is typically the
Welcome State: Applies when the user enters the invocation name without an accompanying intent.
If you don’t specify your own welcome state, the digital assistant prepares one that includes a prompt and a card showing the skill’s display name, one-sentence description, and a few of its sample utterances.
Help State: Applies when the intent engine determines that the user is asking for information about the skill.
If you don’t specify your own help state, the digital assistant prepares one that includes a prompt and a card showing the skill’s display name, one-sentence description, and a few of its sample utterances.
To access these settings:
Click to open the side menu, select Development > Skills, and open your skill.
In the left navigation for the skill, click and select the Digital Assistant tab.
When you’ve completed building a version, you can lock it down by publishing it. Publishing a version lets you to add it to your digital assistants. The only modification that you can make for a published skill is to change custom parameter values on the Configuration tab. If you want to make further modifications, you must create another version and work on that one.
To publish a version:
- If the skill has intents or Q&A, make sure it has been trained. You must train it before you can publish it.
From the Skill Catalog, locate the version that you want to publish.
Click the Options icon, and select Publish.
The skill version in the Skill Catalog now has a lock icon to show that it’s published.
The Skill Development Process
Create Intents—Start off by creating intents. Intents illustrate your use case by describing the various actions that your skill helps its users complete. If your skill enables users to perform various banking transactions, for example, then you could create intents like CheckBalance or TransferMoney. Intents not only describe what your skill can do, they are also the key to your skill’s intelligence: they enable it to recognize user input because each intent has a set of typical user statements known as utterances associated with it. While these phrases share the same meaning, they make your skill resilient because they’re also varied (for example, What’s my savings account balance? and How much is in my checking account?). See Intents.
Train the Skill—To enable your skill to reference intents when it parses the user input, you need to train it. Specifically, you need to train it with the intents and their utterances (collectively, the training data), so that it can resolve the user input to one of the intents. By training your skill, you leverage the language intelligence framework. Its algorithms enable your skill to not only recognize the sample phrases that belong to each intent, but similar phrases as well. See Intent Training and Testing.
Create Entities— In some cases, you may need to provide some context to enable your skill to complete a user request. While some user requests might resolve to the same intent (What’s my savings account balance? and How much is in my checking account? would both resolve to the CheckBalance intent, for example), they are nonetheless asking for different things. To clarify the request, you would add an entity. Using the banking skill example, an entity called AccountType, which defines values called checking and saving would enable the skill to parse the user request and respond appropriately. See Entities.
Create the Dialog Flow— Next, you need to give the skill the wherewithal to express its intelligence to its users by creating the dialog flow. The dialog flow describes how you skill reacts as different intents are resolved. It defines what your skill says to its users, how it prompts them for input, and how it returns data. Think of the dialog flow as a flow chart that’s been transposed to a simple markdown language. In Digital Assistant, this markdown language is a version of YAML called OBotML. See The Dialog Flow Definition.
Integrate Custom Components—At this point, your skill can recognize input, but it can’t respond to it. To put your skill’s intelligence to work, you need to add components. Components enable your skill to do its job. There are two types of components: the ones we provide that perform functions ranging from holding the intent that’s resolved from the user’s message to outputting text, and the ones that you create to perform tasks specific to a particular skill like checking an account balance. See Task 3: Configure a Component Service.
Test the Skill—Once you’ve started your dialog flow, you can chat with your skill to test it out.
(Optionally) Route to Channels for User Messaging and Other Capabilities—If your skill will not be added to a digital assistant, you'll need to add it to one or more channels. Users chat with your skill through various messaging platforms, proprietary messaging apps, and web pages. You can route one or more of these user messaging channels to your skill. It runs equally well on any of them, whether they’re text-only or support scrolling cards, UI elements, and images. In addition to these user-facing channels, there are other channels: one that links your skill to a customer-support system and another that routes notifications from an external application that prompts the skill to initiate a conversation.
- Review Insights Reports—After you've published your skill, you can review the Insights reports to find out if its customers are using it as intended. From high-level usage metrics and conversation trends to individual views of intents, their execution paths, and conversation transcripts, these reports give you different perspectives on how well your skill supports its customers, and where it prevents them from completing a task. These reports not only let you spot problem areas quickly, but they also suggest user input that can improve your skill's intent resolution. See Insights.