Event Intents


Introduction

An event happening at a certain time and location, such as a meeting, concert, lecture, or festival. These intents let users make requests related to events, such as adding an event to a calendar, or looking up details of an event.

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

{
    "intents": [
        {
            "name": "AMAZON.ReplaceAction<object@Event>"
        }, 
        {
            "name": "AMAZON.SearchAction<object@Event[eventStatus]>"
        }
    ]
}

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.

Event Intents

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

Intent Signature Example Utterance Possible Slots
AMAZON.AddAction<object@Event> "add my my husband's birthday to my calendar" object.owner.name
targetCollection.owner.name
object.startDate
object.type
object.name
object.startTime
object.attendee.name
object.description.type
targetCollection.type
object.event.type
AMAZON.ChooseAction<object@Event> "choose the first two meetings" object.owner.name
object.performer.name
sourceCollection.type
object.select
object.startDate
object.type
object.name
sourceCollection.owner.name
object.location.addressRegion.name
object.startTime
object.attendee.name
AMAZON.DeleteAction<object@Event> "delete my dentist appointment on march third" object.owner.name
sourceCollection.type
object.select
object.startDate
object.type
object.name
sourceCollection.owner.name
object.startTime
AMAZON.ReplaceAction<object@Event> "can i edit that meeting to be at texas roadhouse" object.owner.name
replaceThis.startDate
replaceWith.startTime
replaceThis.name.type
object.startDate
object.namee
object.type
object.name
replaceWith.startDate
replaceThis.location.type
replaceWith.location.streetAddress.name
replaceThis.startTime
object.attendee.name
replaceThis.startTime.type
replaceWith.duration
target.startDate
replaceWith.name
object.sort
replaceWith.location.name
replaceThis.duration
replaceThis.startDate.type
AMAZON.SearchAction<object@Event> "what am i doing at eight p. m. today" object.owner.name
sourceCollection.type
object.select
object.startDate
object.eventStatus.type
object.startTime
object.type
AMAZON.SearchAction<object@Event[eventStatus]> "tell me the status of my third event" object.owner.name
object.startTime
object.eventStatus.type
object.select
object.type
AMAZON.SearchAction<object@Event[location]> "where is the country hoedown festival taking place" object.owner.name
object.type
object.name
object.startDate
AMAZON.SearchAction<object@Event[startDate]> "can you tell me what time the local craft spirits festival starts" object.owner.name
object.location.name
object.select
object.location.type
object.startDate
object.type
object.name
object.attendee.name

AddAction<object@Event>

User: add my my husband's birthday to my calendar

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.AddAction<object@Event>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.AddAction<object@Event>", 
            "slots": {
                "targetCollection.owner.name": {
                    "name": "targetCollection.owner.name", 
                    "value": "my"
                }, 
                "object.name": {
                    "name": "object.name", 
                    "value": "my husband's birthday"
                }, 
                "targetCollection.type": {
                    "name": "targetCollection.type", 
                    "value": "calendar"
                }
            }
        }
    }
}

ChooseAction<object@Event>

User: choose the first two meetings

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.ChooseAction<object@Event>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.ChooseAction<object@Event>", 
            "slots": {
                "object.select": {
                    "name": "object.select", 
                    "value": "first two"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "meetings"
                }
            }
        }
    }
}

DeleteAction<object@Event>

User: delete my dentist appointment on march third

Intent Schema:

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

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.DeleteAction<object@Event>", 
            "slots": {
                "object.owner.name": {
                    "name": "object.owner.name", 
                    "value": "my"
                }, 
                "object.name": {
                    "name": "object.name", 
                    "value": "dentist"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "appointment"
                }, 
                "object.startDate": {
                    "name": "object.startDate", 
                    "value": "2017-03-03"
                }
            }
        }
    }
}

ReplaceAction<object@Event>

User: can i edit that meeting to be at texas roadhouse

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.ReplaceAction<object@Event>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.ReplaceAction<object@Event>", 
            "slots": {
                "object.type": {
                    "name": "object.type", 
                    "value": "meeting"
                }, 
                "replaceWith.name": {
                    "name": "replaceWith.name", 
                    "value": "texas roadhouse"
                }
            }
        }
    }
}

SearchAction<object@Event>

User: what am i doing at eight p. m. today

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.SearchAction<object@Event>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.SearchAction<object@Event>", 
            "slots": {
                "object.startTime": {
                    "name": "object.startTime", 
                    "value": "20:00"
                }, 
                "object.startDate": {
                    "name": "object.startDate", 
                    "value": "2016-11-21"
                }
            }
        }
    }
}

SearchAction<object@Event[eventStatus]>

User: tell me the status of my third event

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.SearchAction<object@Event[eventStatus]>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.SearchAction<object@Event[eventStatus]>", 
            "slots": {
                "object.eventStatus.type": {
                    "name": "object.eventStatus.type", 
                    "value": "status"
                }, 
                "object.owner.name": {
                    "name": "object.owner.name", 
                    "value": "my"
                }, 
                "object.select": {
                    "name": "object.select", 
                    "value": "third"
                }, 
                "object.type": {
                    "name": "object.type", 
                    "value": "event"
                }
            }
        }
    }
}

