ReadingList Intents


Introduction

A list made up of books or other written creative works that a user wants to collect in one place, such as a summer reading list or a "read later" list. These intents let users make requests about reading lists, such as creating lists and adding or removing items on the lists.

This document provides a quick reference to the ReadingList intents and corresponding slots. For details around how these intents are specified, see Understanding the Structure of the Built-in Intent Library.

Intent Signature

Use the intent signature as the intent name in your intent schema. This example shows a schema with two ReadingList intents:

{
    "intents": [
        {
            "name": "AMAZON.ChooseAction<object@Book,sourceCollection@ReadingList>"
        }, 
        {
            "name": "AMAZON.DeleteAction<object@ReadingList>"
        }
    ]
}

For more about the components of this signature, see Understanding the Structure of the Built-in Intent Library.

To see the full JSON format for intents, see Interaction Model Schema. You can also use the developer console user interface to add the intents and then see the JSON code in the JSON Editor.

ReadingList Intents

The following table summarizes the available ReadingList intents and the set of slots that may be included. For each intent, the sections below the table show:

  • A sample utterance that would invoke the intent.
  • The JSON you include in your intent schema if you want to use the intent.
  • An example of the IntentRequest sent to your skill for the provided sample utterance, illustrating the slots that may be included. For brevity, these samples leave out the full set of properties that are normally part of a complete IntentRequest.

    Note that if your interaction model includes multiple intents with similar utterances, your results may vary from these examples.

For definitions of the slots used in these intents, see ReadingList Slots.

Intent Signature Example Utterance Possible Slots
AMAZON.AddAction<object@Book,targetCollection@ReadingList> "add all of shakespeare's works to my summer reading list" targetCollection.owner.name
object.inLanguage.type
targetCollection.name
targetCollection.audience.name
object.genre
object.partOfSeries.name
object.type
object.name
object.audience.name
object.sort
object.author.name
targetCollection.type
AMAZON.AddAction<object@BookSeries,targetCollection@ReadingList> "add the ayn rand collection to my reading list" targetCollection.owner.name
object.name
object.author.name
targetCollection.type
AMAZON.ChooseAction<object@Book,sourceCollection@ReadingList> "select the last book on the reading list" object.type
object.select
sourceCollection.type
AMAZON.CreateAction<object@ReadingList> "create a fiction reading list" object.name
AMAZON.DeleteAction<object@Book,sourceCollection@ReadingList> "remove all of the audiobooks from my favorites list" object.owner.name
object.version.type
object.inLanguage.type
object.select
object.genre
object.type
object.name
sourceCollection.owner.name
sourceCollection.type
sourceCollection.name
object.sort
object.translator.name
object.author.name
AMAZON.DeleteAction<object@BookSeries,sourceCollection@ReadingList> "delete the harry potter series from my reading list" object.type
object.name
sourceCollection.owner.name
sourceCollection.type
AMAZON.DeleteAction<object@ReadingList> "delete that reading list" object.owner.name
object.itemListElement
object.name
object.sort

AddAction<object@Book,targetCollection@ReadingList>

User: add all of shakespeare's works to my summer reading list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.AddAction<object@Book,targetCollection@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.AddAction<object@Book,targetCollection@ReadingList>", 
            "slots": {
                "object.author.name": {
                    "name": "object.author.name", 
                    "value": "shakespeare's"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "works"
                }, 
                "targetCollection.owner.name": {
                    "name": "targetCollection.owner.name", 
                    "value": "my"
                }, 
                "targetCollection.name": {
                    "name": "targetCollection.name", 
                    "value": "summer reading"
                }, 
                "targetCollection.type": {
                    "name": "targetCollection.type", 
                    "value": "list"
                }
            }
        }
    }
}

AddAction<object@BookSeries,targetCollection@ReadingList>

User: add the ayn rand collection to my reading list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.AddAction<object@BookSeries,targetCollection@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.AddAction<object@BookSeries,targetCollection@ReadingList>", 
            "slots": {
                "object.author.name": {
                    "name": "object.author.name", 
                    "value": "ayn rand"
                }, 
                "object.name": {
                    "name": "object.name", 
                    "value": "collection"
                }, 
                "targetCollection.owner.name": {
                    "name": "targetCollection.owner.name", 
                    "value": "my"
                }, 
                "targetCollection.type": {
                    "name": "targetCollection.type", 
                    "value": "reading list"
                }
            }
        }
    }
}

ChooseAction<object@Book,sourceCollection@ReadingList>

User: select the last book on the reading list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.ChooseAction<object@Book,sourceCollection@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.ChooseAction<object@Book,sourceCollection@ReadingList>", 
            "slots": {
                "object.select": {
                    "name": "object.select", 
                    "value": "last"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "book"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "reading list"
                }
            }
        }
    }
}

CreateAction<object@ReadingList>

User: create a fiction reading list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.CreateAction<object@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.CreateAction<object@ReadingList>", 
            "slots": {
                "object.name": {
                    "name": "object.name", 
                    "value": "fiction reading list"
                }
            }
        }
    }
}

DeleteAction<object@Book,sourceCollection@ReadingList>

