Alexa.Calendar Interface
Implement the Alexa.Calendar
interface in your Alexa skill so that users can find meetings on an organizational calendar. For details, see Build Skills for Conferencing Devices.
For the list of languages that the Calendar
interface supports, see List of Alexa Interfaces and Supported Languages.
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:
The following example illustrates a GetCurrentMeeting
directive that Alexa sends to your skill.
{
"directive": {
"endpoint": {
"endpointId": "applianceId",
"cookie": {
},
"scope": {
"type": "BearerTokenWithPartition",
"token": "access-token-from-skill",
"partition": "room101"
}
},
"header": {
"namespace": "Alexa.Calendar",
"name": "GetCurrentMeeting",
"messageId": "abc-123-def-456",
"payloadVersion": "3",
"correlationToken": "dFMb0z+PgpgdDmlu/jCc8ptlAKulUj90jSqg=="
},
"payload": {}
}
}
Properties and Events
For this capability, 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 the interface properties in the context
of the message.
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": "abc-123-def-456",
"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 Alexa.ErrorResponse for more details.