Purchase Step
The Purchase Step allows for the creation and activation of In-Skill Products which are digital purchases that the user can make. An In-Skill Product only covers digital products such as premium content, or an app subscription. In-Skill Products cannot be used for real-world services or goods.
For real-world goods or services, use an Amazon Pay integration.
Create an In-Skill Product
The Purchase Step requires an In-Skill Product to be linked to in order to be activated. If there are no active ISPs already, click on the "Create Product" button which will walk you through the process of creating an ISP.
Name & description
Enter a name and description for your ISP. Remember to keep the name short, relevant, and distinct to the specific product. These options will be visible to the Alexa consumer via their Alexa mobile app.
Pricing model
Choose one of 3 available pricing options for your ISP. Each option will have additional pricing configurations per option.
- One-time purchase - the ISP will only be available for purchase once
- Consumable - the ISP can be consumed an unlimited number of times and will charge per consumption
- Subscription - the ISP will charge the user on a recurring subscription basis
Availability
Choose your ISP's availability amongst the supported ISP regions. You can also set regional prices, although it is highly recommended to use the given prices.
Phrases
Choose the phrases users can use to access your ISP's when In-Skill.
Product icons
Choose your product's unique icons.
Details
Finalize your ISP's details:
- Keywords - used to describe the ISP within the Alexa Skill marketplace
- In-app description - describes the ISP within the Alexa mobile app card
- Privacy policy - your privacy policy that covers the ISP (can be your generic Skill privacy policy)
- Testing information - any notes you would like for the Alexa Skill certification team to see before testing your Skill
Activating an ISP
Alexa will take over the fulfillment process of the ISP once your Purchase Step has an active ISP selected. When the user reaches that Step, the ISP will take over to manage the fulfillment process.
Setting an upsell message
The upsell message is what the user first hears when they reach the Purchase step and are prompted to purchase ("upsell"). Ensure you follow the upsell message requirements outlined within Voiceflow to ensure successful Alexa Skill certification.
Allowing users to cancel ISPs
In order for your Alexa Skill with ISP to be certified, you are required to have an active ISP cancellation method. To enable ISP cancellation, you can use the "Cancel Purchase Step".
Reminder Step
The reminder block can be used to send both scheduled reminders and timed reminder to the user. You can add variables to both the trigger time and content of the reminder message.
Types of Permissions
There are two types of reminders you can set:
Timer ****- will set the reminder to occur at a set amount of time in the future from when the user has interacted with your Skill
Scheduled - will set the reminder to occur at a specific date and time
For both of these values, you can set them using a variable if you do want to introduce dynamic rules for the timing being set.
Reminder Content
Your reminder will consist of a Speak Step, which you will define in-line in the Reminder Step editor.
Granting Permissions
To send a user a reminder, they must grant your project permission to do so. In order to gain this permission. You must use a Permissions block, and request the ability to send the user reminders.
User Info Step
The User Info block is used to fetch data that the user has given your project permission to access. In order to use the User Info block effectively, you must first use the Permissions block to request access to the user's info. The Permissions block will send a card to the user's mobile phone where they can accept or decline the permissions request.
Permissions Available
Through this step, you can request many types of information from a user, including email, name, location and more. You can view the full list of permissions available here.
Mapping to a Variable
You will need to define a project variable to map the response to when a request is successful. You can add as many user info requests as you'd like to a single step.
Permissions Step
The Permissions block allows your project to request information from the user, in order to deliver a more personalized experience. When a user hits the permission block, a card is sent to the users mobile device. From there, the user can approve, decline, and manage the permissions your project can access.
Selecting Permissions
You can select from a list of user info to request permission to access, including email, name, address and more. You can view the full list of permissions available here.
Account Linking Step
Account linking enables your project to connect the user's identity with their identity in a different system. You can read more on how it works here.
Initiating Account Linking
Users can start account linking in two ways. First, from the skill detail card in the Alexa app while enabling the skill, and second, from a link account card in the Alexa app after making a request that requires authentication.
This will give you multiple opportunities to get users to opt-into linking their accounts.
Configuring Account Linking
To enable account linking, you will need to provide an Authorization URL, Access Token URL, Client ID and Client Secret. For more information on how that is configured, you can view Alexa's documentation here.
Alexa Directive
Whenever a user speaks to Alexa, it will send a request to us containing useful things such as the intent the user said. We have to send back a response with what Alexa should say back to the user. Within this response we can include directives which prompt Alexa to do additional things besides just talking. For more info on this, refer to the Alexa Documentation
Directive Functionality
The directive step will allow you to send customized directives for Alexa features that Voiceflow might not have a block for yet, or even emulate the behaviour of an existing block with more details. Any valid JSON will be included in the directives array in the response sent back to Alexa.
The directive steps often get used for experimental or beta Alexa features that Voiceflow hasn't created a block for yet. You will often find directive JSON in Amazon documentation or tutorials.
Google Directive
Whenever a user speaks to Google, it will send a request to us containing useful things such as the intent the user said. We have to send back a response with what the Google Assistant should say back to the user. Within this response we can include directives which prompt Google to do additional things besides just talking, like showing cards or even a carousel. For more info on this, refer to the Google Documentation.
What the Directive Step Does
The directive step will allow you to send customized directives for Google features that Voiceflow might not have a block for yet, or even emulate the behaviour of an existing block with more details. Any valid JSON will be included in the 'prompt' object in the response sent back to Google.
The directive step can be used for interesting Google Action features like the Interactive Canvas.
For a full list of everything possible with the Directive block, check out Google's documentation. Anywhere it provides a code snippet - go to 'JSON Builder' and look at the object inside the 'candidates' array. This provides the JSON we want to paste in and modify in the directive block. Variables can be used within a directive's JSON to pass in dynamic data.