Configure a generic application

Start with a registered Template. Operational workflows automatically receive generic applications; new templates saved through the editor do too. A skin does not alter the process language.

Bounded configuration

A generic application's complete definition is data:

{
  "id": "payments",
  "workflowKey": "payments-workflow",
  "label": "Payments",
  "frontend": {
    "kind": "generic",
    "skin": {
      "palette": "blue",
      "spacing": "comfortable",
      "layout": "focused",
      "logo": { "kind": "builtin", "name": "processos" }
    }
  }
}

Palette choices are blue/violet/slate; spacing comfortable/compact; layout sidebar/focused. A logo can be builtin processos, builtin none, or { "kind": "asset", "key": "company-logo" }. The deployment supplies named logo files in its public application-assets directory. Keys are opaque identifiers, not arbitrary URLs or filesystem paths.

@processos/applications validates the complete shape and rejects unknown fields. Supplying a function, component, CSS string or page schema is not an extension mechanism.

Host it

The standalone generic frontend accepts the definition in PROCESS_APPLICATION, or simple PROCESS_APPLICATION_WORKFLOW and PROCESS_APPLICATION_LABEL values for a default skin. PROCESS_BACKEND_ORIGIN identifies its trusted backend. The neutral main host accepts an array of explicit application definitions in PROCESS_APPLICATIONS; unspecified workflows retain their default generic application. Existing Spell and Risk registrations select their bespoke frontends.

A public address is configured separately from this definition. Separate frontend origins use operator-configured OAuth mounts and allowed callback URLs. No live DNS or Auth0 changes are performed by creating a source configuration.

When this is not enough

Create a bespoke application using public Platform clients and backend APIs. Own its pages, renderer and visual session controls. Do not add HomePage, LoadingScreen, AppExtras or similar hooks to the generic frontend. Spell and Allocation Risk are the current examples.

See frontend ownership for identity, URL and permission semantics. Keep worker provisioning separate from web frontend deployment.