Deploy with Mosyle
Install Billboard on a fleet of Apple TVs with Mosyle and point each screen at the right gallery automatically with Managed App Configuration.
Last updated 5 July 2026
With Mosyle you can install Billboard on every managed Apple TV and point each one at the right gallery automatically, so no one has to type a code on the TV. This works through Managed App Configuration: Mosyle delivers a set of key/value settings that Billboard reads on launch.
Before you start: your Apple TVs must be supervised and enrolled in Mosyle, and Billboard Screen must be assigned to them via Apple Business Manager / Apple School Manager (VPP). The app's bundle identifier is
app.BillboardScreen. If you'll lock screens with Single App Mode, first prepare each Apple TV's screen saver, sleep and update settings — see Prepare the Apple TV first.
1. Add the app
- Add Billboard Screen to Mosyle from your VPP content — see Apple Business Manager & School Manager for linking your VPP tokens.
- Assign the app to the Apple TVs (or a device group) you want, set to install automatically.
2. Configure the app
On the Billboard app record in Mosyle, open its Managed Configuration (custom configuration) and enter an XML property list. At minimum, set the manifest URL for the gallery this group of screens should show.
<dict>
<key>dataURL</key>
<string>https://getbillboard.app/m/ABCD2345</string>
<key>deviceName</key>
<string>%DeviceName%</string>
</dict>
- Replace
ABCD2345with your gallery code (letters and numbers only, no dash), shown on the gallery's Connect tab. The full manifest URL is alwayshttps://getbillboard.app/m/<CODE>. %DeviceName%is a Mosyle variable that inserts each Apple TV's own name, so the AirPlay card and your dashboard label it correctly per screen. This one is optional.
That's all most rollouts need. Everything about how the screen looks is set in your Billboard dashboard, not here (see below). Use one app configuration per gallery when different rooms need different content.
3. Deploy
Save the configuration. Mosyle installs Billboard on the assigned Apple TVs and delivers the settings. On launch the app reads dataURL and goes straight to the slideshow, skipping the welcome screen entirely. Change the gallery code in Mosyle later and the screens follow on their next check-in.
Where settings actually live
It's worth being clear about this, because it saves a lot of duplicated work:
- The gallery's content and look — media, image timings, AirPlay panel text, Wi-Fi step, tint, opacity, clock, notices — are configured in your Billboard dashboard. They travel to every screen inside the gallery's manifest automatically. You do not re-enter any of this in Mosyle.
- Mosyle's job is simply to point each screen at the right gallery with
dataURL(and, if you like, name it withdeviceName).
So a normal Managed Configuration is just those one or two keys. There's no need to list panel or clock settings here.
Advanced: overriding a setting per device or site
Managed configuration values take priority over the gallery's manifest. You only need this when some screens must differ in a way a single shared gallery can't express — the classic case is the same content gallery across several buildings that each have a different Wi-Fi network name. Set these per device group in Mosyle and they win over the dashboard:
| Key | Type | Use it to… |
|---|---|---|
deviceName | String | Name each screen individually (Mosyle: %DeviceName%). |
airplayWifiNetwork | String | Show a per-site Wi-Fi network name on the AirPlay card. |
airplayViewHide | Boolean | Hide the AirPlay panel on specific screens. |
dataCheckTimer | Integer | Change how often (seconds, minimum 10) a screen checks for updates. |
For anything else — panel text, tint, opacity, clock, notices, video behaviour — set it once in the gallery instead. It's simpler and it applies everywhere that gallery is shown. The same keys work in any MDM, including Jamf Pro and Intune.
Troubleshooting
- The TV still shows the welcome screen. The app didn't receive
dataURL. Confirm the Managed Configuration is saved on the app record, the device is assigned, and the value is valid XML. Re-push the app configuration from Mosyle. - Wrong content on a screen. Check the gallery code in
dataURLmatches the gallery you intend, with no dash and no trailing spaces. - Screens are slow to update. Lower
dataCheckTimer, but remember a very short interval increases network traffic across a large fleet.
Still stuck? Email us at support@getbillboard.app.