Skip to main content

Workflow

Defines a complete workflow configuration.

Attributes:
doctype: The target DocType this workflow applies to
initial_state: The starting state for new documents
states: List of state definitions with metadata
is_active: Whether this workflow is currently active

Source: workflow.py

Fields

FieldTypeRequiredDescriptionValidators
doctypestrTarget DocType for this workflow-
initial_statestrInitial state for new documents-
stateslist[dict[str, str]]State definitions with name and optional metadata-
is_activeboolWhether workflow is active-

Configuration

SettingValue
SubmittableFalse
Track ChangesTrue

Controller

Controller hooks are implemented in *_controller.py files. Available lifecycle hooks:

  • validate() - Called before save, raise exceptions for validation errors
  • before_insert() - Called before inserting a new document
  • after_insert() - Called after successfully inserting
  • before_save() - Called before saving (insert or update)
  • after_save() - Called after saving
  • before_delete() - Called before deleting
  • after_delete() - Called after deleting