Skip to main content

Business Processes

What is a Business Process?

A Business Process in FlowOn BPM is a structured, repeatable sequence of activities that an organization performs to achieve a specific business objective. It represents the complete flow of work from initiation to completion, capturing the rules, decisions, actions, and human interactions required at each step.

Think of a business process as a roadmap that guides work through your organization. Just as a roadmap shows the routes, intersections, and destinations for a journey, a business process defines the paths, decision points, and outcomes for accomplishing business goals.

The value of formally defining business processes extends beyond simple automation. Well-designed processes provide:

  • Consistency: Every case is handled according to the same rules and standards
  • Visibility: Stakeholders can see where work stands at any moment
  • Accountability: Clear ownership at each stage ensures nothing falls through the cracks
  • Compliance: Audit trails demonstrate that required steps were followed
  • Optimization: Data on process performance enables continuous improvement

BPMN Foundation

FlowOn BPM is built on BPMN (Business Process Model and Notation) principles—the global standard for business process modeling. This means your processes are designed using universally understood concepts, making them easier to communicate across teams, departments, and even organizations.

In BPMN terms, a FlowOn BPM process is a Process Definition—a blueprint that describes:

DimensionWhat It AnswersExample
WhatWhich activities need to be performed?Review application, Verify documents, Approve request
WhenIn what sequence and under what conditions?Verify documents only after application is complete
WhoWho is responsible for each activity?Assigned to Credit Analyst, Escalated to Manager
HowHow are decisions made at branching points?If credit score > 700, proceed to fast-track approval

Process Definition vs. Process Instance

Understanding the distinction between definitions and instances is fundamental to working with FlowOn BPM.

A Process Definition is like a template or blueprint. It describes the structure of the process—what stages exist, how they connect, what rules govern transitions, and what automation runs at each point. You create a process definition once, and it can be used to create many process instances.

A Process Instance is a specific execution of that definition. When a customer submits an order, a new process instance is created from the Order Fulfillment process definition. That instance tracks the specific order through the process, maintaining its own state, data, and history.

ConceptDescriptionAnalogy
Process DefinitionThe template or blueprint that defines the structure, stages, rules, and behavior of a business process. Created once, used many times.A recipe in a cookbook
Process InstanceA single, concrete execution of a process definition, tied to a specific record, transaction, or case. Each instance has its own state and data.A dish being prepared using that recipe
Process StateThe current position of an instance within the process flow, indicating which stage is active and what has been completed.How far along you are in cooking the dish

This separation provides significant benefits:

  • You can update a process definition without affecting instances that are already in progress
  • You can have hundreds or thousands of instances running simultaneously
  • You can analyze aggregate data across all instances to understand process performance
Real-World Example

Consider an Employee Onboarding process:

  • The Process Definition describes all the steps: collect documents, set up IT accounts, assign equipment, schedule orientation, complete training.
  • Each Process Instance represents a specific new hire going through onboarding—"Jane Doe hired on Jan 15" is one instance, "John Smith hired on Jan 20" is another.
  • Each instance progresses independently through the stages at its own pace.

If HR decides to add a new stage to the onboarding process (perhaps a compliance training module), they update the process definition. New hires starting after the change will go through the new stage, but employees already partway through onboarding continue with the original process—no disruption, no confusion.

Integration with FlowOn Logic

FlowOn BPM is deeply integrated with FlowOn Logic, leveraging its declarative programming constructs throughout the process lifecycle. This integration enables citizen developers to build sophisticated business processes without writing code.

How BPM Uses Logic

Integration PointFlowOn Logic FeaturePurpose in BPM
On EnteringLogic FlowsExecute automation when entering a stage
On ExitingLogic FlowsExecute automation when leaving a stage
Transition GuardsLogic Blocks (Decision Tables, Decision Trees)Determine which path to follow
All Configurable FieldsExpression BuilderDynamic values using expressions and functions
Variable ValuesConfigurationsReference global settings (e.g., SLA durations)
Multi-Language TextLocalized ResourcesDisplay text in user's language

Logic Flows in Stage Automation

When a process enters or exits a stage, you can configure Logic Flows to execute:

Use CaseLogic Flow Actions
Status UpdatesUpdate record fields, set timestamps
NotificationsSend emails, create tasks, push notifications
External IntegrationsCall APIs via Service Connections
Data PreparationQuery related records, prepare data for assignees
Audit LoggingCreate audit trail entries

Logic Blocks for Branching

Transition guards can use Logic Blocks to determine routing:

Block TypeUse Case
Decision TableMultiple input conditions → specific output path
Decision TreeSequential yes/no decisions to determine route
ValidationCheck if conditions are met before proceeding

Expression Builder

All configurable fields in FlowOn BPM use the Expression Builder, which provides access to FlowOn's expression language:

FeatureDescriptionExample
Field ReferencesAccess entity fieldsApplication.LoanAmount
Functions85+ built-in functionsFormat("Case {0}", CaseNumber)
CalculationsMathematical operationsBaseAmount * (1 + TaxRate)
Date FunctionsDate manipulationAddDays(SubmitDate, 5)
Conditional LogicIf-then expressionsIf(IsVIP, 1, 3) (days for SLA)
Logic BlocksExecute blocks inlineRunLogicBlock("RiskScore", ...)
ConfigurationsReference config valuesConfig("DefaultSLADays")
Localized ResourcesMulti-language textLocalizedResource("WelcomeMessage")

Configurations for Dynamic Values

Configurations are particularly valuable in BPM for values that may change or vary by environment:

Configuration VariablePurposeExample Value
StandardSLADaysDefault SLA for standard requests3
UrgentSLADaysSLA for urgent requests1
HighValueThresholdAmount requiring senior approval$50,000
MaxRetriesRetry attempts before escalation3
EscalationHoursHours before escalating overdue tasks24

Instead of hardcoding SLA durations:

❌ Hardcoded:
Due Date: AddDays(Now(), 3)

✅ Using Configuration:
Due Date: AddBusinessDays(Now(), Config("ReviewSLADays"))

Localized Resources in BPM

For multi-language support, use Localized Resources for any user-facing text:

BPM ElementLocalized Resource Usage
Task NamesLocalizedResource("TaskName_DocumentReview")
InstructionsLocalizedResource("Instructions_VerifyIdentity")
Email ContentReferenced in notification Logic Flows
Error MessagesLocalizedResource("Error_MissingDocument")