The next step is to add some workflow stages. Let's take a step back to understand a bit about what we're doing here.

The stages of the workflow are displayed in the workflow designer, and the process flows from top to bottom. An example of a pretty large workflow in the designer is shown below:

You can think of the workflow as a decision-tree. Each stage is followed by two or more decisions. These decisions are presented to the user to select from. When the user selects the action, they can also enter more information that is added to the record. So the workflow process is a process of decision making and data collection. This is a different approach to traditional workflow designers, but far more simple to understand.

Each "decision" at each branch of the workflow tree becomes buttons on that record. The user will click a button to choose which path to take in the workflow tree. When they click that button, the system may ask them for some additional fields that will be added to the record so subsequent users can see what they entered. The main form behind the workflow will contain an aggregate of all the fields that are collected in all the stages.

When they hit the end of a path, the workflow is complete - no more buttons are displayed and the originator of the workflow is notified.

This is the basic process of workflow in WorkflowFirst.

It's also worth mentioning the concept of roles. Every stage in the workflow can be assigned a role. This refers to a security role, that is edited under the Application record. When a workflow stage has a specific role assigned to it, then only users who have that role can view that workflow stage. Only that user can make the decisions at that workflow stage.

The roles feature is very important in your workflow, as it controls how the workflow item travels from one person to another. It also creates filters that can allow users to see records relevant to their role, and notifications that enable users with certain roles to subscribe to receive email notifications related to the workflow.

Specifying a role on one workflow stage will mean that all workflow stages underneath that will inherit the same role, unless it is overridden. You can also specify multiple roles (in the More Roles section), where a user with any of those roles will be able to access that workflow stage.

Ok now we understand the basics of workflow, let's create our first stage.