Every event stream carries events that follow a schema you define. The schema lists the fields an event can contain, the type of data each field holds, and which field (if any) uniquely identifies an event. Automations that publish to or consume from the stream see exactly this schema, and it also determines the columns shown in the stream's logs.
Overview
You build and manage a stream's schema from its Schema tab. Each field you add needs a name and a type, and you can layer on labels, help text, optionality, and conditional visibility to make the schema easier to work with. Once fields are in place, you save your changes to apply them, or discard them to return to the last saved version.
Define the fields of an event
On the Schema tab, add a field and give it a name, a label, and a type. The name must start with a letter and can only contain letters, numbers, and underscores after that — this is the identifier automations use to reference the field, so keep it short and descriptive. The label is what people see when they view the field, so it can be more descriptive or human-friendly than the name.
Available field types
Choose from String, Number, Integer, Boolean, Date, Date Time, Single Select Dropdown, Multi Select Dropdown, Object, File, and Array. You can nest fields under an existing Object field to model structured data, mark any field as optional, and add help text so other people understand what to enter or expect.
Set a primary key
Mark one field as the primary key so every event carries a unique identifier. Only identifier-like types qualify — String, Number, and Integer — so choose one of these types if you plan to use the field as the primary key. Other field types can't be set as the primary key.
Control field visibility
Beyond marking a field optional, you can make its visibility conditional on the values of other fields. This lets you keep the schema focused by showing a field only when it's actually relevant, rather than always displaying every field regardless of context.
Edit a field after creation
A field's name and type are locked once you create it — if you need a different type, create a new field instead of trying to change the existing one. Everything else stays editable: you can update the label, toggle optionality, revise help text, and adjust visibility conditions whenever you need to.
Save or discard schema changes
The footer of the Schema tab has Save and Discard Changes buttons. Both stay disabled until you actually make a change, so there's no risk of accidentally saving or discarding when nothing has changed. Save applies your edits to the schema; Discard Changes reverts everything back to the last saved state, undoing any edits you haven't saved yet.
Notes
Field names must start with a letter and can only contain letters, numbers, and underscores — plan names before you create fields, since you can't rename one later.
A field's type is fixed once created. If you need a different type, add a new field rather than trying to convert an existing one.
Only String, Number, and Integer fields can be set as the primary key.
Schema changes don't take effect until you click Save — navigating away or discarding will lose unsaved edits.