Schema Overview
Brobot Runner uses two complementary JSON schemas to define your automation projects. Understanding these schemas is essential for creating and modifying automation configurations effectively.
Schema Typesโ
Brobot Runner configuration is defined by two distinct but related schemas:
- Project Schema - Defines the structural components of automation (states, transitions, UI elements)
- Automation DSL Schema - Defines the programming language aspects (functions, statements, expressions)
Relationship Between Schemasโ
The Project Schema defines "what" exists in your automation environment, while the Automation DSL Schema defines "how" your automation behaves. Together, they provide a complete definition of your automation project:
Project Schema (structure) + Automation DSL (behavior) = Complete Automation Solution
Key Conceptsโ
- States represent distinct screens or conditions in your application
- Transitions define how to move between states using actions
- Actions are operations performed on the GUI (clicking, typing, etc.)
- Functions contain custom automation logic using the DSL
Working with the Schemasโ
Project Creation Workflowโ
- Define states with their visual elements (images, regions, etc.)
- Create state transitions that define how to move between states
- Define automation functions with custom logic
- Configure UI elements (buttons) that trigger automation functions
Best Practicesโ
- Organize by feature: Group related states and transitions
- Use descriptive names: Make state and function names self-explanatory
- Reuse components: Define common patterns and elements once
- Keep functions focused: Each function should do one thing well
- Test incrementally: Validate small changes before making larger ones
Integration with Brobot Runnerโ
The defined schemas are used by both the configuration website and desktop runner application:
- Configuration Website: Used to create and edit your automation project
- Desktop Runner: Executes the automation based on the configuration