Skip to content

Attachments ​

The attachment nodes represent data or data sources that participate in a process without being part of the sequence flow. Attachments are typically associated with activities to indicate which information is read, written, or consulted.

In BPMN, attachments are data artifacts, graphical objects that provide additional information about the process without directing sequence flow. Two subtypes are supported:

  • Data object, drawn as a page (rectangle with a folded top-right corner). Represents an input, output, or transient piece of information handled by an activity.
  • Data store, drawn as a cylinder. Represents a persistent store such as a database that information is read from or written to.

A text annotation is a BPMN artifact as well: free text drawn inside an open bracket next to the nodes it explains.

Data ​

The generic data attachment. Use it to represent any piece of information handled by the process.

Input

pml
DATA 'text input'

Input suggestion

pml
DATA 'Data' NEXT

Icon

Data icon

Database ​

A data attachment that specifically represents a database.

Input

pml
DATABASE 'text input'

Input suggestion

pml
DATABASE 'Data' NEXT

Icon

Database icon

Text annotation ​

A remark that explains a step. The text is drawn inside a box that is open on its right side, joined to every node it names by an association: a dotted line without an arrowhead.

Input

pml
TEXT 'text input'

Input suggestion

pml
TEXT 'Orders above 500 euro need a second approval' NEXT 'Approve order'

One annotation explains several nodes through an AND chain:

pml
TEXT 'Handled by the warehouse team' NEXT 'Pick items' AND 'Pack items'

Every connection of a text annotation is an association. NEXT and NEXT-ASSOCIATION give the same dotted line. NEXT-MESSAGE on a TEXT line is an error, and the process does not compile.

Icon

Text annotation icon

Lanes ​

An attachment and every node its NEXT names belong to the same lane. An attachment that names a node in another lane is an error, and the process does not compile.

pml
LANE user1
START 'Start' NEXT
ACTIVITY 'Review' NEXT

LANE user2
ACTIVITY 'Archive' NEXT
END 'End'

LANE user1
DATA 'Form' NEXT 'Review'

LANE user1 declared a second time puts 'Form' in the lane that holds 'Review'.