JSON Schema
Devset accepts standard JSON Schema (draft-07 and later) for JSON payloads. Define theproperties, type, and any required fields you want Devset to surface in the field picker.
order-created-v1.
Protobuf
For binary payloads, Devset accepts.proto source file content directly. When you save a Protobuf schema, Devset compiles it to a FileDescriptorSet — a binary representation of the compiled type tree — which the engine uses at runtime to serialise payloads into the correct wire format.
Devset compiles your
.proto source automatically when you save the schema. You do not need to run protoc locally or upload a pre-compiled descriptor. If the schema contains syntax errors, the Schema Repo editor will report the compilation failure inline.contentType: "application/x-protobuf" on your workflow and add a wireFormat block to the stages that should serialise in binary:
Referencing a Schema in a Workflow
Attach a schema to an entire workflow with the top-levelschemaId field. Every stage in the workflow inherits this schema unless it declares its own:
schemaId directly to that stage object. The stage-level value takes precedence over the workflow-level default:
Schemas in Function Studio
Function Studio is the visual editor for building stageset expressions. When a schema is associated with a stage, Function Studio loads the schema’s field tree and presents it as a picker. You can click a field to insert the correct $ref or $path expression without typing paths manually.
- JSON Schema — all
propertiesat every nesting level appear in the picker. - Protobuf — fields are read from the compiled
FileDescriptorSetand presented in the same picker UI.
A schema is not required to use Function Studio, but without one you must type field paths by hand. Attaching a schema to your workflow or stage is the fastest way to work with complex nested payloads.
Managing Schemas
Open the Schema Repo at/schema-repo in the Devset UI. From there you can:
- Create a schema — click New Schema, enter a unique schema ID, choose the type (JSON Schema or Protobuf), paste your definition, and click Save.
- Edit a schema — select an existing schema from the list, modify the content, and save. Workflows that reference the schema will use the updated version on their next run.
- Delete a schema — select the schema and click Delete. Workflows that reference a deleted schema ID will fail to compile until you update or remove the
schemaIdreference.