Your Alexa Dashboards Settings

Alexa.Calendar Interface

The Alexa.Calendar interface describes the messages used to find meetings on an organizational calendar. For more information, see Build Skills for Conferencing Devices.

Directives

GetCurrentMeeting

Request to find a meeting on an organizational calendar. This should resolve to a single meeting or Alexa will treat it as if there were no results and ask for a meeting identifier.

Typically your skill will receive a directive to get the current meeting, and then a directive to join a scheduled meeting with the meeting information that was provided.

Message flow

User: Alexa, start the meeting

Alexa sends Calendar.GetCurrentMeeting directive
Skill sends Response event with meeting information
Alexa: Do you want to join meeting organized by meeting organizer?
User: Yes

Alexa sends MeetingClientController.JoinScheduledMeeting directive

Example Request:

{
    "directive": {
        "endpoint": {
            "endpointId": "applianceId",
            "cookie": {
            },
            "scope": {
                "type": "BearerTokenWithPartition",
                "token": "access-token-from-skill",
                "partition": "room101"
            }
        },
        "header": {
            "namespace": "Alexa.Calendar",
            "name": "GetCurrentMeeting",
            "messageId": "15d0ec9d-801d-4f51-9321-206510d64d9c",
            "payloadVersion": "3",
            "correlationToken": "dFMb0z+PgpgdDmlu/jCc8ptlAKulUj90jSqg=="
        },
        "payload": {}
    }
}

Properties and Events

For this interface, you must reply:

  • Synchronously, which means you send a Response to Alexa from the Lambda function.

When you send a Response, you should include the state of reportable properties in the context of the message

Reportable Properties

This interface does not define any reportable properties.

Response

If the GetCurrentMeeting directive was successfully handled, you should respond with an Response event that contains meeting information in the payload.

Example Response

{
    "event": {
        "header": {
            "namespace": "Alexa.Calendar",
            "name": "Response",
            "messageId": "c60bc9c1-63c8-4cfc-ae44-22c43140c32e",
            "payloadVersion": "3",
            "correlationToken": "dFMb0z+PgpgdDmlu/jCc8ptlAKulUj90jSqg=="
        },
        "payload": {
            "organizerName": "John Smith",
            "calendarEventId": "1234567890"
        }

    }
}

Payload details

Field Description Type Required
organizerName The name of the meeting organizer. String Yes
calendarEventId A meeting identifier that resolves in the conferencing system. String Yes

ErrorResponse

You should reply with an error if you cannot complete the customer request for some reason. See Error.Response for more details.

Interface Description
Alexa.MeetingClientController Includes directives for joining and ending meetings.