Workflow Definitions & Transitions
This page explains how to create and configure workflow definitions and transitions in Django Admin.
Creating a Workflow Definition
- Go to Django Admin (see Admin Operations).
- Navigate to Workflows → Workflow Definitions.
- Click Add Workflow Definition.
- Fill in the following fields:
| Field | Description |
|---|---|
name | A descriptive name for this workflow |
description | Optional notes about the workflow's purpose |
owner | The company this workflow belongs to. Leave blank to create a global (template) workflow |
is_active | Whether this workflow is active. Only active workflows are picked up by the workflow manager |
- 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:
| Field | Description |
|---|---|
from_status | The event status this transition starts from |
to_status | The event status this transition moves the event to |
type | AUTO — evaluated by the workflow manager; MANUAL — triggered by user action |
priority | Integer (0-based). When multiple AUTO transitions match the same from_status, the one with the highest priority fires first |
condition | Optional. A link to a Condition that must evaluate to true. Not applicable for MANUAL transitions |
actions | Optional 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_statusin 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.
- Open the Workflow Definition you want to copy.
- In the top-right area, click the Copy button.
- Select the target company.
- 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:
| Status | Description |
|---|---|
CREATED | Entry state when workflow automation is enabled. Events start here and are processed before notifying operators |
NEW | Default entry state when automation is disabled. Newly matched emissions |
WORK_IN_PROGRESS | An operator has been assigned and is actively working the event |
WAITING_APPROVAL | Awaiting review by a user with reviewer permissions |
COMPLETED | All work is complete. This is a final state |
ARCHIVED | The emission will not be investigated. This is a final state |
REJECTED | The emission is not related to company infrastructure. This is a final state |
LINKED | The emission has been linked to another event. This is a final state |
See Emission States for the full state descriptions.