> For the complete documentation index, see [llms.txt](https://interfacing.gitbook.io/interfacing-help-files/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://interfacing.gitbook.io/interfacing-help-files/interfacing-help-files-fr/analystes-de-processus/business-process-management/creating-and-editing-process-diagrams/mapping-a-process/editing-bpmn-properties-for-objects-and-flows/gateways-and-flows.md).

# Gateways & Flows

Configure properties to define gateway behavior and flow rules, controlling branching, merging, synchronization, and sequencing.

A **gateway** controls the movement of a process, determining which path(s) are taken and how multiple paths are joined or synchronized.

A **flow** connects process elements, defining the sequence of execution or the type of interaction between them.

Both gateways and flows have **types** that define their behavior.

***

## Gateway Types

Gateways direct process flow through branching, merging, or synchronization.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th>What It Is</th><th align="center">What It Looks Like</th></tr></thead><tbody><tr><td><strong>None</strong></td><td>A gateway with no specific symbol or defined behavior; serves as a generic decision or merge point.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/5O7acSG5MT1jpxfrGu2N/IMS-V16-Library-Edit-Proc-BPMN-12-1.png" alt="" data-size="original"></td></tr><tr><td><strong>Exclusive</strong></td><td>An <strong>exclusive gateway</strong> routes the flow to only one outgoing path based on conditions, allowing only a single path to be taken.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/lZRTBatg4Ydjovl0a8a2/IMS-V16-Library-Edit-Proc-BPMN-12.png" alt="" data-size="original"></td></tr><tr><td><strong>Inclusive</strong></td><td>An <strong>inclusive gateway</strong> routes the flow to one or more paths simultaneously depending on the specified conditions. Multiple paths may be taken.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/rAeNcQbbxoSoFXElDNAt/IMS-V16-Library-Edit-Proc-BPMN-13.png" alt="" data-size="original"></td></tr><tr><td><strong>Parallel</strong></td><td>A <strong>parallel gateway</strong> splits or joins multiple paths that execute concurrently, without evaluating any conditions.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/tpO6L4rlPHwFNUMwr27U/IMS-V16-Library-Edit-Proc-BPMN-14.png" alt="" data-size="original"></td></tr><tr><td><strong>Complex</strong></td><td>A <strong>complex gateway</strong> handles advanced synchronization and branching scenarios that cannot be modeled by other gateway types.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/qZToVhuIj5aXrrFylrzY/IMS-V16-Library-Edit-Proc-BPMN-15.png" alt="" data-size="original"></td></tr><tr><td><strong>Exclusive — Event Based</strong></td><td>An <strong>exclusive event-based gateway</strong> routes the flow based on events, waiting for one event among many to occur before proceeding.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/k2gBMivKLSUtuuad66vJ/IMS-V16-Library-Edit-Proc-BPMN-16.png" alt="" data-size="original"></td></tr><tr><td><strong>Exclusive — Event Based — Start</strong></td><td>An <strong>exclusive event-based start gateway</strong> starts a process flow by waiting for one of several possible events to trigger continuation.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/K8cf2ibLUSPQJkcIDVOT/IMS-V16-Library-Edit-Proc-BPMN-17.png" alt="" data-size="original"></td></tr><tr><td><strong>Parallel — Event Based — Start</strong></td><td>A <strong>parallel event-based start gateway</strong> triggers multiple events simultaneously, enabling concurrent flows based on event occurrences.</td><td align="center"><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/66JVQbJXom7Lok6goyI7/IMS-V16-Library-Edit-Proc-BPMN-18.png" alt="" data-size="original"></td></tr></tbody></table>

***

## Flow Types

Flows show how activities, events, and gateways are connected.

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th>What It Is</th><th align="center">What It Looks Like</th></tr></thead><tbody><tr><td><strong>Sequence Flow</strong></td><td>A <strong>sequence flow</strong> shows the order in which activities and events are executed within the process.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/fcTRbJHpa5gjY0eupoG5/IMS-V16-Library-Edit-Proc-BPMN-36.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Default Flow</strong></td><td>A <strong>default flow</strong> acts as a fallback path taken when none of the conditions on other outgoing sequence flows are met.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/M70N33sLVTXBLgf0L5KG/IMS-V16-Library-Edit-Proc-BPMN-37.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Conditional Flow</strong></td><td>A <strong>conditional flow</strong> routes the process based on a specified condition, proceeding only if the condition evaluates to true.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/vAfRv2YMdtci775wt4KQ/IMS-V16-Library-Edit-Proc-BPMN-38.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Message Flow</strong></td><td>A <strong>message flow</strong> represents communication between different participants or processes, typically indicating the exchange of messages.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/Zmt8OwCzmrTv3uHex2Ce/IMS-V16-Library-Edit-Proc-BPMN-39.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Association</strong></td><td>An association connects artifacts—such as data objects or text annotations—to BPMN elements to provide clarification or additional information.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/pYLzKHP2Ao4gfdOCCXpY/IMS-V16-Library-Edit-Proc-BPMN-40.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Directed Association</strong></td><td>A directed association is a one-way link between BPMN elements that indicates the direction of the relationship.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/NanjSI3d7aSjUzrmZEoG/IMS-V16-Library-Edit-Proc-BPMN-41.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Bidirected Association</strong></td><td>A <strong>bidirected association</strong> indicates a two-way connection between an artifact and a BPMN element.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/XfeQNoJKsER89tHiNZLM/IMS-V16-Library-Edit-Proc-BPMN-42.png" alt="" data-size="original"></p></td></tr><tr><td><strong>Conversation</strong></td><td>A <strong>conversation flow</strong> represents interactions or exchanges between two or more participants in a collaborative process.</td><td align="center"><p></p><p><img src="https://content.gitbook.com/content/AgpNu7XmgN3Z9B8kIShD/blobs/y3W4BjMSWi5uaotouTsq/IMS-V16-Library-Edit-Proc-BPMN-43.png" alt="" data-size="original"></p></td></tr></tbody></table>

{% hint style="warning" %}
Flows connecting an artifact or data store automatically use **directed association**, which cannot be changed.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://interfacing.gitbook.io/interfacing-help-files/interfacing-help-files-fr/analystes-de-processus/business-process-management/creating-and-editing-process-diagrams/mapping-a-process/editing-bpmn-properties-for-objects-and-flows/gateways-and-flows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
