Skip to content
← All terms

Data Object

A document icon attached to an activity or flow that shows what data the step needs or produces.

What a data object represents

A data object is a small page-with-folded-corner icon that represents information flowing through the process. It can be an input to an activity, an output of one, or a document that persists and gets mutated by several steps. The key point is that it is *not* a step. It is a thing, not a thing-being-done.

BPMN 2.0 distinguishes two related notations. The plain data object lives inside the flow and shows the information as it moves between activities. The data store (a cylinder with lines) represents a persistent repository (a database, a file system, a queue) that sits outside the direct flow and that activities read from or write to.

When data objects actually help

  • When the same document is produced, modified, and consumed across several steps, e.g. an invoice that starts as a draft, gets approved, becomes official, gets paid.
  • When inputs and outputs differ in kind, an activity that reads a customer record and writes a compliance report. Showing both data objects makes the transformation obvious.
  • When a step has no inputs or outputs the casual reader would guess. Surprise data dependencies deserve a visual cue.
  • Skip data objects for steps where the inputs and outputs are obvious or uniform across the whole process, they will only add noise.

Data objects in LucidFlow

LucidFlow produces data objects selectively. When the source document references specific artefacts ("the vendor sends a quote", "compliance produces a report"), the generator emits a data object linked to the relevant activities. Activities that just transform state internally ("calculate the total", "update the status") do not get data objects unless you ask for them, because the visual cost outweighs the value.

Frequently asked questions

What is the difference between a data object and a data store?

A data object is ephemeral. It flows through the process, exists in the context of the current instance, and disappears when the process completes. A data store is persistent, a database or file system that outlives any single process instance.

Can a data object have a state?

Yes. BPMN 2.0 allows a state annotation in brackets below the data object label, e.g. `Invoice [draft]` vs `Invoice [approved]`. Use it to show how the same artefact evolves through the process, which is often more informative than showing the same data object unchanged at every step.

Do data objects get exported to BPMN XML?

Yes. Both data objects and data stores have canonical XML elements in BPMN 2.0 (`dataObjectReference`, `dataStoreReference`), and LucidFlow emits them so the diagram round-trips to other tools without data loss.

Related terms

← Back to the full glossary