MusicPlaylist Intents

Introduction

A collection of music tracks in playlist form. These intents let users make requests to manipulate playlists by adding, removing, and choosing items.

This document provides a quick reference to the MusicPlaylist 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 MusicPlaylist intents:

{
    "intents": [
        {
            "intent": "AMAZON.CreateAction<object@MusicPlaylist>"
        }, 
        {
            "intent": "AMAZON.DeleteAction<object@MusicPlaylist,sourceCollection@Catalog>"
        }
    ]
}

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

MusicPlaylist Intents

The following table summarizes the available MusicPlaylist 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 MusicPlaylist Slots.

Intent Signature Example Utterance Possible Slots
AMAZON.AddAction<object@MusicCreativeWork,targetCollection@MusicPlaylist> “add that song to my best songs ever playlist” object.owner.name
targetCollection.owner.name
targetCollection.name
object.byArtist.name
object.type
object.name
object.performedIn.name
object.sort
targetCollection.type
AMAZON.ChooseAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist> “choose beethoven from my classical music playlist” sourceCollection.type
object.select
object.byArtist.name
object.genre
object.type
sourceCollection.owner.name
sourceCollection.name
AMAZON.ChooseAction<object@MusicPlaylist> “pick the competent musicians playlist” object.owner.name
object.type
object.name
AMAZON.CreateAction<object@MusicPlaylist,content@MusicCreativeWork> “can you create a playlist for country music” content.amount
content.owner.name
content.byArtist.name
object.type
content.type
content.genre
content.inLanguage.name
AMAZON.CreateAction<object@MusicPlaylist> “add a new playlist” object.type
object.name
AMAZON.DeleteAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist> “delete this song from my party playlist” sourceCollection.type
object.select
object.byArtist.name
object.genre
object.type
sourceCollection.owner.name
sourceCollection.name
AMAZON.DeleteAction<object@MusicPlaylist,sourceCollection@Catalog> “remove the first playlist from my library” sourceCollection.owner.name
object.type
object.select
sourceCollection.type
AMAZON.DeleteAction<object@MusicPlaylist> “can you delete my party playlist” object.owner.name
object.type
object.name
object.tracks.byArtist.name
object.tracks.type
object.dateCreated.type
object.sort
object.tracks.genre
AMAZON.PlaybackAction<object@MusicPlaylist> “play this playlist on repeat” object.owner.name
object.type
object.name
mode.name
AMAZON.SearchAction<object@MusicPlaylist[tracks]> “what songs are on this playlist” sourceCollection.type
object.tracks.type

AddAction<object@MusicCreativeWork,targetCollection@MusicPlaylist>

