Skip to content
screenjson

Greenlight

Configure task pipelines in Greenlight

Declaratively compose conversion, validation, encryption, and packaging tasks into repeatable Greenlight pipelines.

Last updated January 2026

Where pipelines live

Task definitions live in config/tasks.yml. Pipelines are composed of tasks at submission time — as JSON in an API call, or as a preset in the admin UI.

Task catalogue

Out of the box:

TaskInputOutput
convert-fdx-to-screenjson.fdxScreenJSON
convert-fountain-to-screenjson.fountainScreenJSON
convert-fadein-to-screenjson.fadeinScreenJSON
convert-pdf-to-screenjson.pdfScreenJSON
export-to-fdx.jsonFinal Draft
export-to-fountain.jsonFountain
export-to-fadein.jsonFadeIn
export-to-pdf.jsonPDF
validate-screenjson.jsonReport
encrypt-screenjson.jsonEncrypted
decrypt-screenjson.jsonPlain
zip-outputanyZIP

Example pipelines

FDX → validated ScreenJSON:

{ "tasks": ["convert-fdx-to-screenjson", "validate-screenjson"] }

ScreenJSON → multi-format ZIP:

{
  "tasks": [
    "export-to-fdx",
    "export-to-fountain",
    "export-to-pdf",
    "zip-output"
  ]
}

Convert from Fountain, then encrypt for distribution:

{
  "tasks": ["convert-fountain-to-screenjson", "encrypt-screenjson"],
  "vars": { "encrypt_key": "mysecretkey123" }
}

Shared variables

vars is a free-form map handed to every task. Useful for keys, destination buckets, metadata to stamp into each document, and pipeline-wide timestamps.

Next