Skip to main content

oro-workflow

Use when creating OroCommerce v6.1 approval workflows, customizing checkout flow, defining workflow steps and transitions, configuring transition conditions and actions, setting up operations, or working with workflow scopes. Relevant when the user mentions 'workflow', 'checkout customization', 'approval process', 'state machine', 'transitions', 'operations.yml', 'workflows.yml', or any OroCommerce business process automation.

Source facts

Repository
netresearch/orocommerce-skill
Last source activity
September 29, 2026 at 22:21
Detected SKILL.md language
English
Stars
3
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
oro-workflow
description
Use when creating OroCommerce v6.1 approval workflows, customizing checkout flow, defining workflow steps and transitions, configuring transition conditions and actions, setting up operations, or working with workflow scopes. Relevant when the user mentions 'workflow', 'checkout customization', 'approval process', 'state machine', 'transitions', 'operations.yml', 'workflows.yml', or any OroCommerce business process automation.
# OroCommerce v6.1 Workflow Configuration Skill ## File Locations - **Workflow definitions**: `Resources/config/oro/workflows.yml` - **Operations**: `Resources/config/oro/operations.yml` ## Basic Workflow Structure Each workflow requires `label`, `entity`, `start_step`, `steps`, and `transitions`: ```yaml workflows: document_approval: label: Document Approval entity: Acme\Bundle\DemoBundle\Entity\Document start_step: submitted steps: submitted: label: Submitted allowed_transitions: [approve, reject] approved: label: Approved allowed_transitions: [publish, reject] rejected: label: Rejected allowed_transitions: [resubmit] published: label: Published transitions: approve: label: Approve step_to: approved message: Document approved reject: label: Reject step_to: rejected resubmit: label: Resubmit step_to: submitted publish: label: Publish step_to: published ``` Steps without `allowed_transitions` are terminal states. Step names must be unique across all active workflows on the same entity. ## Transition Definitions with Conditions and Actions ```yaml transition_definitions: approve_definition: preconditions: '@and': - '@eq': [$is_manager, true] - '@gte': [$document_priority, 3] actions: - '@assign_value': [$approved_at, $.now] - '@call_method': object: $entity method: markApproved transitions: approve: label: Approve step_to: approved definition: approve_definition ``` Preconditions block the transition if false. Actions execute only on success. See `references/condition-expressions.md` for the full expression list. ## Checkout Workflow Customization Customize checkout by importing and overriding `b2b_flow_checkout`: ```yaml workflows: custom_checkout: import: - workflow: b2b_flow_checkout label: Custom Checkout metadata: is_checkout_workflow: true ``` **CRITICAL**: Preserve `is_checkout_workflow: true` in metadata. Without it, checkout breaks silently. Override individual steps or transitions by redeclaring them under the same key. ## Key Pitfalls 1. **Step/transition name uniqueness**: Names must be unique across ALL active workflows on the same entity type. Use prefixes: `document_pending`, `order_pending`. 2. **Import path correctness**: Reference the original workflow name exactly. Typos silently fail without error. 3. **Condition syntax**: Conditions use `@` prefix for functions and `$` prefix for attributes. Missing either causes parsing errors: ```yaml - '@eq': [$is_manager, true] # Correct - 'eq': [$is_manager, true] # Wrong — no @ prefix - '@eq': [is_manager, true] # Wrong — missing $ prefix ``` ## See Also - `references/workflow-patterns.md` — Attributes, operations, event-triggered transitions, scopes, common patterns, testing/debugging, WorkflowManager API - `references/condition-expressions.md` — Full expression reference - [v6.1 notes](references/v6.1.md)
View on GitHub