User: add that song to my best songs ever playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.AddAction<object@MusicCreativeWork,targetCollection@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.AddAction<object@MusicCreativeWork,targetCollection@MusicPlaylist>", 
            "slots": {
                "object.type": {
                    "name": "object.type", 
                    "value": "song"
                }, 
                "targetCollection.owner.name": {
                    "name": "targetCollection.owner.name", 
                    "value": "my"
                }, 
                "targetCollection.name": {
                    "name": "targetCollection.name", 
                    "value": "best songs ever"
                }, 
                "targetCollection.type": {
                    "name": "targetCollection.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

ChooseAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist>

User: choose beethoven from my classical music playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.ChooseAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.ChooseAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist>", 
            "slots": {
                "object.byArtist.name": {
                    "name": "object.byArtist.name", 
                    "value": "beethoven"
                }, 
                "sourceCollection.owner.name": {
                    "name": "sourceCollection.owner.name", 
                    "value": "my"
                }, 
                "sourceCollection.name": {
                    "name": "sourceCollection.name", 
                    "value": "classical music"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

ChooseAction<object@MusicPlaylist>

User: pick the competent musicians playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.ChooseAction<object@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.ChooseAction<object@MusicPlaylist>", 
            "slots": {
                "object.name": {
                    "name": "object.name", 
                    "value": "competent musicians"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

CreateAction<object@MusicPlaylist,content@MusicCreativeWork>

User: can you create a playlist for country music

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.CreateAction<object@MusicPlaylist,content@MusicCreativeWork>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.CreateAction<object@MusicPlaylist,content@MusicCreativeWork>", 
            "slots": {
                "object.type": {
                    "name": "object.type", 
                    "value": "playlist"
                }, 
                "content.genre": {
                    "name": "content.genre", 
                    "value": "country"
                }, 
                "content.type": {
                    "name": "content.type", 
                    "value": "music"
                }
            }
        }
    }
}

CreateAction<object@MusicPlaylist>

User: add a new playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.CreateAction<object@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.CreateAction<object@MusicPlaylist>", 
            "slots": {
                "object.type": {
                    "name": "object.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

DeleteAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist>

User: delete this song from my party playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.DeleteAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@MusicCreativeWork,sourceCollection@MusicPlaylist>", 
            "slots": {
                "object.type": {
                    "name": "object.type", 
                    "value": "song"
                }, 
                "sourceCollection.owner.name": {
                    "name": "sourceCollection.owner.name", 
                    "value": "my"
                }, 
                "sourceCollection.name": {
                    "name": "sourceCollection.name", 
                    "value": "party"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

DeleteAction<object@MusicPlaylist,sourceCollection@Catalog>

User: remove the first playlist from my library

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.DeleteAction<object@MusicPlaylist,sourceCollection@Catalog>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@MusicPlaylist,sourceCollection@Catalog>", 
            "slots": {
                "object.select": {
                    "name": "object.select", 
                    "value": "first"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "playlist"
                }, 
                "sourceCollection.owner.name": {
                    "name": "sourceCollection.owner.name", 
                    "value": "my"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "library"
                }
            }
        }
    }
}

DeleteAction<object@MusicPlaylist>

User: can you delete my party playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.DeleteAction<object@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@MusicPlaylist>", 
            "slots": {
                "object.owner.name": {
                    "name": "object.owner.name", 
                    "value": "my"
                }, 
                "object.name": {
                    "name": "object.name", 
                    "value": "party"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

PlaybackAction<object@MusicPlaylist>

User: play this playlist on repeat

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.PlaybackAction<object@MusicPlaylist>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.PlaybackAction<object@MusicPlaylist>", 
            "slots": {
                "object.type": {
                    "name": "object.type", 
                    "value": "playlist"
                }, 
                "mode.name": {
                    "name": "mode.name", 
                    "value": "on repeat"
                }
            }
        }
    }
}

SearchAction<object@MusicPlaylist[tracks]>

User: what songs are on this playlist

Intent Schema:

{
    "intents": [
        {
            "intent": "AMAZON.SearchAction<object@MusicPlaylist[tracks]>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.SearchAction<object@MusicPlaylist[tracks]>", 
            "slots": {
                "object.tracks.type": {
                    "name": "object.tracks.type", 
                    "value": "songs"
                }, 
                "sourceCollection.type": {
                    "name": "sourceCollection.type", 
                    "value": "playlist"
                }
            }
        }
    }
}

MusicPlaylist Slots

The MusicPlaylist 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 MusicPlaylist Intents to see which slots are applicable to each intent.

The following table shows the slots the MusicPlaylist 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

content.amount

“… with all

{
    "name": "content.amount", 
    "value": "all"
}

content.byArtist.name

“… with kiss

{
    "name": "content.byArtist.name", 
    "value": "kiss"
}

content.genre

“… of funk

AMAZON.Genre

{
    "name": "content.genre", 
    "value": "funk"
}

content.inLanguage.name

“… german

AMAZON.Language

{
    "name": "content.inLanguage.name", 
    "value": "german"
}

content.owner.name

“… with my

AMAZON.Person

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

content.type

“… music

AMAZON.MusicCreativeWorkType

{
    "name": "content.type", 
    "value": "music"
}

mode.name

“…shuffle

{
    "name": "mode.name", 
    "value": "shuffle"
}

object.byArtist.name

“… by red hot chili peppers

{
    "name": "object.byArtist.name", 
    "value": "red hot chili peppers"
}

object.dateCreated.type

“… i added yesterday

{
    "name": "object.dateCreated.type", 
    "value": "added yesterday"
}

object.genre

“…search for romance

AMAZON.Genre

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

object.name

“…play thriller

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

object.name

“… classical for sleep

AMAZON.MusicPlaylist

{
    "name": "object.name", 
    "value": "classical for sleep"
}

object.owner.name

“…when is my

AMAZON.Person

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

object.performedIn.name

“… from hamilton

{
    "name": "object.performedIn.name", 
    "value": "hamilton"
}

object.select

“… next

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

object.sort

“… i just added

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

object.tracks.byArtist.name

“…delete the drake

{
    "name": "object.tracks.byArtist.name", 
    "value": "drake"
}

object.tracks.genre

“… with funk

AMAZON.Genre

{
    "name": "object.tracks.genre", 
    "value": "funk"
}

object.tracks.type

“…what songs

AMAZON.MusicCreativeWorkType

{
    "name": "object.tracks.type", 
    "value": "songs"
}

object.type

“… music

AMAZON.MusicCreativeWorkType

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

object.type

“… playlist

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

sourceCollection.name

“… off the good music

AMAZON.MusicPlaylist

{
    "name": "sourceCollection.name", 
    "value": "good music"
}

sourceCollection.owner.name

“…take my

AMAZON.Person

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

sourceCollection.type

“… are in this library

{
    "name": "sourceCollection.type", 
    "value": "library"
}

sourceCollection.type

“… are on this playlist

{
    "name": "sourceCollection.type", 
    "value": "playlist"
}

targetCollection.name

“… sunday morning

AMAZON.MusicPlaylist

{
    "name": "targetCollection.name", 
    "value": "sunday morning"
}

targetCollection.owner.name

“…add to my

AMAZON.Person

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

targetCollection.type

“… playlist

{
    "name": "targetCollection.type", 
    "value": "playlist"
}

Built-in Intent Library Documentation

MusicPlaylist 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 reach out to alexa-ontology-support@amazon.com.