1. Prerequisite Knowledge

Prerequisite Knowledge

To use Stubber effectively, it helps to have both conceptual understanding of the Stubber Framework and some technical familiarity with the tools used to configure templates.

Conceptual Prerequisites

Before building in Stubber, you should understand the core ideas of how Stubber models processes.

Understanding Processes

Stubber is designed to model real organizational processes at a high level. Before building, you should be comfortable identifying:

  • where a process starts
  • where a process ends
  • the major phases in between
  • the actions that move the process forward

Stubber works best when you think in terms of broad process phases rather than small technical workflow steps.

Templates and Stubs

A template defines a process. A stub is a unique running instance of that template.

For example, if the template is sales lead, then each individual sales lead is a stub created from that template.

Understanding this distinction is essential when working in Stubber.

States and Actions

Stubber defines processes using two main concepts:

  • States: periods of time where the process is at rest or waiting
  • Actions: points in time where something happens

A good mental model is:

  • a state describes the current status of the process
  • an action captures what is done next

Stubber is not a traditional workflow tool

If you come from a workflow or BPM background, it is important to understand that Stubber is more flexible than a strictly linear workflow engine.

In Stubber:

  • a stub is only in one state at a time
  • multiple actions may be available in a state
  • actions are constrained by state availability and conditions
  • the process is modeled at a higher level than a rigid task-by-task workflow

Technical Prerequisites

Once you understand the concepts above, the next step is becoming familiar with the technical tools commonly used in Stubber configuration.

JSON

What is JSON

JSON stands for JavaScript Object Notation. It is a common text format used to represent structured data.

JSON is made up of key-value pairs, where each key is a string and each value can be a:

  • string
  • number
  • boolean
  • null
  • array
  • object

Example:

loading...

How JSON is used in Stubber

In Stubber, JSON is used to configure template components such as fields, actions, tasks, notifications, and other aspects of the template structure.

When working in Stubber's JSON editor, you will often be defining objects that describe how part of the process should behave.

Example:

loading...

Variable Substitution

Variable substitution allows you to reference data dynamically inside a template.

Instead of writing fixed values, you can insert placeholders that are replaced with actual data when the stub runs.

Why it matters

Variable substitution makes templates more flexible by allowing messages, notifications, and configurations to adapt to the specific data of each stub.

Example

If a stub contains the following data:

loading...

You can write:

        Hello, {name}! Your latest grade is {grades[0]}.

      

When the stub executes, Stubber replaces the placeholders with the actual values, resulting in:

        Hello, John Doe! Your latest grade is 90.

      

For more information, see:

JSONata

What is JSONata

JSONata is a query and transformation language for JSON data.

In Stubber, JSONata is commonly used for:

  • conditions
  • data transformations
  • extracting values from JSON structures
  • evaluating logic inside template configuration

Example

editor
        {
  "result": grades[0] > 50 ? "Passed" : "Failed"
}

      

In this example, the expression checks whether the first grade is above 50 and returns either "Passed" or "Failed".

Why it matters in Stubber

JSONata is especially useful when you need to make decisions based on data, control whether actions or tasks are available, or transform data for use elsewhere in the template.

For more advanced usage, refer to:

If you are new to Stubber, the best order is usually:

  1. Learn the Stubber concepts:

    • processes
    • templates and stubs
    • states and actions
  2. Learn how to think about process design in Stubber

  3. Learn the technical configuration tools:

    • JSON
    • variable substitution
    • JSONata

Further Reading