Hands-On Tour of the GFlow Workflow Platform
Without writing a single line of code, walk the whole loop from form design to the final approval stamp. Two ways to do it: the online demo environment (5 minutes), or run a local copy (30 minutes).
Option 1: Online Demo Environment (a good place to start browsing)
The production-ready demo environment comes pre-initialized with an org structure and sample processes:
- URL: http://8.134.32.225:8081
- Administrator:
admin / admin123 - Demo employees:
wangqiang / demo123456andzhangwei / demo123456(they follow different approval paths)
Suggested Walkthrough
- Initiate an approval: log in as wangqiang → Approval Center → initiate a "Leave Request", and submit with 2 days (short path) or 5 days (multi-level countersign path).
- Designers: switch to admin → Workflow → Process Design: create a new process → form design (drag in fields) → Next → Process Designer (add approval/condition/CC/AI nodes) → publish.
- Todo approvals: switch to lina (Engineering Department supervisor) → Todos → approve/reject/add-sign, and watch the parent-child task chain and the transition history (zhangwei is an initiator from the Engineering Department — follow the initiator's view).
- Process tracking: back in the initiator's view, inspect the instance's node trajectory, time spent per node, and form snapshots.
- Monitoring and statistics: the approval statistics dashboard and task monitoring.
Demo data is reset periodically, so feel free to create whatever you like.
Option 2: Local Deployment (run the binary directly)
bash
# 1. Prepare PostgreSQL: create the gflow database and run the init scripts
# Note: the engine's 7 wf_* tables live in scripts/engine/00.init_bpm_pg.sql
# (the program does not create tables on startup — run both scripts)
psql -U postgres -c "CREATE DATABASE gflow"
psql -U postgres -d gflow -f gflow/scripts/engine/00.init_bpm_pg.sql
psql -U postgres -d gflow -f gflow/scripts/00.init_pg.sql
# 2. Build the single binary with the frontend embedded
# (build the frontend first, then go build -tags embed)
cd gflow && make release # produces dist/gflow-server
# 3. Update the database connection (dsn) in configs/config.yaml,
# then start from the gflow directory
./dist/gflow-server # listens on :8080 and reads configs/config.yaml automaticallyYou can also set up the database with
make db-init(which runs scripts/init-db.sh internally and locates the engine script automatically) or with Docker Compose (the postgres container runs both scripts in order automatically on first start).
Open http://localhost:8080/gflow/ in a browser; the default account is admin / admin123. For Docker Compose deployment, see the Deployment Guide.
First Thing After Login: Configure a Process
gflow is designed so that a business administrator can independently configure a 3-5 node approval flow within 30 minutes.
- Basic settings: process name, icon, category (e.g. "HR")
- Form design: the in-house gform-designer — drag in fields such as leave type, start/end dates, and reason, mark them required or set default values; you can also start from a ready-made template in the template library
- Process design: a tree-style visual designer
- Initiator node: everyone or a specified scope
- Approval nodes: choose "direct supervisor" or specific members, and configure OR-sign/countersign
- Conditional branches: click the branch header to configure conditions; candidate variables auto-suggest both form fields (
msg.days) and engine metadata (metadata.process_key, etc.) — remember to check one "default branch" as the fallback - You can also add CC / automation / subprocess / delay-wait / service task / HTTP call / AI Agent nodes
- Publish: the version increments automatically; existing instances keep running on the old version
For detailed instructions, see the Visual Process Designer.