Skip to content

Workflow vs. Instance

In kikuflow, "workflow" and "workflow instance" are two distinct concepts. Understanding the difference eliminates a lot of confusion.

Workflow = Template

A workflow is the set of rules you've designed — it defines:

  • What are the steps?
  • Who handles each step?
  • What conditions determine which path to take?

A workflow doesn't "run" — it's a static template. Think of it like a blank form template: it's not the form you're filling out right now.

Instance = One Execution

When someone submits a request, the system creates a workflow instance based on the workflow template. Each instance:

  • Has its own submitted form data
  • Has its own progress status
  • Has its own review history

Multiple instances can run from the same workflow simultaneously. For example, if the "Purchase Request Workflow" has 5 purchase forms in progress today, that's 5 independent instances.

"Purchase Request" Workflow (template)
    ├── Instance: Alice's request #001 (in review)
    ├── Instance: Bob's request #002 (completed)
    └── Instance── Charlie's request #003 (rejected)

⚠️ Common misconception: Why didn't my change affect in-progress requests?

kikuflow uses version locking: every instance locks the workflow version that was active when it was created.

Why? Imagine you changed the reviewers in a purchase workflow — should already-approved steps be recalculated? How would audit records map to the version? It would create chaos.

Correct approach:

  • In-progress instances → continue on the old version until complete
  • Want new logic → publish a new workflow version; new submissions follow it

See: Version Control

kikuflow User Manual