User: remove all of the audiobooks from my favorites list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.DeleteAction<object@Book,sourceCollection@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@Book,sourceCollection@ReadingList>", 
            "slots": {
                "object.select": {
                    "name": "object.select", 
                    "value": "all"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "audiobooks"
                }, 
                "sourceCollection.owner.name": {
                    "name": "sourceCollection.owner.name", 
                    "value": "my"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "favorites list"
                }
            }
        }
    }
}

DeleteAction<object@BookSeries,sourceCollection@ReadingList>

User: delete the harry potter series from my reading list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.DeleteAction<object@BookSeries,sourceCollection@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@BookSeries,sourceCollection@ReadingList>", 
            "slots": {
                "object.name": {
                    "name": "object.name", 
                    "value": "harry potter"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "series"
                }, 
                "sourceCollection.owner.name": {
                    "name": "sourceCollection.owner.name", 
                    "value": "my"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "reading list"
                }
            }
        }
    }
}

DeleteAction<object@ReadingList>

User: delete that reading list

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.DeleteAction<object@ReadingList>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@ReadingList>", 
            "slots": {
                "object.name": {
                    "name": "object.name", 
                    "value": "reading list"
                }
            }
        }
    }
}

ReadingList Slots

The ReadingList intents can return slot values to your skill. You do not include these slots in your intent schema – they are generated automatically from the intent signature.

Note that not all available slots are returned from every intent. See the table in ReadingList Intents to see which slots are applicable to each intent.

The following table shows the slots the ReadingList intents can return. For each slot, the table includes:

  • The slot name.
  • An example utterance for the slot.
  • The JSON that would be sent to your skill for the sample utterance.
  • If applicable, the name of the slot type used by the slot. You can see details about slot types in the Slot Type Reference.
Slot Name Utterance Slot Values

object.audience.name

"… suitable for families"

{
    "name": "object.audience.name", 
    "value": "suitable for families"
}

object.author.name

"…search for nick offerman's"

AMAZON.Person

{
    "name": "object.author.name", 
    "value": "nick offerman's"
}

object.genre

"…search for romance"

AMAZON.Genre

{
    "name": "object.genre", 
    "value": "romance"
}

object.inLanguage.type

"… in french"

{
    "name": "object.inLanguage.type", 
    "value": "french"
}

object.itemListElement

"… of audiobook"

AMAZON.Book

{
    "name": "object.itemListElement", 
    "value": "audiobook"
}

object.name

"…stop reading the hobbit"

AMAZON.Book

{
    "name": "object.name", 
    "value": "the hobbit"
}

object.name

"…delete the harry potter"

AMAZON.BookSeries

{
    "name": "object.name", 
    "value": "harry potter"
}

object.name

"…remove the list"

{
    "name": "object.name", 
    "value": "list"
}

object.owner.name

"…when is my"

AMAZON.Person

{
    "name": "object.owner.name", 
    "value": "my"
}

object.partOfSeries.name

"… in the silence of the lambs"

AMAZON.BookSeries

{
    "name": "object.partOfSeries.name", 
    "value": "silence of the lambs"
}

object.select

"… next"

{
    "name": "object.select", 
    "value": "next"
}

object.sort

"… i just added"

{
    "name": "object.sort", 
    "value": "just added"
}

object.translator.name

"…please take katherine woods's"

{
    "name": "object.translator.name", 
    "value": "katherine woods's"
}

object.type

"… book"

{
    "name": "object.type", 
    "value": "book"
}

object.type

"… series"

{
    "name": "object.type", 
    "value": "series"
}

object.type

"… works"

AMAZON.CreativeWorkType

{
    "name": "object.type", 
    "value": "works"
}

object.version.type

"… version"

{
    "name": "object.version.type", 
    "value": "version"
}

sourceCollection.name

"… from my favorites"

{
    "name": "sourceCollection.name", 
    "value": "favorites"
}

sourceCollection.owner.name

"…take my"

AMAZON.Person

{
    "name": "sourceCollection.owner.name", 
    "value": "my"
}

sourceCollection.type

"… reading list"

{
    "name": "sourceCollection.type", 
    "value": "reading list"
}

targetCollection.audience.name

"… of children's books"

{
    "name": "targetCollection.audience.name", 
    "value": "children's books"
}

targetCollection.name

"… favorite book"

{
    "name": "targetCollection.name", 
    "value": "favorite book"
}

targetCollection.owner.name

"…add to my"

AMAZON.Person

{
    "name": "targetCollection.owner.name", 
    "value": "my"
}

targetCollection.type

"… reading list"

{
    "name": "targetCollection.type", 
    "value": "reading list"
}

Built-in Intent Library Documentation

ReadingList is used in the following built-in intent library category:

Navigate to all built-in intents in the Built-in Intent Library.

See all available slot types in the Slot Type Reference.

Learn more about using the built-in intent library:

Learn more about building your voice interface:

The built-in intent library incorporates material from Schema.org, which is licensed under the Creative Commons Attribution-ShareAlike License (version 3.0) (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at http://creativecommons.org/licenses/by-sa/3.0/. For questions, please contact us.


Was this page helpful?

Last updated: Nov 28, 2023