# Process Model versus Process Instance

**In short:** A process model is the blueprint of a business process. A process instance is one run of it, tracked by a token and identified by a unique key.

## Explanation

A **process model** is the drawing of a business process. Once deployed to a process engine and versioned, it is called a process definition. You use it to start instances.

A **process instance** is one execution of that definition. Each instance has its own unique key.

A **token** shows where an instance currently is. You can picture execution as tokens running through the model. A token marks the current point of execution. When the token reaches the end of the process, it is consumed and the instance ends.

Gateways decide which path a token takes. Gateways are the diamond-shaped elements that split the flow (see the article BPMN Gateway):

- An **exclusive gateway** picks one outgoing sequence flow based on data.
- A **parallel gateway** creates new tokens by activating several sequence flows at once.

So one instance can hold several tokens at the same time.

**Correlation** links an incoming message to the right running instance. The message carries an attribute that is matched against a variable of the instance. A correlation key is required when you publish a message. A payment, for example, must reach the right waiting instance.

## Example

A company models a "handle complaint" process once and deploys it. Monday's complaint from customer A starts instance 1. Tuesday's complaint from customer B starts instance 2. Each instance has its own key and its own token.

In instance 1, an exclusive gateway sends the token to "refund". In instance 2, the same gateway sends it to "replace item". The model is the same, but each instance takes a different path.

Later, a message "customer replied" arrives. Its correlation attribute, such as a complaint number, tells the engine which waiting instance should receive it.

BPMN diagram: [One model: an exclusive gateway picks one path per instance, then a parallel gateway creates two tokens.](https://arc.fuet.ch/diagrams/concepts/modeling-bpmn/process-model-versus-process-instance/diagram-1.bpmn)

## Checks

- The document states that a model is deployed as a versioned process definition from which instances are started.
- Each message a process waits for names the attribute used to correlate it to the right waiting instance.
- Parallel gateways are used where several paths must run at once, and exclusive gateways where data selects one path.

## Related

- [BPMN Gateway](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-gateway-semantics.md)
- [BPMN Event](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-event.md)
- [BPMN Collaboration Diagram](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-collaboration-diagram.md)
- [Correlation Identifier](https://arc.fuet.ch/concepts/integration/correlation-identifier.md)
- [BPMN Core Elements](https://arc.fuet.ch/concepts/modeling-bpmn/bpmn-core-elements.md)
- [Runtime View](https://arc.fuet.ch/concepts/documentation/runtime-view.md)
- [Data Exchange between BPMN Processes](https://arc.fuet.ch/concepts/modeling-bpmn/data-exchange-between-bpmn-processes.md)
- [BPM Life Cycle](https://arc.fuet.ch/concepts/modeling-bpmn/bpm-life-cycle.md)

## Sources

- [Glossary | Camunda 8 Docs](https://docs.camunda.io/docs/reference/glossary/) — docs.camunda.io, accessed 2026-11-09
- [BPMN primer | Camunda 8 Docs](https://docs.camunda.io/docs/components/modeler/bpmn/bpmn-primer/) — docs.camunda.io, accessed 2026-11-08
- [Routing events to processes | Camunda 8 Docs](https://docs.camunda.io/docs/components/best-practices/development/routing-events-to-processes/) — docs.camunda.io, accessed 2026-11-09
