Routines allow you to add your own Alexa commands which you can run by voice command, day/time schedule or another event trigger.
Typical use is to automate smart home devices, set do not disturb times
Add one or more actions (which can include custom skills). You can disable a routine to stop it running.
Routines are created within the Alexa app via route >Routines.

Add/Edit routine

The field When is the event that triggers the routine to run.
Trigger Types
Trigger Type | Example |
Voice command | Alexa, Run my custom routine |
Schedule | At Time, [every day], [weekdays], [weekdays], [monday,friday] At Sunrise, [time offset],[every day],[monday,friday] At Sunset, [time offset],[every day],[monday,friday] |
Smart Home | control smart devices |
Alarms | Alarm is dismissed,[monday,friday],[active between starttime,endtime],[suppress for hours,minutes] |
Echo Button | when pressed |
Actions

Example Actions
Alexa says [custom message],[date],[time],[local weather] ,[news],[local traffic] |
Alexa play [song],[artist],,[sound] |
IFTTT [run applet] |
Messaging [receive notification],[ announce] |
start [skillname] |
smart home |
wait [hours:minutes:seconds] |
Actions can be reordered by selecting action in list and dragging to new position.
Context Menu – Add/Edit Routine
To change the trigger type or delete the routine open the Edit Routine and use icon marked A on the image below. iOS devices might require a drag icon to the right to access the options menu.

Limitations
- Play must be the final action
- non-voice triggers must target a particular device