# How Screenly fits together


> Five things and one loop: content goes in a playlist, the playlist carries a schedule, and the playlist is assigned to screens.
Five words carry most of the meaning in Screenly.

**Content** is a file you uploaded, a web page, a live stream, or an app. **A playlist** is an ordered, looping rotation of content with a duration per item. **A schedule** says when that playlist may play. **A screen** is a display plus the device driving it. **A workspace** holds all of it, plus the people who can see it.

## The loop

{{< docs/flow "content, playlist, schedule, screen" >}}

You add content, put it in a playlist, give the playlist a schedule, and assign that playlist to screens or to a label. The screen picks it up on its next check-in and reports back.

Then change the playlist, and every screen showing it follows without being touched again. That is the whole system.

## Two consequences worth knowing early

**Everything reaches a screen through a playlist.** There is no way to send a single image to a display directly. If you want one thing on one screen, that is a playlist with one item in it.

**The schedule belongs to the playlist, not the screen.** There is no separate schedule object to create and attach. Assign a playlist to five screens and all five inherit its timing, evaluated in each screen's own local time.

## Where each one is covered

| | |
| --- | --- |
| [Content](/docs/content/) | Formats, durations, PDFs, web pages, caching |
| [Playlists](/docs/playlists/) | Building a rotation, priority, transitions |
| [Scheduling](/docs/scheduling/) | Rules, overlaps, time zones |
| [Screens](/docs/screens/) | Connecting, settings, health, fleet jobs |
| [Workspaces](/docs/workspaces/) | People, roles, sharing, settings |