Order

Workflow Steps

Complete reference for all workflow steps (OrderActions) in Omnium OMS - the building blocks of order processing workflows.

Workflow steps are the core building blocks of order processing in Omnium. Each step performs a specific action on an order or shipment, such as allocating inventory, capturing payments, sending notifications, or exporting to external systems.

How Workflow Steps Work

Workflow steps are configured in Workflows and execute automatically as orders move through different statuses. Each step:

  • Receives the current Order, optional Shipment, and WorkflowStep configuration
  • Performs its action and returns a result (Success, Warning, or Error)
  • Can optionally trigger a status change or cancel the workflow on failure

Configuration

Each workflow step can be configured with:

SettingDescription
PropertiesKey-value pairs that control step behavior
Market restrictionsLimit execution to specific markets
Store/Warehouse restrictionsLimit execution to specific locations
Shipment optionsFilter by shipping method
TagsFilter by order tags
StopOnErrorWhether to halt the workflow if this step fails

Step Categories

Workflow steps are organized into functional categories:

CategoryDescriptionSteps
AllocationWarehouse assignment, order splitting, reallocation26
PaymentPayment capture, authorization, refunds, invoicing18
InventoryStock reservation, reduction, ATP calculation14
ShipmentsShipment creation, label printing, status updates14
EnrichmentOrder data enrichment, tagging, barcode generation22
ValidationOrder validation, fraud checks, payment verification7
ExportERP export, webhooks, external system integration5
NotificationsEmail and SMS notifications1
CustomersCustomer creation, loyalty points6
WorkflowStatus changes, workflow control5
AnalyticsAnalytics indexing1
SubscriptionsSubscription order creation2
Purchase OrdersPO creation from orders3

Identifying Workflow Steps

Each workflow step has a unique Key identifier used in configuration. This key is shown in the documentation for each step and matches the value in FactoryContants.OrderActions.

Example: The "Allocate to Warehouse" step has key AllocateToWarehouse.

Common Patterns

Test Mode

Most workflow steps support test mode (context.IsTest = true), which returns a simulated result without performing actual operations. This is useful for validating workflow configuration.

Market/Store Restrictions

Steps can check workflowStep.IsAvailableForMarket(order.MarketId) to skip execution for orders from non-configured markets.

Property Configuration

Steps read configuration from workflow step properties:

var warehouseCode = workflowStep.GetProperty("warehouseCode")?.Value;
var skipManual = workflowStep.GetPropertyAsBool("SkipForManualOrder", true);
var storeRoles = workflowStep.GetProperties("storeRoles")?.Select(x => x.Value).ToList();

Result Handling

StatusMeaning
SuccessStep completed successfully
WarningStep completed with a non-critical issue
ErrorStep failed - may cancel workflow if StopOnError is set

When a step sets CancelWorkflow = true, remaining steps in the workflow are skipped.

When a step sets TriggerNewStatus, the order transitions to that status after the workflow completes.

On this page