Today we will onboard a more complex voice app to Voicehub. If you are completely new to Voicehub then I would recommend that you check out our first screencast video we uploaded. There, we worked with a really simple skill just to give you a basic idea of how Voicehub works.
In this article we will onboard a recipe skill and create the first post of the skill. Let’s go!
1. Adding a voice app to Voicehub
As soon as you log in into your Voicehub Account, you will be greeted with a quick setup guide.
On the sidebar you can find the Apps section with a little Start Here tag.
Now we can start adding our voice app. We can choose a name which is used internally in Voicehub to identify our app. After that we can choose if our voice app is an Alexa Skill or a Google Action. With locales, we can add the different languages supported by our voice app to provide localized content to our users. By choosing a default locale we set one language as the main language.
You can find an overview of your voice apps on the Apps page.
2. Create a content model
In the second step we start by building out our content model. A model basically works as a template for different content types which come up repeatedly in our voice app. When Voicehub is integrated into the code of our voice app, these content models ensure consistency for the structure of your content and how it is accessed from the code. There is also a default model which is generated automatically as soon as you add a new voice app.
Using our model builder, we can start creating our recipe model.
In this model we create four different fields. Fields define what content types are available in a model. In our case a short introduction to the recipe (speech), information about the portion size (parameter), the ingredients (list) and a step-by-step process of how to cook the meal (list) will be the best fit. While working with Voicehub you notice that there is not just one way to model and create content. So if you are working on a recipe skill, your content model can be different from ours and that’s totally fine. Just find out what works best for you.
Now we move to the Content section and see how we can start using our new model.
3. Write a Post
When we now switch over to the Content section, you can see that content is structured by intents. Since we are currently working on an Alexa Skill, there are already some default intents which are required by Alexa. There is also a Welcome Post for our users. The post was created using the Speech-Repromt Model which was created by default when we set up the Alexa Skill earlier.
We can now start using our Recipe Model. First we need to create a new intent since our content should always be associated with an intent. It is important to keep in mind that we are not creating this intent in the logic part of our skill. The logic of this intent is created in the code. Imagine intents in Voicehub like folders where you save your content as posts.
After setting up the intent we can create our first post. Because we are working on a recipe skill we want to make sure that we ask the user how many portions of a dish he wants to cook. For this post we can use the Speech-Repromt Model because we have a very basic interaction.
Now we can go into our post and start inserting the question we want to ask a user before he starts with a dish. Therefore, we are going to switch into the Draft stage and start working on the American English locale of our skill. After we inserted our question, we click on Publish Changes to switch back to the live stage.
In the next step we are going to add our first recipe post. For that we are going to create a new post in the RecipeIntent, and we are going to use our Recipe Model. Let’s call it Vegan Fun Dish.
If we go into the Vegan Fun Dish post, we can find the fields from our model which we created earlier. We switch into the draft stage and start by adding a short introduction for our dish. In the second step we add the 3 ingredients we need to our ingredients_list. We need to remember that earlier we asked the user how many portions he wants to cook. We can now use this information to dynamically adapt the amount of an ingredient a user needs to use depending on how many portions he wants to make. To do that we add the portion_parameter by clicking on the purple button and to make it dynamic we add a function. This way, the speech will dynamically contain the right amount of ingredients for the portions the user asked for.
Now we just need to add the instructions on how to make the dish. We will use our steps_list for that and insert our content just like we did in the ingredients_list.
By clicking on Publish Changes our post will be live, and we are done with our first recipe in our recipe app. Now we can start adding more recipes and build out the capabilities of our app by adding new models and intents.
4. Integrate Voicehub into your Code
You can find the developer docs here. They contain detailed instructions on how to integrate Voicehub into your Skill or Action.
If you have any questions about the setup process you can leave a comment, post something in our Spectrum Channel or send us an email to firstname.lastname@example.org. We are happy to answer every question!