Sage CRM has a very powerful internal workflow engine. Workflow may control the processing of data from the initial insertion of the record through to its final state.
The user driven aspect of workflow is created from a mixture of workflow rules and states. The states represent the arbitrary resting points in the lifecycle of a record. For example, an opportunity is registered as a Lead, then moves to a Qualified state, then a Quoted state and so on. The movement between each state is governed by a rule. Rules are experienced by the user in the interface as action buttons. These buttons call the rules and their associated actions.
There are different types of rules to govern the different types of transition that may exist in a workflow. Sage CRM workflow will happily support branching, looping and all the different types of movement in a process that you may expect.
The basic rule types for user driven behaviour are:
- Primary Rules: which govern the initial creation of the record being workflowed
- Transitional Rules: which control the simple movement from one state to another
- Global Rules: which allow for the calling of actions but no onward change of state
- Conditional Rules: which allow for branching of action and state within a workflow
There are different kinds of action available depending on the type of rule.
Although you can see from the chart above there are a lot of powerful actions that may be taken in a workflow, sometimes it is desirable to use an ASP page to control the actions. Reasons for this may be:
- Controlling the creation of a custom entity
- Carrying out actions on more than one record
- Carrying out actions on an external application or database
- Carrying out a complex set of actions not in the standard set (e.g. creation of Appointment)
Please note: ASP pages may only be called by user driven rules (Primary, Transitional, Global, and Conditional) and may not be invoked by Escalation rules.
Escalation rules are discussed in other blog posts.
There are existing blog posts that cover different aspects of using ASP pages in workflows