A deterministic, policy‑enforcing workflow engine designed for ArcGIS Enterprise + VertiGIS Studio Workflows, used to implement non‑bypassable business processes such as Utility Network asset lifecycle management, permitting, inspections, and regulatory workflows.
The Workflow State Engine Activity Pack provides a reusable execution framework for building guided, auditable, and defensible workflows where:
- Business rules must not be bypassed
- Lifecycle transitions must be explicit and deterministic
- Data edits must be atomic and undoable
- Validation, execution, and audit concerns are cleanly separated
The engine is configuration‑driven and executes workflows defined as state machines, rather than UI‑driven scripts.
- A state‑based execution engine
- A policy enforcement layer for GIS workflows
- A coordination mechanism for VertiGIS Workflow handlers
- A repeatable execution model for complex lifecycle logic
- Not a BPMN engine
- Not a UI framework
- Not a general task scheduler
- Not a replacement for ArcGIS Utility Network rules
- ✅ Deterministic state progression
- ✅ Explicit lifecycle transitions
- ✅ Token‑based parallel execution
- ✅ WAIT / RESUME semantics for long‑running processes
- ✅ Atomic, undoable edits
- ✅ First‑class audit and history logging
- ✅ Schema‑driven decision making (Asset Groups, Asset Types, Categories)
- ✅ Designed for regulatory and safety‑critical workflows
A named step in a workflow. States are one of:
handler– executes business logicjoin– synchronizes parallel tokensterminal– ends execution
A VertiGIS Workflow activity that:
- Receives execution context
- Applies business logic (or validation)
- Returns an explicit outcome
Represents the overall workflow execution (e.g., “Retire Assets”).
Represents a parallel or scoped sub‑workflow (e.g., ENV review, TECH review).
| Mode | Description |
|---|---|
| INSTANCE | Controls the overall lifecycle |
| TOKEN | Executes parallel or scoped logic |
Rules
- Tokens may not enter join states
- Tokens may not modify instance‑level state
- Join states only execute in INSTANCE mode
Workflows are defined using JSON / JSONC configuration files.
- Sign in to ArcGIS Online or Portal for ArcGIS
- Go to My Content
- Select Add Item > An application
- Type:
Web Mapping - Purpose:
Ready To Use - API:
JavaScript - URL: The URL to this activity pack manifest
- Use https://unpkg.com/@vertigis/workflow-activities-state-manager@1.0.0/activitypack.json for a specific version
- Use https://unpkg.com/@vertigis/workflow-activities-state-manager@1/activitypack.json for the latest revision of a specific major version
- Use https://unpkg.com/@vertigis/workflow-activities-state-manager/activitypack.json for the latest version (not recommended for production use)
- Use https://localhost:5000/activitypack.json for a local development version
- Title: Your desired title
- Tags: Must include
geocortex-workflow-activity-pack
- Type:
- Reload VertiGIS Studio Workflow Designer
- The State Manager activities will now appear in the activity toolbox in a
State Managercategory
{ "processKey": "ASSET_RETIRE_MIDSTREAM_GAS", "startState": "INITIATE", "states": { "INITIATE": { "type": "handler", "handler": "WF_State_InitiateRetire", "url": "https://url_to_workflow_handler" }, "VALIDATE": { "type": "handler", "handler": "WF_State_ValidateRetireEligibility", "url": "https://url_to_workflow_handler" }, "EXECUTE": { "type": "handler", "handler": "WF_State_ExecuteRetirement", "url": "https://url_to_workflow_handler" }, "END": { "type": "terminal" } } }