Flows and Workflow.
The Flow Engine is the basis for all process automation and workflow in Decisions. A flow is a series of steps that do things. Steps are coordinated in a flow to form a set of processing instructions. What happens in a flow is based on which ‘steps’ are used in the flow. A flow can assign and coordinate tasks between users, show user forms, send emails, post to social networks, integrate with web services, transform data, send text messages, connect to databases and so much more.
Workflow in Decisions is any process that involves users and runs over a period of time. Think about approving a purchase request, or a new employee being hired. Workflow has tasks, deadlines, escalations to managers, and all the pieces that allow you to engage users at the right point and ensure that they get their work done. A workflow is a flow that contains steps that creates tasks for users while a flow is primarily used for processing data and connecting to systems – without user interaction. Workflows containing user interactions can host all of the steps for system interaction that a flow does. In fact the only difference between an automation flow and a workflow in Decisions is the steps in the diagram. There’s no need to do any complex conversion or planning ahead of time to make a flow into a workflow: Just add a task!
Code-less Process Automation. Really.
Flows are constructed graphically using steps. Decisions has hundreds of prebuilt steps and gives you the ability to integrate with external systems using a step by step wizard. What this means is that there is no need to learn a scripting language or become a programmer to automate a process. (Of course we have a great SDK and welcome programmers to create new libraries of steps that do interesting things or talk to interesting systems.)
You can test your process in the exact same visual way that you build it. You can watch your process as it executes and view all the data as it moves through your flow.
It’s all about the steps.
The flow designer is a fully graphical (no code – absolutely none) environment designed for business users. It has a number of great features to make it really easy to build, test, and deploy flows. The resulting flows can be triggered from a form, a scheduled job, or an API call. Advanced features such as branching and merging, automated testing, and flow structure validation are included – but the capability of the flow engine is in the library of steps that are provided as well as ability to integrate new functionality into the flow using the Decisions Platform integration capability.
Flows and users.
Users can be involved in flows either as a participant or an observer.
A user can participate in a flow by initiating a process, handling an assigned task, or responding to the system using email, SMS, their mobile phone, etc. Users can be assigned to respond at steps in the flow either directly or by their group or role. If a user needs to approve something, they can be notified they have this task either in a task list or more actively (like in an email).
Users can also be involved in viewing the state and results of flows in the system with dashboards, notifications, and scheduled reports. A full set of communication steps are included in the platform to allow this involvement to be tailored to your organization’s requirements.
Flows and external systems.
While flows can be used to automate manual processes, they can also be used to create processes that involve both users and systems or deal just with data and system interactions.
Integration with external systems can be accomplished in one of three ways:
- Pre-Built system integrations: There are a number of pre-built integrations that are available with the Decisions Platform. Common protocols (IMAP/POP/SMTP/FTP/HTTP) are all supported as well as a number of enterprise products.
- Using Decisions Platform integration capability: The Decisions Platform can integrate with services (REST/WebService/WCF), databases (Oracle/SQL Server/Postgres/MySQL), any method in a .NET library (without additional coding) as well as any powershell library.
- Using our SDK: If the integration is fully custom, there is an SDK that allows additional steps to be built to integrate into the flow engine.
Data mapping. Fully graphical. (Code-less)
Steps consume data and produce data. Mapping the data in and out of steps and in and out of flows is done using a visual data mapper – where lines are drawn between the data that is ‘inbound’ to the data that is ‘outbound’.
Testing and Unit Testing
The Decisions Platform flow designer includes integrated graphical testing – allowing you to observe the flow as its running in the same paradigm that it was built – fully graphical. While testing the flow, the data within the flow can be observed, forms interacted with and the output data (process view page) can be viewed.
Unit testing is also integrated, allowing tests to be constructed with outputs described for flow executions (or rule executions. By using unit tests, it is possible to maintain a robust set of processes even while they are rapidly changed and evolved.
Features of Flows:
- Fully graphical environment for assembly of business processes without coding.
- Graphical data transformation tool that allows data to be manipulated between the steps in the process
- Graphical debugger that allows observation the execution of the process and adjusting of the data as the process is executing
- Integration of user form designer that allows end users to interact with data forms – either realtime or assigned.
- Integration with the rule engine/rule designer. This enables the business logic to be separated from the workflow process and evolved separately. Business rules tend to be declarative ie, ‘this is allowed’ where a workflow process is about doing things and moving data and actions along through a set of people or systems.
- Large library of steps including
- Text handling
- Email (IMAP, POP, SMTP)
- File Handling
- Date Handling and Rules
- Tracking and management of process state
- Calling any .Net Method
- Calling any webservice
- Twitter Integration
- Twilio Integration for Telephony and SMS
- Amazon EC2 Integration
- Number handling and rules
- Database Integration
- Excel and List data handling
- And more!