Basically, a workflow is a sequence of industrial, administrative or other processes applied to a piece of work from the initiation to completion.
From this article you will learn to understand, create and manage workflows.
Steps and Transitions¶
Each of the processes or actions applied to a record is a workflow transition and the state of this record before or after a transition is a workflow step.
Each transition connect to steps.
In the example below you can see a simple workflow of a document creation.
The workflow steps are “Start” and squares (In progress, Under review, Finished) and correspond to the state of the document.
Start step is used only to specify the first condition (basically the record is in the “Start” step before its processing has started.
The workflow transitions are the arrows that show what action can be applied to the document at a certain step.
Attributes, (also referred as “fields”) are characteristics of the record. For example, ZIP code and street name are attributes of an address.
In the course of each transition you can change some attributes of the record processed. For example, document attributes may be “Name” that must be defined after transition “Start Writing” and can be changed after transitions “Submit for review” and “Return for rework” and “Number of Pages” that must be defined after “Submit for review” and can be changed after “Approved”
Create Workflows in the UI¶
Prior to creating a workflow in the system, it is a good idea to draw the sequence of steps and transitions.
In order to create a workflow for an entity:
Go to the System → Workflows page and click the Create Workflow button in the top right corner to get to the Create Workflow page.
Define general workflow details
Define possible steps
Choose a default step if any.
Click the button in the top right corner to save the workflow.
A transition can be defined as soon as there is at least one step except the “Start”. However, it is often simpler to define all the steps and then all the transitions between them.
Define basic information in the General section.
The following two fields are mandatory and must be defined:
|Name||Name used to refer to the workflow in the system.|
|Related Entity||A drop-down to choose an entity, for which the workflow is created.|
Display Steps Ordered box is not checked by default and specifies the way workflow steps are displayed on the workflow widget.
- When the box is not checked, only the step that have actually been performed are shown and the current step is highlighted.
- When this box is checked, all the possible workflow steps are shown and the current step is highlighted
The functionality can be a bit confusing for branching workflows (so, in the example, you can see both Disqualified and Opportunity steps), but is rather useful for linear workflows, as the user can see possible future steps.
Define possible workflow steps in the Designer section.
- The first Start step is already defined. You need it as a start point for the first transition.
- To add a step, click the + Add Step button
- Define necessary step details in the “Add New Step” form.
Name used to refer to the step in the system.
Name is the only mandatory field of a step
A number that defines a place where the step will be displayed on the workflow widget.
Position may be specified with any non-negative integer.
The step position on the widget depends on the order only (e.g. 0,2,70).
Steps with the same position are displayed in the order they have been performed. If a step with a smaller position value has been performed later, steps with higher position values are not displayed in the widget.
|Final||The flag shall be checked for final steps of the flow|
Define possible transitions in the Designer section.
- The first “Start” step is already defined. You need it a start point for the first transition.
- To add a step, click the + Add Transition button
- Define necessary step details in the “Add New Transition” form.
The following fields are mandatory:
|Name||Name used to refer to the transition in the system.|
|From step and To step||A dropdown that contains the list of steps defined for the workflow. You can choose any two steps and define the transition between them.|
|View form||When a transition is performed, a form with the entity attributes appears that will be submitted to change the step. Use the field, to define if this form will be displayed in a popup window or a separate page.|
There is also a number of optional fields that can be used to modify the transition in the UI:
|Warning Message||A piece of text that will be displayed every time a user is about to perform the transition.|
|Button icon||Icon used when displaying the transition button|
|Button Style||Choose the transition button style from the dropdown.|
In the Button preview you can see how the button will look in the UI.
In order to define the attribute settings:
Choose attributes of the entity or of its related entities that can/must be defined in the course of the transition.
This is an only mandatory field of the attributes section
|Label||Use the field if you want to change the way it is displayed in the UI. The system label value of the entity is used by default.|
|Required||The flag shall be checked if defining the attribute must be mandatory for the transition.|
- Click + Add button to add one more field (if necessary)
- Click + Apply to apply the attribute settings.
You can also define a default step for the records of the entity, processed by the workflow.
If a default step is specified, once you create a record of the entity, a workflow will be created for it and set to the default step.
If no default step is specified, one of the transitions from the “Start” step must be performed to create a workflow for the record.
UI Limitations for Workflow Creation¶
OroCRM workflows can be created from both the back-end and the UI. However, there is a number of functions that can be defined for a workflow only from the back-end in the course of integration:
- Define Init and Post Actions such as creation of another entity, processing of the existing entity data, email notifications, and other similar actions performed right before of after the transition.
- Define precondition and conditions to check if the transition can be performed. If preconditions are not met, the transition button is not available, and the transition cannot be submitted. Conditions play a similar role but influence only the ability to submit a transition.
- Define validation for the data entered during the transition.
- Create attributes for records not related to the entity.
This way, Workflows created from the UI are comparatively simple and aimed at processing of the records already present in the system.
This only means that more complex workflows that require the features shall be defined in the course of integration. This effects your ability to use them in the UI.
All the workflows, whether they were created from the back-end or in the UI, can be applied to the records of a related entity.
If an initial action that creates a new record of the entity has been defined (from the back-end) for the workflow, the transition buttons are available in the top right corner of the entity grid.
E.g. Start From Lead and Start From Opportunity that create a new Lead or Opportunity record at the start of a Sales Process.
Button of all the transitions, for which pre-conditions (if any) are met, are displayed at View pages of the entity records.
E.g. Develop, Close As Won and Close As Lost buttons on a View page of a Sales Process record qualified to an opportunity.
The current step, or all the steps performed can be displayed on the entity grid, subject to the Entity Management → Workflow Step on Grid settings.
All the performed steps of the workflow are displayed at the widget on the top of the View pages of the entity records, subject to the Workflows → General → Show Ordered and Workflows → Designer → POSITION settings.
Manage System Workflows¶
System workflows are pre-implemented in the system and are of high importance for proper system functioning, thus their management from the UI is limited.
The following actions can be performed for the system workflows:
From the grid
- Activate or deactivate the workflow: or
Each entity may have an unlimited number of workflows related to it, but only one of them can be active.
When a new workflow is activated for an entity, all the workflow data for the entity is reset.
- Clone the workflow: . A copy of the workflow is created and can be customized.
- Get to the View page of the channel:
From the View page:
You can deactivate, activate and clone the workflow with corresponding action buttons in the top right of the page.
Manage Custom Workflows¶
Copies of the system workflows and workflows created in the UI from the scratch are custom workflows.
All the actions available for the system workflows are available for the custom ones.
The following additional action are available for the custom workflows:
From the grid
- Delete the workflow:
- Get to the Edit from of the workflow
The edit form is similar to Create form, but all the previously defined values are already filled and can be changed.
From the View page:
You can deactivate, activate and clone, as well as delete the workflow and get to its Edit form with the corresponding action buttons in the top right corner of the page.