Skip to content

Workflow

Defines a complete workflow configuration for a specific DocType.

Attributes:
doctype_name: The target DocType this workflow applies to
initial_state: The starting state for new documents
states: List of all possible state definitions in this workflow
transitions: List of all valid actions and state changes
is_active: Whether this workflow is currently active

Source: workflow.py

Field Type Required Description Validators
doctype_name str Target DocType for this workflow -
initial_state str Initial state for new documents -
states list[WorkflowStateDefinition] State definitions -
transitions list[WorkflowTransitionDefinition] Possible state transitions -
is_active bool Whether workflow is active -
Role Create Delete Read Write
Admin
System Manager
Workflow Manager
Setting Value
Submittable False
Track Changes True

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