Understand Skill Connections
Skill connections enable an Alexa skill to use another skill to perform a specific task. A skill connection lets you offload common tasks to outside providers while retaining control over your customer experience. For more information about tasks, see Understand Tasks.
Skill connections improve the Alexa customer experience by allowing customers to move freely between skills without having to repeat information. For example, a customer who interacts with a recipe skill can say "print this" to print a recipe. The recipe skill can then use a skill connection to forward the request to a printing skill.
Requester skills and provider skills
A requester skill uses a skill connection to request a task. The task can be handled by Alexa or by a provider skill. Ultimately the task is performed by a skill that is selected by Alexa or by the requester.
A provider skill can implement one or more custom tasks, or it can implement predefined tasks created by Amazon. In the preceding example, the recipe skill is the requester skill, and the printing skill is the provider skill.
A skill can be both a requester and a provider. However, a skill can't request a task from itself.
Managed and direct skill connections
There are two types of skill connections: managed and direct. In both types, a requester skill requests a task from a provider skill.
In a managed skill connection, the requester skill requests an Amazon predefined task from Alexa, and Alexa determines whether the task is completed by Amazon or by a provider skill. Alexa selects the provider skill, which completes the task if it can, and returns control to the requester skill. If you have a provider skill, you can set your skill up to implement an Amazon task, but you cannot make your skill be the one Alexa selects to fulfill requests for that task.
In a direct skill connection, it is the requester, not Alexa, that chooses whether the Alexa service or a specific provider skill completes the task. The requester skill either:
- requests a custom task directly from a provider skill
- requests an Amazon predefined task from Alexa and specifies a provider skill for the task
For example, if you have a recipe skill, and it receives a request to print a recipe, it can either:
Use a managed skill connection to request a web printing skill without choosing a specific provider. In this case, Amazon chooses the provider skill based on the user's usage history.
Use a direct skill connection to request a custom printing task from a specific provider.
If a skill connection fails, for example, if a web printing skill provides a printing task, and that task isn't available, the skill connection ends, and the connection returns the customer to the original requester skill.
To summarize, with skill connections, a requester skill can:
- Connect to an Amazon predefined task and specify the task provider (direct connection)
- Connect to a custom task that's implemented by you or another skill developer (direct connection)
- Connect to an Amazon predefined task and let Alexa choose the best task provider for your customer (managed connection).