SearchAction<object@Event[location]>

User: where is the country hoedown festival taking place

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.SearchAction<object@Event[location]>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.SearchAction<object@Event[location]>", 
            "slots": {
                "object.name": {
                    "name": "object.name", 
                    "value": "country hoedown festival"
                }
            }
        }
    }
}

SearchAction<object@Event[startDate]>

User: can you tell me what time the local craft spirits festival starts

Intent Schema:

{
    "intents": [
        {
            "name": "AMAZON.SearchAction<object@Event[startDate]>"
        }
    ]
}

Request:

{
    "request": {
        "type": "IntentRequest", 
        "locale": "en-US", 
        "intent": {
            "name": "AMAZON.SearchAction<object@Event[startDate]>", 
            "slots": {
                "object.name": {
                    "name": "object.name", 
                    "value": "local craft spirits festival"
                }
            }
        }
    }
}

Event Slots

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

The following table shows the slots the Event 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.attendee.name

"… with maria"

AMAZON.Person

{
    "name": "object.attendee.name", 
    "value": "maria"
}

object.description.type

"…give me a recap"

{
    "name": "object.description.type", 
    "value": "recap"
}

object.event.type

"…do i have an event"

AMAZON.EventType

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

object.eventStatus.type

"…what is the status"

{
    "name": "object.eventStatus.type", 
    "value": "status"
}

object.location.addressRegion.name

"… to florida"

AMAZON.US_STATE

{
    "name": "object.location.addressRegion.name", 
    "value": "florida"
}

object.location.name

"… at mcdonald's"

{
    "name": "object.location.name", 
    "value": "mcdonald's"
}

object.location.type

"… at twenty two paoli pike"

{
    "name": "object.location.type", 
    "value": "twenty two paoli pike"
}

object.name

"…when is the second annual brunch battle"

{
    "name": "object.name", 
    "value": "second annual brunch battle"
}

object.namee

"… dentist appointment"

{
    "name": "object.namee", 
    "value": "dentist appointment"
}

object.owner.name

"…when is my"

AMAZON.Person

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

object.performer.name

"…pick the muse"

{
    "name": "object.performer.name", 
    "value": "muse"
}

object.select

"… next"

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

object.sort

"… i just added"

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

object.startDate

"…what's on may first"

AMAZON.DATE

{
    "name": "object.startDate", 
    "value": "2017-05-01"
}

object.startTime

"… nine o'clock"

AMAZON.TIME

{
    "name": "object.startTime", 
    "value": "09:00"
}

object.type

"… event"

AMAZON.EventType

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

replaceThis.duration

"… from an hour"

AMAZON.DURATION

{
    "name": "replaceThis.duration", 
    "value": "PT1H"
}

replaceThis.location.type

"… location"

{
    "name": "replaceThis.location.type", 
    "value": "location"
}

replaceThis.location.type

"…can you change the location"

{
    "name": "replaceThis.location.type", 
    "value": "location"
}

replaceThis.name.type

"…change the name"

AMAZON.EventType

{
    "name": "replaceThis.name.type", 
    "value": "name"
}

replaceThis.startDate.type

"…change the date"

{
    "name": "replaceThis.startDate.type", 
    "value": "date"
}

replaceThis.startDate

"… on mondays"

AMAZON.DATE

{
    "name": "replaceThis.startDate", 
    "value": "2016-11-28"
}

replaceThis.startTime.type

"…update the time"

{
    "name": "replaceThis.startTime.type", 
    "value": "time"
}

replaceThis.startTime

"… to four o'clock"

AMAZON.TIME

{
    "name": "replaceThis.startTime", 
    "value": "04:00"
}

replaceWith.duration

"… to half an hour"

AMAZON.DURATION

{
    "name": "replaceWith.duration", 
    "value": "PT30M"
}

replaceWith.location.name

"… to be at friday's"

AMAZON.LocalBusiness

{
    "name": "replaceWith.location.name", 
    "value": "friday's"
}

replaceWith.location.streetAddress.name

"… to twenty two andover street"

AMAZON.PostalAddress

{
    "name": "replaceWith.location.streetAddress.name", 
    "value": "twenty two andover street"
}

replaceWith.name

"… to applebee's"

AMAZON.LocalBusiness

{
    "name": "replaceWith.name", 
    "value": "applebee's"
}

replaceWith.name

"… to housewarming"

{
    "name": "replaceWith.name", 
    "value": "housewarming"
}

replaceWith.startDate

"… to be on tuesdays"

AMAZON.DATE

{
    "name": "replaceWith.startDate", 
    "value": "2016-11-22"
}

replaceWith.startTime

"… to five"

AMAZON.TIME

{
    "name": "replaceWith.startTime", 
    "value": "05:00"
}

sourceCollection.owner.name

"…take my"

AMAZON.Person

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

sourceCollection.type

"… event on my calendar"

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

target.startDate

"… to be on tuesday"

AMAZON.DATE

{
    "name": "target.startDate", 
    "value": "2016-11-22"
}

targetCollection.owner.name

"…add to my"

AMAZON.Person

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

targetCollection.type

"… calendar"

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

Built-in Intent Library Documentation

Event 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