Amazon Predefined Task Reference
Your Alexa skill can request a predefined task from Amazon by using a managed skill connection or a direct skill connection. When your requester skill uses a managed skill connection, Amazon selects the provider skill that fulfills the task request. When your requester skill uses a direct skill connection, your skill specifies the provider for the task. For more information about skill connections, see Understand Skill Connections.
You can also create a provider skill that implements an Amazon predefined task.
The following list shows the current providers For Amazon predefined tasks:
- Print: Hewlett-Packard, Canon, Epson
- Book a table: OpenTable
- Book a ride: Uber
Supported skill connection tasks
Skill Connections support the following predefined Amazon tasks.
- AMAZON.PrintImage
- AMAZON.PrintPDF
- AMAZON.PrintWebPage
- AMAZON.ScheduleTaxiReservation
- AMAZON.ScheduleFoodEstablishmentReservation
Each task has a unique schema for its payload.
To provide a consistent user experience, each Amazon predefined task has its own voice design guidelines, which are included with the description of each task. These guidelines indicate the prompts used by the requester skill, the provider skill, and Alexa during the fulfillment of an Amazon predefined task request.
AMAZON.PrintImage
Enables your requester skill to request to send an image to a printing skill. You can use this task for printing photos, coloring pages, puzzles, origami templates, and so forth.
Parameters
Name | Required? | Type | Description |
---|---|---|---|
title |
Yes | String | Title of what is being printed. |
description |
No | String | Description of the file. |
url |
Yes | String | URL of the image. |
imageType |
Yes | Enum | Type of image. One of: JPG , JPEG . |
Example response with input
{
"type": "Connections.StartConnection",
"uri": "connection://AMAZON.PrintImage/1",
"input": {
"@type": "PrintImageRequest",
"@version": "1",
"title": "Flywheel Document",
"description": "Flywheel",
"imageType": "JPEG",
"url": "http://www.example.com/flywheel.jpeg"
}
}
Voice design guidelines
This example demonstrates an expected customer experience for the AMAZON.PrintImage
task.
Alexa (as determined by requester skill developer): Today's crossword puzzle is available!
Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}?
User: Sure.
Alexa (as determined by provider skill developer): Today's crossword puzzle is now printing.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
Customer has never used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
Customer has used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
When the session transitions from the provider skill back to the requester skill, Alexa renders a prompt to indicate this.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
When your skill surfaces a piece of content that the customer might like to print, your skill should return a response that includes the following items:
- A prompt that tells the customer that the content is available.
- A
Connections.StartConnection
directive with the relevant payload parameters.
AMAZON.PrintPDF
Enables your requester skill to request to send a PDF document to a printing skill. You can use this task for a broad range of things, including printing documents, coloring pages, puzzles, origami templates, and so forth.
Parameters
Name | Required? | Type | Description |
---|---|---|---|
title |
Yes | String | Title of what is being printed. |
description |
No | String | Description of the PDF file. |
url |
Yes | String | Location of the PDF file. |
Example response with input
{
"type": "Connections.StartConnection",
"uri": "connection://AMAZON.PrintPDF/1",
"input": {
"@type": "PrintPDFRequest",
"@version": "1",
"title": "title",
"description": "description",
"url": "http://www.example.com/flywheel.pdf"
}
}
Voice design guidelines
This example demonstrates an expected customer experience for the AMAZON.PrintPDF
task.
Alexa (as determined by requester skill developer): Today's crossword puzzle is available!
Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}?
User: Sure.
Alexa (as determined by provider skill developer): Today's crossword puzzle is now printing.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
Customer has never used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
Customer has used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
When the session transitions from the provider skill back to the requester skill, Alexa renders a prompt to indicate this.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
When your skill surfaces a piece of content that the customer might like to print, your skill should return a response that includes the following items:
- A prompt that tells the customer that the content is available.
- A
Connections.StartConnection
directive with the relevant payload parameters.
AMAZON.PrintWebPage
Enables your requester skill to request to send a web page to a printing skill. You can use this task for a broad range of things, including printing documents, coloring pages, puzzles, origami templates, and so forth.
Name | Required? | Type | Description |
---|---|---|---|
title |
Yes | String | Title of what is being printed. |
description |
No | String | Description of the web page. |
url |
Yes | String | Location of the web page. |
Example response with input
{
"type": "Connections.StartConnection",
"uri": "connection://AMAZON.PrintWebPage/1",
"input": {
"@type": "PrintWebPageRequest",
"@version": "1",
"title": "title",
"description": "description",
"url": "http://www.example.com/flywheel.html"
}
}
Voice design guidelines
This example demonstrates an expected customer experience for the AMAZON.PrintWebPage
task.
Alexa (as determined by requester skill developer): Today's crossword puzzle is available!
Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}?
User: Sure.
Alexa (as determined by provider skill developer): Today's crossword puzzle is now printing.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
Customer has never used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
Customer has used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
When the session transitions from the provider skill back to the requester skill, Alexa renders a prompt to indicate this.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
When your requester skill surfaces a piece of content that the customer might like to print, your skill should return a response that includes the following items:
- A prompt that tells the customer that the content is available.
- A
Connections.StartConnection
directive with the relevant payload parameters.
AMAZON.ScheduleTaxi
Reservation
Enables your requester skill to request to have the provider skill help the customer book a ride. This task enables a skill to use the customer's preferred method of scheduling rides, thus making the requester skill more useful, and driving business to the customer's preferred provider.
Name | Required? | Type | Description |
---|---|---|---|
partySize |
No | Integer | Number of people in the reservation |
pickupLocation |
Yes/No | PostalAddress | Optional only when dropoffLocation is provided. Location where the customer wants to be picked up. |
pickupTime |
No | DateTime | Time at which the customer wants to be picked up. |
dropoffLocation |
Yes/No | PostalAddress | Optional only when pickupLocation is provided. Location where the customer wants to be dropped off. |
PostalAddress parameters
Name | Required? | Type | Description |
---|---|---|---|
streetAddress |
Yes | String | Street address. |
locality |
Yes | String | Typically a town or city or equivalent. |
region |
Yes | String | Typically a state or province or equivalent. |
postalCode |
Yes | String | Postal code, which is a zip code in the United States. |
country |
No | String | Country. |
Example response with input
{
"type": "Connections.StartConnection",
"uri": "connection://AMAZON.ScheduleTaxiReservation/1",
"input": {
"@type": "ScheduleTaxiReservationRequest",
"@version": "1",
"partySize": 4,
"pickupLocation": {
"@type": "PostalAddress",
"@version": "1",
"streetAddress": "415 106th Ave NE",
"locality": "Bellevue",
"region": "WA",
"postalCode": "98004",
"country": "US"
},
"pickupTime": null,
"dropoffLocation": {
"@type": "PostalAddress",
"@version": "v",
"streetAddress": "2031 6th Ave.",
"locality": "Seattle",
"region": "WA",
"postalCode": "98121",
"country": "US"
}
}
}
Voice design guidelines
The following dialog depicts the expected customer experience for the AMAZON.ScheduleTaxiReservation
task.
Alexa (as determined by requester skill developer): Your taxi reservation has been booked.
Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}?
User: Sure.
Alexa (as determined by provider skill developer): {ride_fulfilling_skill}
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
Customer has never used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
Customer has used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
When the session transitions from the provider skill back to the requester skill, Alexa renders a prompt to indicate this.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
When your customer has completed something and you believe that ordering a ride would be relevant, your requester skill should return a response that includes the following items:
- A prompt that tells the customer they have completed something.
- A
Connections.StartConnection
directive with the relevant input parameters.
AMAZON.ScheduleFood
EstablishmentReservation
Enables your requester skill to request a provider skill to help customers get reservations. This task enables a skill to use the customer's preferred method of scheduling restaurant reservations, thus making the requester skill more useful, and driving business to the restaurant.
Name | Required? | Type | Description |
---|---|---|---|
startTime |
No | DateTime | Time of the reservation. |
partySize |
No | Integer | Number of people in the reservation. |
restaurant |
Yes | Restaurant | Restaurant where reservation is placed. |
Restaurant parameters
Name | Required? | Type | Description |
---|---|---|---|
name |
Yes | String | Name of the restaurant. |
location |
Yes | PostalAddress | Address of the restaurant. |
PostalAddress parameters
Name | Required? | Type | Description |
---|---|---|---|
streetAddress |
Yes | String | Street address. |
locality |
Yes | String | Typically a town or city or equivalent. |
region |
Yes | String | Typically a state or province or equivalent. |
postalCode |
Yes | String | Postal code, which is a zip code in the United States. |
country |
No | String | Country. |
Example response with input
{
"type": "Connections.StartConnection",
"uri": "connection://AMAZON.ScheduleFoodEstablishmentReservation/1",
"input": {
"@type": "ScheduleFoodEstablishmentReservationRequest",
"@version": "1",
"startTime": "2018-04-08T01:15:46Z",
"partySize": 2,
"restaurant": {
"@type": "Restaurant",
"@version": "1",
"name": "Amazon Day 1 Restaurant",
"location": {
"@type": "PostalAddress",
"@version": "1",
"streetAddress": "2121 7th Avenue",
"locality": "Seattle",
"region": "WA",
"postalCode": "98121",
"country": "US"
}
}
}
}
Voice design guidelines
This example demonstrates an expected customer experience for the AMAZON.ScheduleFoodEstablishmentReservation
task.
Alexa (as determined by requester skill developer): Amazon Day 1 Restaurant has the best hip cocktails near you.
Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}?
User: Sure.
Alexa (as determined by provider skill developer): {provider_skill}
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
Customer has never used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
Customer has used provider. | Alexa (as determined by Alexa): Got it. {requester_skill_name} would like to use {provider_skill_name} to do that. May I send the request to {provider_skill_name}? |
When the session transitions from the provider skill back to the requester skill, Alexa renders a prompt to indicate this.
Alexa (as determined by Alexa): Returning you to {requester_skill_name}.
After a customer has prompted your requester skill for restaurant information, and if you would like your requester skill to provide restaurant information and connect to a provider skill to reserve a table, your requester skill should return a response that includes the following items:
- A prompt that tells the customer about the restaurant.
- A
Connections.StartConnection
directive with the relevant input parameters.
Related topics
Last updated: Sep 11, 2023