Skip to content

Workflow Definitions & Transitions

This page explains how to create and configure workflow definitions and transitions in Django Admin.

Creating a Workflow Definition

  1. Go to Django Admin (see Admin Operations).
  2. Navigate to WorkflowsWorkflow Definitions.
  3. Click Add Workflow Definition.
  4. Fill in the following fields:
FieldDescription
nameA descriptive name for this workflow
descriptionOptional notes about the workflow's purpose
ownerThe company this workflow belongs to. Leave blank to create a global (template) workflow
is_activeWhether this workflow is active. Only active workflows are picked up by the workflow manager
  1. Click Save to create the definition before adding transitions.

Note: Each company can only have one workflow definition. If you need to experiment, use the Copy action to duplicate an existing global workflow to a company (see Copying a Workflow).

Adding Transitions

Transitions are added as inlines within the Workflow Definition edit page.

Each transition has the following fields:

FieldDescription
from_statusThe event status this transition starts from
to_statusThe event status this transition moves the event to
typeAUTO — evaluated by the workflow manager; MANUAL — triggered by user action
priorityInteger (0-based). When multiple AUTO transitions match the same from_status, the one with the highest priority fires first
conditionOptional. A link to a Condition that must evaluate to true. Not applicable for MANUAL transitions
actionsOptional list of registered actions to execute when this transition fires

Transition Type: AUTO vs MANUAL

  • AUTO transitions are evaluated periodically by the workflow manager. You can assign a condition to restrict when they fire.
  • MANUAL transitions are triggered when a user explicitly moves an event to the to_status in the platform UI. They cannot have conditions — they fire unconditionally whenever the status change occurs.

Priority and Ordering

When multiple AUTO transitions share the same from_status, they are evaluated in descending priority order. The first one whose condition evaluates to true is executed. Only one AUTO transition fires per evaluation cycle per event.

If all matching transitions have equal priority, a stable secondary ordering is applied based on status rank.

Setting Up Actions on a Transition

In the transition inline, the Actions field shows all registered workflow actions available to this workflow's company. Select one or more actions to execute when the transition fires.

Actions run in the order they are listed. Synchronous actions run inline; asynchronous actions are dispatched to Celery. See Actions for details.

Copying a Workflow

You can copy a workflow definition (including all its transitions) to another company directly from Django Admin.

  1. Open the Workflow Definition you want to copy.
  2. In the top-right area, click the Copy button.
  3. Select the target company.
  4. Click Copy to confirm.

The copied workflow will be inactive by default. Review and activate it once you've made any company-specific adjustments.

Note: The target company must not already have a workflow definition. If it does, you'll need to delete the existing one first.

Editing Conditions

From the transition inline, click the Condition link to open the condition editor. See Conditions for a full explanation of how to build conditions.

Workflow Status Reference

The following statuses are available for use in transitions:

StatusDescription
CREATEDEntry state when workflow automation is enabled. Events start here and are processed before notifying operators
NEWDefault entry state when automation is disabled. Newly matched emissions
WORK_IN_PROGRESSAn operator has been assigned and is actively working the event
WAITING_APPROVALAwaiting review by a user with reviewer permissions
COMPLETEDAll work is complete. This is a final state
ARCHIVEDThe emission will not be investigated. This is a final state
REJECTEDThe emission is not related to company infrastructure. This is a final state
LINKEDThe emission has been linked to another event. This is a final state

See Emission States for the full state descriptions.