State

The state a process that's instantiated from this scenario can be in.

The scenario defines a finite state machine. Each state describes through which action it can transition to a new state.

Simple state

A simple state has a single transition specified by the on and goto properties.

Optionally you can limit who can perform the action in this state using by. Use an array for by if multiple actors are allowed to do the action.

initial:
  on: complete
  by: client
  goto: (done)

State with multiple transitions

A state can define multiple transitions. The transition depends on the action being performed in that state or by the actor who performed it.

initial:
  transitions:
    - on: join
      by: participant
      goto: ~
    - on: join
      by: organizer
      goto: start
    - on: cancel
      by: organizer
      goto: (cancelled)
    - after: 

Schema

https://specs.letsflow.io/v0.2.0/scenario/schema.json#state

title

A short title for the state.

description

A long description for the action that is shown when if the state is current or part of the golden flow.

instructions

Instructions that can be specific per actor. This is an object where the keys correspond with the actor keys.

instructions:
  employee: Fill out this form
  employer: Waiting for employee to fill out the form

actions

An array with the keys of all actions that may be performed in this state.

The order of the actions matter, especially for automated actions. The first available action is considered to be the default action. This action is followed when determining the golden flow.

If there is only one action available action, you may replace the actions property with an action property with a single action key as value.

transitions

Dynamic transitions from this state to the next.

Transition schema

https://specs.letsflow.io/v0.2.0/scenario/schema.json#transition

A transition defines the change from one state to the next. State transition definitions are more dynamic than the transition you can set in the response object.

Transitions are evaluated in order. If multiple transitions apply, only the first one is used.

action

Key of the action that must be performed for this transition to be selected.

response

Key of the response for which this transition would be selected.

condition

A boolean that must be true for the transition to be selected. This is typically a data instruction.

transition

Key of the state where to transition to.

Last updated

Was this helpful?