Skip to main content
When developers want to skip certain form fields in workflows, Cyberdesk provides the __EMPTY__ sentinel value. If you want to actively clear an already-filled field instead, use __CLEAR__. Cyberdesk also treats optional empty strings and null values as “not provided” when building run inputs, so they are normalized to __EMPTY__ before execution.

Simple Use Case

Problem: Sometimes workflows have optional form fields that should be skipped when no data is provided. Solution: Use __EMPTY__ to skip typing while maintaining workflow structure.

Example

Automatic __EMPTY__ for Missing Nested Fields

When using structured inputs with nested access, missing fields automatically become __EMPTY__:
This allows workflows to gracefully handle optional nested fields without requiring explicit __EMPTY__ values.

Nested Access on __EMPTY__ Values

If a root variable is __EMPTY__ and you try to access a nested property on it, the result is also __EMPTY__:
This allows workflows to gracefully skip entire optional sections without failing.
Type errors are different: If you try to access a nested property on a value that is a concrete type like a string or number (e.g., {patient.name.first} when patient.name is "John Doe"), the run fails immediately with a clear error. Only missing fields and __EMPTY__ values become __EMPTY__.

Input Schema Validation

When a workflow has an input schema, __EMPTY__ is treated as “not provided” for validation.
  • Object fields set to __EMPTY__ are ignored during schema validation.
  • Array entries set to __EMPTY__ are removed before validation.
  • This applies to auto-generated __EMPTY__ values too, including optional inputs left blank as empty strings or null.
This lets optional fields stay blank without failing validation, while required fields still need a real value unless your schema allows them to be omitted.

When to Use

  • Optional form fields that might not always be filled
  • Progressive workflows where some data is provided later
  • A/B testing different workflow variants
  • Graceful degradation when inputs are missing
  • Nested optional fields in structured input objects

Best Practice

This is a simple convenience feature for handling occasional missing data - not for complex workflow logic. If you need to blank out an existing value instead of skipping, see Clear Values.