> ## Documentation Index
> Fetch the complete documentation index at: https://docs.justflow.it/llms.txt
> Use this file to discover all available pages before exploring further.

# BPMN 2.0 basics: events, tasks, gateways, and pools

> A plain-language introduction to BPMN 2.0 — the international standard that Just Flow It uses to model any business process visually.

BPMN — Business Process Model and Notation — is an international standard (ISO/IEC 19510) for drawing business processes as visual diagrams. Think of it as a universal language for process maps: once you know what each shape means, you can read any BPMN diagram regardless of which tool created it or which industry it comes from. Just Flow It generates BPMN 2.0 diagrams automatically, so you never need to remember which shape to use — but understanding the building blocks helps you review AI output, make precise refinement requests, and collaborate with colleagues who use other BPMN tools like Camunda or Bizagi.

<Note>
  You do not need to memorise any of this before using Just Flow It. The AI selects and places every element for you. This page is here if you want to understand what the shapes on your canvas mean.
</Note>

## The core building blocks

### Events

Events represent something that **happens** during a process — a trigger, an intermediate occurrence, or an end state. They are shown as **circles**.

| Event type             | Shape                  | When it appears                                                                                                                                                                 |
| ---------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Start Event**        | Thin-bordered circle   | The single point where a process begins                                                                                                                                         |
| **Intermediate Event** | Double-bordered circle | Something that occurs mid-process — supported variants include Timer (wait a set duration), Message (wait for or send a message), and Error (catch or throw an error condition) |
| **End Event**          | Thick-bordered circle  | The final state that signals the process is complete                                                                                                                            |

A process can have multiple End Events representing different outcomes — for example, "Order fulfilled" and "Order cancelled".

### Tasks

Tasks are the **units of work** performed during a process. They are shown as **rectangles with rounded corners** and are labelled with an action, such as "Review application" or "Send confirmation email".

<CardGroup cols={2}>
  <Card title="User Task" icon="user">
    Work performed by a human — filling in a form, reviewing a document, making a phone call.
  </Card>

  <Card title="Service Task" icon="gear">
    Work performed automatically by a system — sending an email, calling an API, running a calculation.
  </Card>

  <Card title="Business Rule Task" icon="scale-balanced">
    Work driven by an automated decision engine or rule set — for example, a credit-scoring engine or a policy-compliance checker evaluating a case.
  </Card>

  <Card title="Manual Task" icon="hand">
    Physical work that happens entirely outside a system — signing a paper form, handing over goods.
  </Card>

  <Card title="Sub-Process" icon="square-plus">
    A task that expands into its own nested process — useful for keeping the top-level diagram readable when a step has many internal steps.
  </Card>
</CardGroup>

### Gateways

Gateways control the **flow of the process** — they split paths when a decision must be made or merge paths when branches rejoin. They are shown as **diamonds**.

| Gateway type        | Symbol                | Behaviour                                                  |
| ------------------- | --------------------- | ---------------------------------------------------------- |
| **Exclusive (XOR)** | Diamond with an **×** | Only one outgoing path is taken — like an if/else.         |
| **Parallel (AND)**  | Diamond with a **+**  | All outgoing paths are taken simultaneously — like a fork. |
| **Inclusive (OR)**  | Diamond with a **○**  | One or more outgoing paths are taken based on conditions.  |

<Tip>
  When chatting with the AI, you can refer to gateways using everyday language. Say "add a decision here — if approved go left, if rejected go right" and the AI will insert an Exclusive Gateway automatically.
</Tip>

### Pools and lanes

Pools and lanes show **who** is responsible for each part of the process.

<CardGroup cols={2}>
  <Card title="Pool" icon="table-columns">
    A Pool represents a single participant — usually an organisation or system. The whole process lives inside one or more pools. Pools communicate with each other via Message Flows (dashed arrows).
  </Card>

  <Card title="Lane" icon="grip-lines">
    A Lane is a subdivision inside a Pool that represents a role, department, or system. Tasks placed in a lane belong to that participant. Lanes make it immediately clear who owns each step.
  </Card>
</CardGroup>

### Sequence flows and message flows

* **Sequence Flow** — a solid arrow that connects elements inside the same pool, showing the order in which activities happen.
* **Message Flow** — a dashed arrow that crosses pool boundaries, showing communication between two separate participants (for example, a customer portal sending an order to a fulfilment system).

## A simple example

A typical BPMN 2.0 diagram for a leave-request process might look like this at a high level:

1. **Start Event** — Employee submits leave request
2. **Task** (Employee lane) — Fill in leave request form
3. **Task** (Manager lane) — Review leave request
4. **Exclusive Gateway** — Approved?
   * Yes → **Task** (HR lane) — Update calendar and notify employee → **End Event** (Approved)
   * No → **Task** (Employee lane) — Notify employee of rejection → **End Event** (Rejected)

Just Flow It can generate this entire structure from a single sentence: *"An employee submits a leave request that a manager reviews and either approves or rejects, with HR updating the calendar on approval."*

## BPMN compatibility

Diagrams generated by Just Flow It export as standard `.bpmn` files following the BPMN 2.0 specification. You can open these files in:

* **Camunda** (Modeler and Engine)
* **Bizagi** (Modeler and Studio)
* **Signavio**
* **draw\.io / diagrams.net** (BPMN import)
* Any other tool that supports the BPMN 2.0 XML schema

<CardGroup cols={2}>
  <Card title="AI Generation" icon="wand-magic-sparkles" href="/concepts/ai-generation">
    See how the AI turns your description into these BPMN elements automatically.
  </Card>

  <Card title="Canvas Overview" icon="object-group" href="/concepts/diagrams-and-canvas">
    Explore the canvas where your BPMN diagrams come to life.
  </Card>
</CardGroup>
