Extensions
ScorePlay extensions

Build your tools into ScorePlay

Extensions put your own panels where your team already works: on the homepage, on a collection, in the media toolbar. Bring in the data and services your workflow needs, without leaving ScorePlay.

Your workflow, not a workaround

An extension is a web page that runs inside ScorePlay. Your team gets it in the screens they already use, styled like the rest of the product.

01

Right where the work happens

Extensions show up on the homepage dashboard, on a collection page and in the media toolbar, next to the media they are about.

02

Only the data it needs

Each extension lists the exact fields it receives in its manifest, such as a collection name. Nothing else is shared with it.

03

Feels like ScorePlay

One stylesheet gives your extension the fonts, colours and controls of the workspace it runs in, including dark mode.

Where extensions appear

Three places, built already

Each of these runs as an extension today. Use them as a starting point for your own.

Collection page

Match center

Live match data on the collection for that match: the score, the timeline and the line-ups.

Media toolbar

AI dubbing

Start a dubbed version of a video in another language, from the toolbar of the video itself.

Homepage dashboard

Expiring rights

A widget on the homepage that lists media whose usage rights end soon, so nothing is published after its date.

How it works

From a web page to your whole team

  1. 01

    Build a web page

    Write your panel as an ordinary web page. Add our bridge script and stylesheet, and it can show messages, open links and take people to a media item or a collection.

  2. 02

    Describe it in a manifest

    Say where it appears and which fields it needs. ScorePlay checks the manifest before anything loads.

  3. 03

    Publish a version

    Each version is published once and never changes, so a company that uses it gets no surprises.

  4. 04

    Switch it on

    ScorePlay allows the extension for a company, and that company's admins choose to switch it on for their team.

manifest.json Where it appears and what it sees
{
  "id": "acme.match-notes",
  "name": "Match notes",
  "version": "1.0.0",
  "sdk": 1,
  "surfaces": {
    "collection.detail.top": { "panel": "Notes" }
  },
  "panels": {
    "Notes": { "entry": "index.html" }
  },
  "context": ["collection.id", "collection.name"]
}
Security

Open to build on, closed by default

Your media and your users' details stay yours. An extension only ever gets what it asked for, and what its company switched on.

A secure sandbox

Extensions run apart from ScorePlay itself. They never see the user's login or anything on the page around them.

Declared data only

An extension receives the fields its manifest names, for the screen it is on, and nothing more.

Five-minute tokens

To call its own backend, an extension asks for a token that expires after five minutes. The backend checks it against ScorePlay's public keys.

Versions that never change

A published version stays exactly as it was published. A new release is always a new version.

Looks native

One stylesheet, every workspace

Load panel.css and your extension picks up each workspace's theme: its brand colour, dark mode, fonts and controls. The style guide shows every class with code you can copy.

Open the style guide

Build on the media infrastructure sport runs on

Start with the developer docs and the style guide, then talk to us about putting your extension in front of your team.