Skip to main content

Stages

What is a Stage?

A Stage is the fundamental building block of a FlowOn BPM process. In BPMN terminology, a stage corresponds to an Activity or Task—a discrete unit of work within the process that must be completed before moving forward.

Each stage represents a distinct phase in the business process where specific objectives are accomplished. Stages are not just placeholders—they are rich containers that encapsulate everything needed to complete a particular piece of work.

Stage ElementPurposeExample
Work to be performedThe core activity or set of activitiesReview submitted documents for completeness
Data requirementsInformation needed to complete the stageCustomer ID, income verification, credit report
Validation rulesConditions that must be met to proceedAll required fields populated, documents attached
AssignmentsWho is responsible for completing the workCredit Analyst team, specific manager, or system
Automation triggersLogic executed on entering or exitingSend notification, update record, calculate score

Stage Assignments

Stages in FlowOn BPM are generic containers—they don't have predefined types like "manual task" or "automated task." Instead, the Assignment configuration determines who is responsible for completing the work within that stage.

This flexible, assignment-driven approach provides powerful versatility: the same stage structure can behave as a manual task, a team queue, or a fully automated step simply by changing its assignment configuration.

AssignmentBPMN EquivalentDescriptionBest For
UserUser TaskA specific, named user is assigned to complete the stageTasks requiring specific expertise or accountability
TeamUser Task (with lane/pool)A team or group is assigned; any qualified team member can claim and complete itWorkload balancing, availability-based assignment
Every Team MemberParallel User TasksEvery member of the team receives their own individual taskConsensus gathering, parallel reviews, multi-party sign-off
SystemService TaskThe system automatically processes the stage without human interventionData validation, calculations, integrations, notifications
CustomParallel Mixed TasksMultiple assignees (users, teams, or system) work in parallelCross-functional collaboration, hybrid human-system work

User Assignment is appropriate when a specific individual must handle the work. This might be because they have unique expertise, they have an existing relationship with the customer, or accountability requires a named individual.

Team Assignment is ideal when any qualified person can do the work and you want to balance workload across a group. The task goes into a shared queue, and the first available team member claims it.

Every Team Member assignment creates parallel work when you need input from multiple people. Each team member receives their own task to complete.

System Assignment removes humans from the loop entirely. The stage executes automatically using FlowOn Logic, calling APIs, running calculations, or performing validations without human intervention.

Custom Assignment provides maximum flexibility by allowing you to define exactly who should receive tasks and how completion is determined.

Why Assignment-Based Design?

Traditional BPM tools force you to choose a task type upfront, locking in behavior. FlowOn BPM's assignment-based approach means you can:

  • Prototype quickly: Start with manual stages, automate later
  • Adapt to change: Shift from individual to team assignment without redesigning
  • Mix modes: Some instances route to humans, others to system, based on rules

Stage Configuration

Stages offer rich configuration options that control behavior, automation, assignments, and flow.

General Settings

The General tab defines the fundamental properties of a stage:

SettingDescriptionPurpose
Stage NameThe display name of the stageIdentifies the stage in the designer and at runtime
Stage OwnerThe user or role responsible for the stageDefines accountability and escalation target
Due DateThe expected completion timeframeEnables SLA tracking and deadline enforcement
Terminating StageWhether this stage ends the processMarks the stage as a process endpoint

Stage Owner vs. Task Assignee

The Stage Owner is the person or role accountable for the stage's completion. This is distinct from the task assignee—the owner has oversight responsibility even if the work is performed by others.

  • Stage Owner: Accountable for completion, receives escalations, has oversight visibility
  • Task Assignee: Performs the work, receives task notifications, completes the task

Due Date Configuration

Due dates can be configured as:

Due Date TypeDescriptionExample
Fixed DurationA set time period from stage entry3 business days after entering the stage
Calculated DateA date derived from record dataBased on the "Requested Completion Date" field
Dynamic ExpressionA formula-based calculationPriority = High → 1 day; Priority = Normal → 5 days

Terminating Stage

A Terminating Stage marks the end of a process instance. When an instance reaches a terminating stage, the process is considered complete.

On Entering

The On Entering configuration defines automation that executes when a stage is reached—before any task assignment is created.

Purposes:

  • 📧 Send notifications alerting stakeholders that the stage has been reached
  • 📝 Update data records with status changes or timestamps
  • 🔗 Trigger integrations with external systems via Service Connections
  • 🚀 Launch sub-processes that run in parallel
  • ✅ Validate prerequisites before work begins
OptionDescriptionUse Case
Logic FlowsFlowOn Logic Flows to executeSend email, update record, call external API
Sub-ProcessesOther business processes to launchInitiate parallel approval, start compliance check
Execution OrderSequence of multiple automationsEnsure notification sends after record update
Error HandlingBehavior if automation failsRetry, skip, or halt the process

Example On Entering Configuration:

Stage: Document Review
On Entering:
1. [Logic Flow] UpdateApplicationStatus
- Sets Application.Status = "Under Review"
- Sets Application.ReviewStartDate = Now()

2. [Logic Flow] SendReviewNotification
- Sends email to applicant
- Uses Localized Resource for multi-language support

3. [Logic Flow] CreateAuditEntry
- Logs "Review Started" to audit table

Assignment

The Assignment configuration defines what work needs to be done, who does it, and what constitutes completion.

Activity Entity

The Activity Entity specifies which Dynamics 365 activity type is used to represent the work item:

Activity EntityUse CaseExample
TaskGeneral work items, to-dos"Review application documents"
Phone CallStages requiring customer contact"Call applicant to verify information"
AppointmentScheduled meetings or sessions"Conduct in-person interview"
EmailCommunication-based stages"Send follow-up request"
Custom ActivityOrganization-specific activity types"Site Inspection", "Compliance Review"
Why Activity Entities Matter

By leveraging Dynamics 365 activity entities, FlowOn BPM integrates seamlessly with the platform:

  • Timelines: Activities appear on related record timelines
  • Queues: Team assignments route to Dynamics queues
  • Dashboards: Work items visible in standard activity views
  • Mobile: Accessible via Dynamics 365 mobile apps

Task Definition

ElementDescription
Task NameClear description of the work (e.g., "Review Application Documents")
InstructionsDetailed guidance for the assignee
Required FieldsData that must be completed before the task can be finished
Attached FormsUI forms presented to the assignee

Completion Criteria

Completion criteria define when a task is considered done:

Criteria TypeDescriptionExample
All CompleteEvery assigned task must be finishedAll 3 executives must approve
Any CompleteStage progresses when first task completesFirst available agent handles request
PercentageA threshold of tasks must complete2 out of 3 approvers (66%)
Custom RuleLogic-based completion determinationSenior approver OR two junior approvers

On Exiting

The On Exiting configuration defines automation that executes when a stage completes—after all assignment criteria are met but before transitioning to the next stage.

Purposes:

  • 📧 Send completion notifications
  • 📝 Update records with outcomes, timestamps, or calculated values
  • 📊 Log metrics and audit information
  • 🚀 Trigger follow-up processes
  • 🔗 Synchronize with external systems via Service Connections

Example On Exiting Configuration:

Stage: Manager Approval
On Exiting:
1. [Logic Flow] RecordApprovalDecision
- Sets Application.ApprovalStatus = Task.Outcome
- Sets Application.ApprovedBy = Task.CompletedBy
- Sets Application.ApprovalDate = Now()

2. [Logic Flow] NotifyApplicant
- Sends approval/rejection email based on outcome