Bridge // Developer Automation

Scripts run on schedule. Screens stay current.

Windmill turns scripts — TypeScript, Python, Go, Bash, SQL — into scheduled jobs and flows, self-hosted or cloud. A few lines push any result to your Hangar.Media screens, HMAC-signed.

TS / Py / Go Real Scripts
See Pricing
HMAC Signed Delivery
TS / Py / Go Real Scripts
HMAC Signed Delivery
Tables · Cards · KPIs Display Targets
Bridge // Overview

From script result to standing display

Whatever a Windmill script computes — a database query, an API aggregation, a report — a few lines POST it to your Hangar.Media inbound webhook with an HMAC signature. Flows chain scripts and approvals; the final step is the screen.

Self-hosted and Windmill cloud both work — only the outbound HTTPS push leaves your stack
Map any payload field to display columns with dot-notation paths, defaults, and per-column transforms
Three display targets: live data table, announcement cards (with rolling accumulation), or KPI metrics
Accumulate mode keeps a rolling board of the most recent pushes instead of replacing on every update
Outbound events included: screens can trigger your automations back (offline/online, sync errors, emergency alerts) with a signed envelope
Bridge // Key Features

What you can do with Screens stay current.

Three capabilities that make this integration essential for your digital signage network.

Instant Push // 01

A few lines in any language

Every Windmill runtime can make the push: fetch in TypeScript, requests in Python, net/http in Go. Compute the result, sign the body, POST. Schedules keep the screen current without anyone remembering to.

The cron job your whole office can see.

Flows add approval steps before the push when wording matters

JSON payloads of any shape — single records or lists

Screens update within seconds of the push arriving

Bridge // Instant Push
Field Mapping // 02

Shape the payload into screen content

Point display columns at payload fields with dot-notation paths, set defaults for missing fields, and apply per-column transforms — uppercase, lowercase, truncate, prefix, suffix. The same mapping engine powers every automation platform integration, so a recipe built once is portable across tools.

Your automation sends data; the mapping decides how it reads on screen.

Dot-notation paths reach nested payload fields

Defaults fill gaps so screens never show blanks

Transforms tidy values without touching the automation

Bridge // Field Mapping
Verified Delivery // 03

HMAC-signed, replay-protected delivery

The script computes an HMAC-SHA256 of the body with your integration secret (stored as a Windmill resource) and sends it as X-Webhook-Signature; Hangar.Media verifies in constant time with optional replay protection.

Every push is authenticated before a pixel changes.

HMAC-SHA256 body signing in-script (recommended)

Keep the secret in a Windmill resource, not in code

Optional Stripe-style replay protection

Bridge // Verified Delivery
Bridge // Setup

Four steps to connected screens.

From setup to live content in minutes, not days.

Step 01

Connect the integration

Add the Windmill integration in Hangar.Media. Your unique inbound webhook URL and secret are generated instantly.

Step 02

Add the push to your script

At the end of the script or flow, build the JSON result, compute an HMAC-SHA256 with your integration secret (a Windmill resource), and POST to your inbound webhook URL with X-Webhook-Signature.

Step 03

Map fields to the display

Choose Data Table or Content Cards, then map payload fields to display columns with the field mapper. Defaults and transforms are optional.

Step 04

Push and publish

Run the automation. The payload renders in the bound widget on your screens within seconds — enable Accumulate for a rolling board of recent pushes.

Bridge // Questions

Common questions. Straight answers.

How is the webhook secured

Scripts sign every push — HMAC-SHA256 of the body with your integration secret (held as a Windmill resource), verified by Hangar.Media in constant time with optional replay protection.

What payload shape does Hangar.Media expect

Any JSON. A single object becomes one row or card; an array of objects becomes one row or card per record. With a field mapping configured, only the mapped fields are displayed; without one, the raw fields are shown as a key-value table.

Can one push update several screens

Yes. The push lands in the integration's data feed; every design widget bound to that feed updates, wherever those designs are scheduled — one push can update one screen or the whole estate.

Does self-hosted Windmill work

Yes — identically to Windmill cloud. The integration receives outbound HTTPS pushes from your workers; nothing connects back into your infrastructure.

Pricing // Transparent by Design
£0
/screen/month
Industry avg
£8–24
Hangar
£5

One price. The whole platform.

That's how we think signage should work. Content editor, screen management, and 200+ app integrations — all included from day one.

No per-user fees
Unlimited users
Unlimited screens
200+ integrations
150+ templates
Multi-tenancy
Edge caching
Offline playback
REST API
Emergency alerts
Sign Up Now

Chat / Online

Pricing

£5 /screen/month

Everything included. One price.

Speed

Live in five minutes.

Sign up, connect, go.

Hardware

Use the screens you already own.

Fire TV, Android, Tizen, webOS, Pi, browser.

How can we help?

Choose an option to get started