Skip to content
Heads up — these docs cover Voice Monkey API v3, the current version. If you signed up before the v3 launch, your account is still on API v2 for a limited transition period and the examples below will not work against your account.

Screens

A Screen is a visual you design in the console and show on any Alexa device with a screen: Echo Show, Echo Spot, Fire TV and others. Pick a layout that divides the screen into areas, then fill each area with blocks: text, big numbers, clocks, dates, countdowns, images, videos, slideshows, lists, progress bars and buttons.

Screens are available on every plan.

  1. In the console, go to Screens and click New screen.
  2. Start from an idea (Big clock, Noticeboard, Countdown, Control panel, Photo frame, Dashboard, Ambient clock, World clock, Welcome sign) or from a blank layout.
  3. In the editor, click an area of the preview to select it, then use Add block to fill it. Click a block to change its text, size and colours.
  4. Use the Screen tab to change the layout, theme, background (colour, image or video) and how long the screen stays up.
  5. Click Send to device to try it on one of your Speakers. It saves first.

The preview can switch between Echo Show 8/10, Echo Show 5, Echo Show 15, portrait, the round Echo Spot and Fire TV, so you can check how the screen adapts.

Layout Areas
Full screen One area covering the screen.
Half screen A card over the background, on the left, right, centre or along the bottom.
Title and body A title bar above a large area.
Title, body and footer A title bar, a large area and a footer strip.
Vertical split Two halves side by side.
Sidebar A narrow column beside a wide one, on either side.
Top and bottom Two halves, one above the other.
Hero and strip A large area with a row of three small tiles, below or above it.
Grid 2 x 2 / Grid 3 x 2 Four or six equal tiles.
Three columns Three equal columns.
Background and corner A full-screen area with a small box in a corner, e.g. a clock over a video.

You can switch layout at any time. Blocks move to the matching area of the new layout, and any that don’t fit go into its last area.

Each area has its own alignment, padding, rounded corners and optional background colour (with transparency, so the screen background shows through).

Block Shows
Text Any text, with variables. Choose size, weight, colour, alignment and a line limit.
Big value A large figure with a unit and label, e.g. 21°C over “Inside”.
List One item per line, as bullets or numbers. A variable holding a JSON array (["milk","eggs"]) becomes one item each.
Progress bar A value between a minimum and maximum, e.g. a battery level.
Clock The current time, 12 or 24-hour, optionally with seconds. Leave the timezone blank for the Echo’s own time, or pick a city for a world clock.
Date Today’s date in one of several formats, in the Echo’s language.
Countdown Days (or days/hours/minutes, or hours:minutes:seconds) until or since a date, with a message for when it’s reached.
Image A photo or graphic from a URL, your Media library or a variable.
Video A video that plays muted and loops by default.
Slideshow Up to 12 images that change every few seconds.
Button / Button grid Tappable buttons. See Buttons.
Spacer / Divider Space or a line between blocks.

Clocks, dates, countdowns and slideshows keep changing on the device for as long as the screen is up, with no further requests.

Everything else shows the values from the moment the screen was sent. To update a value, send the screen again, or tap a button that sets a variable (the screen redraws straight away).

Any text, value, list, progress, image or video field can contain the same placeholders as announcements:

Placeholder Replaced with
{NAME} Your variable NAME.
{NAME.field} A field inside a variable holding JSON, e.g. {HOME.temp}. One JSON variable can feed a whole dashboard.
{VM.…} A built-in variable, like {VM.DATE.WEEKDAY} or {VM.USAGE.REMAINING}.
{WEBHOOK.<slug>.<key>} The latest payload from an inbound webhook.
{WEB_RESPONSE.<node>.json.<field>} Inside a Flow only: data a Web Request node fetched earlier in the same run.

Some ways to pull in outside data:

  • From Home Assistant, IFTTT or your own code: call /announce with screen=… and var-NAME=value parameters. The variables are saved first, so the screen shows the new values. See the Screens API.
  • From any web API: in a Flow, put a Web Request node before a Screen node and reference its response. Schedule the Flow to refresh the screen every morning.
  • From a webhook: an inbound webhook’s announcement action can show a screen, with the payload values inside it.

A button can:

  • Run a flow — the flow starts as if it was triggered by the API. Nodes without their own device use the device showing the screen.
  • Fire a routine trigger — runs the Alexa Routine wired to that Routine Trigger device.
  • Set a variable — set it to a value, or add or subtract a number (a scoreboard or chore counter). The screen redraws with the new value.
  • Show another screen — or refresh this one.

On Fire TV, use the remote to move between buttons; the first button is selected when the screen appears. Taps count towards your monthly requests when they run a flow or fire a routine.

  • From the console: Send to device in the editor, or Send to… on the Screens list.
  • From a flow: a Screen node. Pair it with a Speech node to say something as it appears.
  • From the API: /announce?device=…&screen=…. See the Announcement API.
  • From an inbound webhook: an announcement action with a screen chosen.
  • From an AI assistant: the MCP server has list_screens and show_screen tools.
  • Echo Show 5, 8, 10, 15 and 21: text and spacing scale to the screen size.
  • Portrait screens (an Echo Show 15 on its side): side-by-side areas stack vertically, and a 3 x 2 grid becomes 2 x 3.
  • Round screens (the original Echo Spot): only the layout’s main area is shown, inset from the edge.
  • Fire TV: an extra margin keeps content clear of the TV’s edges.
  • Echos without a screen: the screen is skipped; any speech still plays.

Choose how long the screen stays up (1 minute to 1 hour) on the Screen tab. The Echo may return to its home screen sooner, for example when someone talks to Alexa.

Limit
Screens per account 100
Blocks per screen / per area 40 / 12
Buttons per screen / per grid 24 / 12
Videos per screen (including a video background) 1
Slideshow images 12
List items shown 20

Deleting a screen doesn’t break the flows or buttons that use it; they skip it until you point them at another screen.