Skip to main content

Overview

Orbit Inputs provide a powerful parameterization system that enables dynamic, reusable workflows. Instead of hardcoding values in task descriptions, you can use placeholders that are resolved at runtime with actual values provided through the OrbitInput structure.

Dynamic Values

Provide different values for each execution

Type Safety

Strongly-typed metadata structure

Interpolation

Automatic placeholder resolution

Reusability

Same workflow, different parameters

Validation

Built-in type checking and validation

Flexibility

Support for complex nested data

What are Orbit Inputs?

Orbit Inputs are runtime parameters passed to an orbit execution that:
  • Replace placeholders in task descriptions
  • Provide configuration values
  • Enable workflow customization
  • Support complex data structures
  • Maintain type safety
Think of Orbit Inputs like function parameters—they allow the same workflow to be executed with different values each time.

Key Benefits

Create generic workflows that can be reused with different parameters:
Adjust workflow behavior without changing code:
Strongly-typed values prevent runtime errors:
Handle nested and complex data structures:

Placeholders

Placeholders are special markers in task descriptions that are replaced with actual values at runtime.

Placeholder Syntax

Format: {key}
Rules:
  • Placeholders are case-sensitive
  • Must match input keys exactly
  • Can appear anywhere in text
  • Multiple placeholders allowed

Placeholder Examples

Conditional syntax: {if condition}content{endif} and {if key=value}content{endif}

Metadata Structure

The underlying data structure for orbit inputs.

Metadata Type

Creating Metadata

Type Accessors

Interpolation Process

How placeholders are resolved with actual values.

Interpolation Flow

Interpolation Engine

Interpolation Order

1

Parse Template

Identify all placeholders in the task description:
2

Resolve Values

Look up each placeholder in the input metadata:
3

Replace Placeholders

Substitute resolved values in the template:
4

Validate Result

Check for any unresolved placeholders:

Error Handling

Common Input Errors

Missing Input

Error: Required placeholder has no value
Solution: Provide all required inputs or use defaults

Type Mismatch

Error: Incorrect value type
Solution: Use correct types in metadata

Invalid Path

Error: Nested key doesn’t exist
Solution: Verify nested paths match structure

Array Out of Bounds

Error: Array index doesn’t exist
Solution: Ensure indices are within bounds

Error Recovery

Best Practices

Input Design

Descriptive Keys

Do: Use clear, descriptive key names

Consistent Naming

Do: Follow naming conventions

Type Appropriateness

Do: Use appropriate types

Documentation

Do: Document expected inputs

Placeholder Usage

1

Use Meaningful Placeholders

2

Provide Sensible Defaults

3

Group Related Inputs

4

Validate Input Completeness

Type Safety

Troubleshooting

Symptoms: {placeholder} appears literally in outputCommon Causes:
  1. Key mismatch (case-sensitive)
  2. Input not provided
  3. Wrong nested path
  4. Syntax error in placeholder
Solutions:
Debug Steps:
Symptoms: Error accessing nested valuesCommon Causes:
  1. Incorrect path syntax
  2. Missing intermediate keys
  3. Wrong structure
Solutions:
Symptoms: Error accessing array elementCommon Causes:
  1. Index too large
  2. Empty array
  3. Wrong array key
Solutions:
Symptoms: Unexpected string representationsCommon Causes:
  1. Implicit type conversion
  2. Array/dictionary to string
  3. Number formatting
Solutions:
Symptoms: Execution fails with missing input errorSolutions:
Symptoms: Slow interpolation with many placeholdersSolutions:

Next Steps

Outputs

Learn about orbit outputs

Tasks

Use inputs in task definitions

Orbits

Execute orbits with inputs

Metadata

Deep dive into metadata structure
For additional support, consult the GitHub Discussions or check the Issue Tracker.