Alexa Gadgets Toolkit Features

This topic lists the features that the Alexa Gadgets Toolkit supports, and which interface or process your gadget must implement to use each feature.

The last column of the table notates whether the features are required or optional, defined as follows:

  • Required – These features are needed for your gadget to function. For example, your gadget must be able to connect to an Echo device over Bluetooth.
  • Optional – These features are available to use based on the hardware capabilities of your gadget. For example, your gadget might be able to raise a flag when the Echo device receives a notification.

In this topic, Echo device refers to the Echo device that is paired to the gadget.

Features

Connecting and updating

For your gadget to... It must support... Example trigger Required?

Connect to an Echo device

A user says "Pair my gadget."

Yes

Get over-the-air (OTA) updates

OTA update process

The OTA firmware version is greater than the gadget's current firmware version.

No (but recommended for a commercial launch)

Custom Interfaces

For your gadget to... It must support... Example trigger Required?

Trigger unique gadget behaviors from a skill

Directives from a Custom Interface that you define

The skill opens, which triggers the gadget to flash its lights.

No

Send inputs from a gadget to a skill

Events from a Custom Interface that you define

A robot has finished spinning, which triggers Alexa to say "Your robot is warmed up and ready to go!"

No

Wake word

For your gadget to be notified when... It must support... Example trigger Required?

The Echo device detects that a user said the wake word of that Echo device

Alexa.Gadget.StateListener.StateUpdate directive

A user says "Alexa", "Echo", or "Computer".

No

The wake word times out

Alexa.Gadget.StateListener.StateUpdate directive (with wakeword as a supported type)

The user didn't continue to speak after they said the wake word.

No

Timers

For your gadget to be notified when... It must support... Example trigger Required?

A user sets a timer on their Echo device

Alerts.SetAlert directive

A user says "Alexa, set a 5-minute timer."

No

A user deletes a timer on their Echo device

Alerts.DeleteAlert directive

A user says "Alexa, cancel my 5-minute timer."

No

A timer expires on the Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with timers as a supported type)

A timer on the Echo device expires.

No

A user dismisses a timer on their Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with timers as a supported type)

When a timer expires, a user says "Alexa, stop."

No

Alarms

For your gadget to be notified when... It must support... Example trigger Required?

A user sets an alarm on their Echo device

Alerts.SetAlert directive

A user says "Alexa, set an alarm for 6 AM."

No

A user deletes an alarm on their Echo device

Alerts.DeleteAlert directive

A user says "Alexa, cancel my 6 AM alarm."

No

An alarm expires on the Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with alarms as a supported type)

An alarm on the Echo device expires.

No

A user dismisses an alarm on their Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with alarms as a supported type)

When an alarm expires, a user says "Alexa, stop."

No

Reminders

For your gadget to be notified when... It must support... Example trigger Required?

A user sets a reminder on their Echo device

Alerts.SetAlert directive

A user says "Alexa, remind me to walk the dog at 6 PM."

No

A user deletes a reminder on their Echo device

Alerts.DeleteAlert directive

A user says "Alexa, cancel my reminder for 6 PM."

No

A reminder expires on the Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with reminders as a supported type)

A reminder on the Echo device expires.

No

A user dismisses a reminder on their Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with reminders as a supported type)

When a reminder expires, a user says "Alexa, stop."

No

Notifications

For your gadget to be notified when... It must support... Example trigger Required?

The Echo device receives a notification

Notifications.SetIndicator directive

The Echo device receives a notification that a package was delivered.

No

The notification on the Echo device is cleared

Notifications.ClearIndicator directive

A user says "Alexa, clear my notifications."

No

Speech

For your gadget to... It must support... Example trigger Required?

Sync to the words Alexa speaks

Alexa.Gadget.SpeechData.Speechmarks directive

A user asks "Alexa, what's the weather?" and Alexa answers.

No

Current time

For your gadget to... It must support... Example trigger Required?

Receive time information from the Echo device

Alexa.Gadget.StateListener.StateUpdate directive (with timeinfo as a supported type)

Time information is sent at 30-minute intervals.

No

Tempo

For your gadget to... It must support... Example trigger Required?

Receive the tempo of Amazon Music that is playing through the Echo device

Alexa.Gadget.MusicData.Tempo directive

The Echo device is playing Amazon Music.

No

Examples

The following examples list which interfaces to support based on what you want your gadget to do.

You can find additional information in the Alexa Gadgets Toolkit (Beta): How It Makes the Echo Wall Clock Tick blog post.

If you want your gadget to... It must support...

Display the time

Raise a flag in response to the notifications that the user has enabled in the Alexa app under Settings > Notifications

Lip sync to Alexa's speech

Take an action when timers are set, deleted, expired, or dismissed

Take an action when alarms are set, deleted, expired, or dismissed

Take an action when reminders are set, deleted, expired, or dismissed

Move to Amazon Music