Skip to content
Castreon
Channels

Agenda, results and news from your own source — automatic guide pages

Updated 26 Oct 2026

Besides the “Now on …” page, the automatic guide can make pages from your data: an agenda of upcoming events, results by competition and news — each from a JSON address that it reads on its own every few minutes. Castreon draws the page in real time, and it goes on air like any channel (HLS, HTTP-TS, push, DRM) or as a block in the schedule of a file channel.

Available since Castreon 2.1.0, in the Enterprise edition.

The three kinds

  • Agenda — upcoming events, 3–5 per page: the day (“TODAY”, “TOMORROW”, “THURSDAY 29.10”), the large time, the competition label, the title and the channel badge (image + two lines). The first event is highlighted; an event starting soon shows “in 45 min”, one in progress “live now”.
  • Results — matches grouped by competition, 4 per column, 2 columns per page: home team, the score on a plate in the accent color, away team, and under the score the status — “LIVE 67'”, “HALF TIME”, “FULL TIME”, the kick-off time or “POSTPONED”.
  • News — one story per page: the label, the large title on 1–2 lines, the text on at most 3 lines, the source and the time.

Pages change on their own after the number of seconds you choose. Fixed texts (“TODAY”, “FULL TIME”, “HALF TIME” etc.) are in the guide's language: Romanian, English, German, Italian or Spanish.

The source (JSON format)

The address must return JSON: an object with an items list, or the list itself. Times use RFC 3339 with a time zone (without one = the guide's time zone).

Agenda — start and title are required; without end, an event lasts 2 hours:

{"items": [
  {"start": "2026-11-02T21:45:00+02:00", "end": "2026-11-02T23:45:00+02:00",
   "category": "Football · Champions League", "title": "Team A – Team B", "channel": "Sport 1"}
]}

Results — one row per match; status can be live, halftime, final, upcoming or postponed (plus the usual data-provider abbreviations: FT, HT, NS, PST…); minute is the match minute while live:

{"items": [
  {"competition": "Football · League", "home": "Team A", "away": "Team B",
   "home_score": 2, "away_score": 1, "status": "live", "minute": 67}
]}

News — title is required, the rest optional; at most 12 stories, in the source's order:

{"items": [
  {"category": "Football", "title": "…", "text": "…", "time": "2026-11-02T18:20:00+02:00", "source": "Newsroom"}
]}

If the source requires a key, enter it under Source key: Castreon sends it as Authorization: Bearer …. The key is stored separately from the configuration and is not shown again after saving (neither in the API nor in the audit log); empty on save = the saved key stays.

Castreon re-reads the source every Re-read seconds (60–3600, default 300). If the source does not respond, the last data read stays on screen; in the editor, the source error shows in the preview.

Only use data you are allowed to display: scores and news usually come from a data provider or a newsroom with their own terms of use.

A guide from a source

Settings → Automatic guide → New guide, under Type choose Agenda, Results or News, then:

  1. Name, Page title, Text above the title (the small line in the accent color), Language, Time zone and its label.
  2. Source address (JSON), Source key (optional) and Re-read.
  3. For the agenda: Events per page (3–5), “In N min” (the minutes in which an event is announced as “in …”; 0 = never) and Channel badges: for each channel value in the source, an image uploaded in the editor, two lines of text and the color of the competition label.
  4. Background image (PNG or JPEG 16:9, ideally 1920×1080; without one, the background is made from the colors), Colors (a dark background and an accent gradient), Music (optional) and Text when there are no events.

Preview reads the source right away and shows the first page.

On air, between a channel's programmes

The guide goes on air through a channel with the Automatic guide source and an HTTP-TS output. A file channel can put it between its files with repeating blocks in the schedule: for example, on a channel with a 2-minute holding file in a loop, three live takeover blocks, 1 minute every 9 minutes:

Block Source From Every / lasts
Agenda channel:agenda 00:02 9 min / 1 min
Results channel:results 00:05 9 min / 1 min
News channel:news 00:08 9 min / 1 min

The blocks can share the same window (00:00–24:00), offset: Castreon checks overlaps by the minutes they actually run.

Common problems

  • The preview says “the event source answers with code 401” — the source requires a key: fill in Source key.
  • The page shows the “no events” text — the source has nothing upcoming (agenda) or the list is empty; check the address in a browser.
  • The schedule block shows the pause frame — the guide channel has no HTTP-TS output or is not running; the block window warns you.
  • The text is hard to read — the background must be dark (for example #0A0F1E) and the accent a light color.

Privacy

Cookies & local storage

Strictly necessary cookies are always active. Analytics and marketing use Google services and only start if you accept them — until then nothing is sent to Google. You can withdraw your consent here at any time.

Strictly necessary

Without them, sign-in, forms and your chosen language don’t work. They don’t require consent (§ 25(2) no. 2 TDDDG).

Always active
Name Purpose Duration Type
castreon-session Keeps your session: sign-in and chosen language 2 hours, renewed on every visit Cookie
XSRF-TOKEN Protects forms against forged requests 2 hours, renewed on every visit Cookie
remember_web_… Only if you tick “Remember me” at sign-in Until you sign out, max. 400 days Cookie
__cf_bm Cloudflare: tells visitors and bots apart, only when traffic is being checked 30 minutes Cookie · Cloudflare
castreon:consent Remembers your cookie choice 12 months Local storage
theme Customer account appearance: light, dark or system Until you change it Local storage

Analytics

Google Analytics 4 (Google Ireland Ltd.): which pages are visited, where visits come from and on which type of device — with pseudonymous identifiers, without storing your IP address. Helps us improve the website.

Name Purpose Duration Type
_ga Google Analytics: recognises the visitor (pseudonymous ID) 13 months Cookie · Google Analytics
_ga_VHWQRPHPEF Google Analytics: keeps the state of the visit 13 months Cookie · Google Analytics

Marketing

Google Ads (Google Ireland Ltd.): measures whether visits from Google ads lead to a trial or a plan, and allows Castreon ads to be shown on other websites (remarketing).

Name Purpose Duration Type
_gcl_au, _gcl_aw Google Ads: links the visit to the ad click (conversions) 90 days Cookie · Google Ads
IDE, test_cookie Google Ads: remarketing and ad measurement, on Google domains (doubleclick.net) Up to 13 months Cookie · Google (third party)