Transform your Stream Deck into a powerful data dashboard! Display live information from public JSON APIs, n8n automation workflows, or local files with automatic field discovery and dynamic color coding.
- Universal Data Sources: Works with public JSON APIs, local files, or n8n webhooks
- Automatic Field Discovery: Scans JSON structure and populates dropdown menus automatically
- 4-Line Customizable Display: Mix text and data fields for perfect layouts
- Dynamic Color Coding: Button background changes based on numeric data values (2-6 configurable ranges)
- Real-time Updates: Configurable refresh intervals (10-300 seconds)
- n8n Integration: Perfect companion for n8n automation workflows (handles authentication)
- Zero Configuration: Works out of the box with public APIs
- Business Metrics: Sales numbers, customer counts, revenue tracking
- IoT Monitoring: Temperature sensors, device status, environmental data
- Server Monitoring: CPU usage, memory, disk space, uptime
- Weather Data: Current conditions, forecasts, alerts
- Social Media: Follower counts, engagement metrics, notifications
- Home Automation: Smart home device status via Home Assistant + n8n
- Development: Build status, deployment metrics, error counts
- Add "JSON Data Display" action to your Stream Deck
- Set Data Source Type to "HTTP API / n8n Webhook"
- Enter API URL:
https://jsonplaceholder.typicode.com/users/1 - Watch fields auto-discover and configure your display!
- Create n8n workflow with Webhook Trigger
- Add HTTP Request node to fetch from authenticated API
- Add Respond to Webhook node
- Use the n8n webhook URL in your Stream Deck plugin
- Open Stream Deck software
- Search for "Universal JSON Display"
- Click Install
- Download the latest release from Releases
- Double-click the
.streamDeckPluginfile - Stream Deck software will install it automatically
- Local JSON File: Full file path to your JSON data
- Public HTTP API: Any URL that returns JSON (no authentication)
- n8n Webhook: For authenticated APIs, use n8n as authentication proxy
- Line 1-4: Choose Empty, Free Text, or Data Field for each line
- Auto Field Discovery: Plugin automatically scans JSON and populates dropdowns
- Update Interval: Set refresh frequency (10-300 seconds)
- Static Color: Single background color
- Dynamic Color: Changes based on numeric field values
- Configure 2-6 threshold ranges
- Perfect for status indicators and alerts
For authenticated APIs, use n8n as an authentication proxy:
- Webhook Trigger - Creates the endpoint for Stream Deck
- HTTP Request - Fetches data from authenticated API
- Respond to Webhook - Returns clean JSON to Stream Deck
- Home Assistant: Bearer token authentication
- Weather APIs: API key authentication
- Business APIs: OAuth, API keys, basic auth
- IoT Platforms: Device-specific authentication
- Social Media: OAuth flows
- Monitoring Tools: API key authentication
git clone https://github.com/SeanFDZ/stream-deck-universal-json.git
cd stream-deck-universal-json
npm install
npm run buildsrc/
├── plugin.ts # Main plugin entry point
├── actions/
│ └── json-display-action.ts # Core plugin logic
zone.fallingdata.universal-json-n8n.sdPlugin/
├── manifest.json # Plugin metadata
├── ui/
│ └── json-display-action.html # Configuration interface
└── bin/
└── plugin.js # Compiled output
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with Elgato Stream Deck SDK
- n8n automation platform for authentication workflows
- JSONPlaceholder for testing APIs
- Issues: GitHub Issues
- Documentation: Check examples in repository
- Community: Share your configurations with others!
Made with ❤️ for the Stream Deck community