Data elements in BPMN
Data elements in BPMN represent information that flows through a process — documents, records, forms, datasets. They are optional: most diagrams work fine without them. Add data elements when you need to show what information a task needs or produces.
The data elements
Data Object
A document or piece of information used or produced by a task. Shown as a page icon with a folded corner. Example: "Invoice", "Application form", "Customer record". Can have states like [draft] or [approved].
Data Store
A persistent repository of data that lives beyond a single process instance. Shown as a cylinder. Example: "Customer Database", "ERP System", "Document Archive".
Data Input / Data Output
Formal inputs and outputs of a process. Data input: what the process needs to start. Data output: what the process produces when it finishes.
Data Association
A dotted arrow connecting a data element to a task. Shows that the task reads from or writes to that data. Not a sequence flow — data associations do not control the order of execution.
When to model data
- -Compliance and audit — regulators want to see what data is accessed, where it is stored, and who touches it.
- -System integration — when designing automation, data elements show which systems need to exchange information.
- -Complex handoffs — when work passes between teams and the receiving team needs specific information to continue.
For most process documentation, data elements are unnecessary noise. Add them only when they answer a question someone will ask.
Related guides
Keep learning
Frequently asked questions
Should I always model data in BPMN?▼
No. Data elements are optional and add visual complexity. Only include them when they serve a purpose: compliance requirements, system integration design, or clarifying handoffs.
What is the difference between a data object and a data store?▼
A data object is a transient piece of information within one process instance (e.g., an invoice). A data store is a persistent repository shared across instances (e.g., a database).
Can data associations control the flow?▼
No. Data associations (dotted arrows) show data dependencies, not execution order. Only sequence flows (solid arrows) control when tasks execute.