Skip to main 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

Fields

FieldTypeRequiredDescriptionValidators
doctype_namestrTarget DocType for this workflow-
initial_statestrInitial state for new documents-
stateslist[WorkflowStateDefinition]State definitions-
transitionslist[WorkflowTransitionDefinition]Possible state transitions-
is_activeboolWhether workflow is active-

Permissions

RoleCreateDeleteReadWrite
Admin
System Manager
Workflow Manager

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