Skip to main content
Version: 2026.1

Support Strategies

The workflow engine offers several ways to define which entities a configured workflow supports.

The different configuration methods cannot be combined. Choose one.

Supports

Use supports to define a single entity class name or an array of entity class names.

Configuration Examples
   supports: Pimcore\Model\DataObject\Product
   supports:
- Pimcore\Model\DataObject\Product
- Pimcore\Model\DataObject\ProductCategory

Expression Support Strategy

The expression support strategy applies a workflow to an entity only under certain circumstances. Define a Symfony expression - the workflow applies only when the expression evaluates to true.

Configuration Example

In the following example, the workflow applies to products where the attribute "productType" equals "article".

   support_strategy:
type: expression
arguments:
- Pimcore\Model\DataObject\Product
- "subject.getProductType() == 'article'"

Custom Support Strategy

For custom logic, add a service that implements Symfony\Component\Workflow\SupportStrategy\WorkflowSupportStrategyInterface.

Configuration Example
   support_strategy:
service: App\Workflow\SupportStrategy
Example Implementation (register in the service container)
<?php
namespace App\Workflow;

use Symfony\Component\Workflow\SupportStrategy\WorkflowSupportStrategyInterface;
use Symfony\Component\Workflow\WorkflowInterface;

class SupportStrategy implements WorkflowSupportStrategyInterface
{
public function supports(WorkflowInterface $workflow, object $subject): bool
{
if ($subject instanceof \Pimcore\Model\DataObject\Test) {
return true;
}

return false;
}
}