Put the live health of your cloud and SaaS stack on a TRMNL e-ink dashboard. The plugin reads OutageDeck's normalized public API, so GitHub, Slack, AWS, and other providers work through one schema even when their official status pages use different platforms.
- Tracks up to eight provider slugs on one screen
- Shows incidents first, followed by maintenance and healthy providers
- Uses the free, keyless OutageDeck public API
- Refreshes every 15 minutes and stays within the anonymous 120-request/hour quota
- Includes full, half-horizontal, half-vertical, and quadrant layouts
- Treats an unavailable or unknown feed as unknown, never healthy
Install the official TRMNL plugin development tool, clone this repository, then create the private plugin in your TRMNL account:
gem install trmnl_preview
git clone https://github.com/outagedeck/trmnl-plugin.git
cd trmnl-plugin
trmnlp login
trmnlp pushIn the plugin settings, enter up to eight comma-separated OutageDeck provider slugs, for example:
github, slack, aws, cloudflare, anthropic, vercel
Run trmnlp serve to preview locally. No OutageDeck API key is required.
TRMNL's Statuspage integration expects Atlassian Statuspage-compatible URLs. OutageDeck normalizes official provider feeds from several status platforms, which means a single dashboard can cover services such as GitHub, Slack, and AWS without asking users to know each vendor's feed format.
The initial polling request goes to OutageDeck's small health endpoint. A serverless transform then requests only the selected providers, concurrently, from https://outagedeck.com/api/v1/providers/{slug}. Bad slugs, timeouts, and unavailable feeds render as Unavailable rather than being silently treated as operational.
Provider status is sourced from the official URL identified in each API response. Review the OutageDeck methodology before using the screen for operational decisions.
python3 -m unittest discover tests -v
trmnlp lint
trmnlp buildThe transform uses only the Python standard library. The project is MIT licensed.
