Manage Skills in Alexa Smart Properties Core
The following sections contain information about building, managing, enabling, and disabling skills for
Alexa Smart Properties core.
Enable or disable skills for a unit
You can use the Skill Management API to enable or disable skills for a property's units. You can enable skills that are published in the Alexa Skills Store. In addition, you can use the Alexa Skills Kit to create and publish property-specific skills.
To enable a skill for a unit, call the enable a skill API.
To enable a skill for multiple units, call the enable a skill for multiple units API.
To disable a skill for a unit, call the disable a skill API.
After you've enabled a skill in a unit, your property's end users can use it on endpoints installed in the unit.
Use account linking and partitions in skill enablements
A skill enablement is a record that a skill is enabled for a unit. When you enable a skill, you can link a skill provider account to the skill for that enablement. For example, suppose a unit has smart light bulbs, and you (as a smart home skill provider) have a smart home skill that controls them. When you enable your skill for the unit, you can link your skill provider account to the skill in the API call. .
How to use delegated account linking
Delegated account linking creates an association between your skill provider account and your Amazon Business account. After you set it up, your account credentials are delegated to the skill enablement API calls you make for your skill, so that you don't need to provide account details in each call.
To set up delegated account linking
Log in to the Alexa Skills Store using your Amazon Business credentials. These credentials must be the same ones you used to register with Alexa Smart Properties core as a skill provider.
- In the Alexa Skills Store, search for your skill and enable it for your Amazon Business account. This links your skill provider account to the skill.
- In your app, enable a skill for a unit. You skill provider account is automatically linked to the skill enablement.
How to use partitions to limit the scope of a smart home skill
By using partitions, you can limit the scope of a smart home skill in a unit to just the smart devices installed in that unit. A partition is a logical grouping of Alexa resources, such as devices, endpoints, or skills. Alexa Smart Properties core, partitions often represent units or groups of units.
The partition name is a string containing a single partition name or a comma-separated list of partition names. A partition name is a single nonempty string that can contain alphanumeric characters and hyphens but not whitespace.
For Alexa skills that support partitions, you can include the
partitionName parameter in the skill enablement API call to specify which partitions in a property the skill is being enabled for. Using the
partitionName field allows you to partition your property into individual units, so that the skill can operate within the scope of that partition.
Specifying the same
partitionName in the skill enablement in a unit and in the smart home skill service for Alexa devices installed in that unit ensures that when the end user invokes a smart home skill from an Alexa device in this unit, the skill recognizes only the smart home devices in that unit. See the scope object documentation to understand how the partition appears in the payload.
To use partitions in skill enablements
- Set up delegated account linking to link your skill provider account with your Amazon Business account.
- Set up the smart devices for each unit using your skill provider service. In each call, pass the partition name for the unit.
- Enable your skill for each unit. In each call, pass the same
partitionNamefor the unit that you used when you set up the unit's smart devices in your skill provider service.
Build and publish a property skill
A property skill is a hidden skill that isn't available in the Alexa Skill Store. To enable a property skill, a user must have the role and have the skill ID for the skill.
Hidden skills are similar to public skills in many ways. Like public skills, hidden skills are developed using the Alexa Skills Kit. They can use account linking to map users to a backend system, and they must go through the same certification process as other custom skills.
You build a property skill as you would a public skill, except that after you publish the skill, you immediately mark it as hidden. You accomplish this by completing the following steps.
To build and publish a property skill
- Build your skill by using the ASK developer console. If you are new to skill development, see Getting Started with ASK.
- Contact your solution architect to enable Name-Free Skill Invocation for your skill.
- Submit your skill for certification following the steps in Alexa Skills Certification Requirements. After the certification review, you'll receive an email at the address associated with your Amazon developer account.
- After your skill is certified and published, your skill will be hidden by the Alexa certification team.
After you've hidden your property skill, your administrator users will need the skill ID to enable or disable it.
To get the skill ID for your property skill
- Open your skill in the developer console.
- Find the skill in the list and click View Skill ID below the skill name. Copy the ID from the popup.
Provide a unit-specific response to a skill request
Skill requests now include the unit ID associated with the endpoint that the end user is speaking to. Your skill can use the unit ID to provide a unit-specific response. For details, see the
unit field of the
System object in the Request and Response JSON Reference.
Use persistent endpoint IDs
To more easily identify the source of requests to your skill, you can enable persistent endpoint IDs. If your account is enabled and configured for this feature, requests to your skill contain the endpoint ID of the device that originated the skill request. This feature is tied to your developer account. That is, endpoint ID values stay the same if you access the IDs through the same developer account for which the feature is enabled.
To enable and use this feature, take the following steps.
To enable and use persistent endpoint IDs
- Ask your solutions architect on the Alexa team to add you to the allow list for this feature. Provide them your vendor ID (VID) and skill ID, which you can find by using the following methods:
- Enable Persistent Endpoint ID in the developer console as follows by using the following steps:
- Log in to the Alexa developer console and navigate to your skill.
- Select the Build tab.
- On the left, click TOOLS, and then click Permissions.
- Turn on Persistent Endpoint ID.
- Save the skill.
- When your skill receives a request, examine the
persistentEndpointIdfield in the
context.System.deviceobject of the request. For details, see System Object.