jsn / ServiceNow, simplified.
AustraliaREFERENCE GUIDE

Business Process Modeling Notation \(BPMN\) shapes

On this page

Business Process Modeling Notation (BPMN) shapes

Use the BPMN shapes to generate diagrams for your current business processes and model the future state of the business processes.

BPMN shapes in Enterprise Modeling and Visualization

You can add a shape to the canvas by either selecting the shape or by dragging the shape from the Shapes palette to the canvas.

You can also adjust the size of shapes by selecting a shape and then drag any of its edges or corner handles. Pulling outward increases the shape’s dimensions, while dragging inward reduces its size. However, BPMN-Event shapes can’t be resized.

When you drag a BPMN shape from the Shapes palette to the canvas, the shape icon you drag matches the shape’s appearance on the canvas. This helps you confirm the correct shape before placing it on the canvas.

BPMN shapes are organized into sub-categories in the Shapes palette: Event, Activity, Gateway, and General. Expand a sub-category to see and add its shapes.

BPMN: General shapes

Shape Name Description [Omitted image “bpmn-icon-pool.png”] Alt text: Pool Pool Represents a swimlane container for a single participant or system in a process. Defines the boundary of a process and organizes the lanes that represent roles or responsibilities within it. [Omitted image “bpmn-icon-lane.png”] Alt text: Lane Lane Represents a subdivision within a pool, used to assign activities to specific roles, departments, or systems. Organizes responsibilities visually within the parent process boundary.

BPMN-Event shapes

Event shapes represent something that happens during a process. Events are categorized by their position in the process flow — start, intermediate, or end — and by the trigger type that causes or results from the event. Boundary events are attached to an activity shape and fire when a specific condition occurs while the activity is running. BPMN-Event shapes cannot be resized.

Shape Name Description [Omitted image “bpmn-start-event-compensation.png”] Alt text: Start (Compensation) Start (Compensation) Represents a process triggered to perform compensation for a previously completed activity. Used within event subprocesses to initiate rollback or corrective actions when a transaction requires undoing completed work. [Omitted image “bpmn-start-event-error.png”] Alt text: Start (Error) Start (Error) Represents a process triggered by an error event, used exclusively within event subprocesses. Interrupts the parent process and redirects flow to error-handling logic when the specified error is thrown. [Omitted image “bpmn-start-event-escalation.png”] Alt text: Start (Escalation) Start (Escalation) Represents a process triggered by an escalation signal, used within event subprocesses. Models escalation-driven initiation when an activity or process requires higher-level attention or intervention. [Omitted image “bpmn-start-event-condition.png”] Alt text: Start Interrupting Conditional Start Interrupting Conditional Represents an interrupting start event that activates when a specified business condition or data state becomes true. Interrupts the parent process and redirects flow to the event subprocess when the condition is met. [Omitted image “bpmn-start-event-message.png”] Alt text: Start Interrupting Message Start Interrupting Message Represents an interrupting start event activated by an incoming message. Interrupts the parent process and redirects flow to the event subprocess upon receiving the specified message. [Omitted image “bpmn-start-event-signal.png”] Alt text: Start Interrupting Signal Start Interrupting Signal Represents an interrupting start event activated by a broadcast signal. Interrupts the parent process and redirects flow to the event subprocess when the specified signal is received. [Omitted image “bpmn-start-event-timer.png”] Alt text: Start Interrupting Timer Start Interrupting Timer Represents an interrupting start event activated at a specific time or after a defined interval. Interrupts the parent process and redirects flow to the event subprocess when the timer triggers. [Omitted image “bpmn-start-event-multiple.png”] Alt text: Start (Multiple) Start (Multiple) Represents a start event that activates when any one of several defined trigger types is received. The process begins when any single defined trigger condition is satisfied. [Omitted image “bpmn-start-event-non-interrupting-condition.png”] Alt text: Start (Non-Interrupting Condition) Start (Non-Interrupting Condition) Represents a non-interrupting start event activated when a specified condition becomes true. Spawns a concurrent event subprocess without interrupting the parent process flow. [Omitted image “bpmn-start-event-non-interrupting-escalation.png”] Alt text: Start (Non-Interrupting Escalation) Start (Non-Interrupting Escalation) Represents a non-interrupting start event activated by an escalation signal. Spawns a concurrent event subprocess to handle escalation without interrupting the parent process. [Omitted image “bpmn-start-event-non-interrupting-message.png”] Alt text: Start (Non-Interrupting Message) Start (Non-Interrupting Message) Represents a non-interrupting start event activated by an incoming message. Spawns a concurrent event subprocess without interrupting the parent process flow. [Omitted image “bpmn-start-event-non-interrupting-multiple.png”] Alt text: Start (Non-Interrupting Multiple) Start (Non-Interrupting Multiple) Represents a non-interrupting start event activated by any one of several defined trigger types. Spawns a concurrent event subprocess when any single trigger condition is met. [Omitted image “bpmn-start-event-non-interrupting-parallel-multiple.png”] Alt text: Start (Non-Interrupting Parallel Multiple) Start (Non-Interrupting Parallel Multiple) Represents a non-interrupting start event activated when all defined trigger types occur simultaneously. Spawns a concurrent event subprocess only when every trigger condition is satisfied. [Omitted image “bpmn-start-event-non-interrupting-signal.png”] Alt text: Start (Non-Interrupting Signal) Start (Non-Interrupting Signal) Represents a non-interrupting start event activated by a broadcast signal. Spawns a concurrent event subprocess to handle the signal without interrupting the parent process. [Omitted image “bpmn-start-event-non-interrupting-timer.png”] Alt text: Start (Non-Interrupting Timer) Start (Non-Interrupting Timer) Represents a non-interrupting start event activated at a specific time or after a defined interval. Spawns a concurrent event subprocess without interrupting the parent process flow. [Omitted image “bpmn-start-event-none.png”] Alt text: Start (None) Start (None) Represents the starting point of a process with no defined trigger. Indicates that the process begins when initiated manually or by an external condition not captured in the model. [Omitted image “bpmn-start-event-parallel-multiple.png”] Alt text: Start (Parallel Multiple) Start (Parallel Multiple) Represents a start event that initiates only when all defined trigger types occur simultaneously. Every specified trigger must be satisfied before the process begins. [Omitted image “bpmn-intermediate-event-catch-cancel.png”] Alt text: Intermediate (Catch-Cancel) Intermediate (Catch-Cancel) Represents an intermediate catch event that captures a cancel event within a transaction subprocess. Redirects process flow to cancellation handling and triggers compensation for completed activities within the transaction. [Omitted image “bpmn-intermediate-event-catch-compensation.png”] Alt text: Intermediate (Catch-Compensation) Intermediate (Catch-Compensation) Represents an intermediate catch event that captures a compensation event. Redirects flow to the compensation handler to perform rollback or corrective actions for a previously completed activity. [Omitted image “bpmn-intermediate-event-catch-condition.png”] Alt text: Intermediate (Catch-Conditional) Intermediate (Catch-Conditional) Represents an intermediate catch event that pauses process flow until a specified business condition or data state becomes true. Resumes execution when the defined condition is satisfied. [Omitted image “bpmn-intermediate-event-catch-error.png”] Alt text: Intermediate (Catch-Error) Intermediate (Catch-Error) Represents an intermediate catch event that captures a specific error thrown within the process. Redirects flow to recovery or exception-handling paths when the specified error is received. [Omitted image “bpmn-intermediate-event-catch-escalation.png”] Alt text: Intermediate (Catch-Escalation) Intermediate (Catch-Escalation) Represents an intermediate catch event that captures an escalation signal. Redirects process flow to an escalation handler when higher-level attention is required. [Omitted image “bpmn-intermediate-event-catch-message.png”] Alt text: Intermediate (Catch-Message) Intermediate (Catch-Message) Represents an intermediate catch event that pauses process flow until a specific message is received from a participant or system. Resumes execution once the expected message arrives. [Omitted image “bpmn-intermediate-event-catch-multiple.png”] Alt text: Intermediate (Catch-Multiple) Intermediate (Catch-Multiple) Represents an intermediate catch event that resumes process flow when any one of several defined trigger types occurs. The first trigger condition to be met is sufficient to continue. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-condition.png”] Alt text: Intermediate (Catch-Non-Interrupting Condition) Intermediate (Catch-Non-Interrupting Condition) Represents a non-interrupting boundary conditional event that fires when a specified condition is true while an activity is active. Spawns a concurrent flow without interrupting the activity. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-escalation.png”] Alt text: Intermediate (Catch-Non-Interrupting Escalation) Intermediate (Catch-Non-Interrupting Escalation) Represents a non-interrupting boundary escalation event that fires while an activity is active. Spawns a concurrent escalation handler without interrupting or canceling the activity. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-message.png”] Alt text: Intermediate (Catch-Non-Interrupting Message) Intermediate (Catch-Non-Interrupting Message) Represents a non-interrupting boundary message event that fires when a message arrives while an activity is active. Spawns a concurrent flow without canceling the activity. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-multiple.png”] Alt text: Intermediate (Catch-Non-Interrupting Multiple) Intermediate (Catch-Non-Interrupting Multiple) Represents a non-interrupting boundary event triggered by any defined event type while an activity is active. Spawns a concurrent flow when any single trigger condition is met. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-parallel-multiple.png”] Alt text: Intermediate (Catch-Non-Interrupting Parallel Multiple) Intermediate (Catch-Non-Interrupting Parallel Multiple) Represents a non-interrupting boundary event triggered only when all defined event types occur simultaneously while an activity is active. Spawns a concurrent flow when every condition is satisfied. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-signal.png”] Alt text: Intermediate (Catch-Non-Interrupting Parallel Multiple) Intermediate (Catch-Non-Interrupting Parallel Multiple) Represents a non-interrupting boundary event triggered only when all defined event types occur simultaneously while an activity is active. Spawns a concurrent flow when every condition is satisfied. [Omitted image “bpmn-intermediate-event-catch-non-interrupting-timer.png”] Alt text: Intermediate (Catch-Non-Interrupting Timer) Intermediate (Catch-Non-Interrupting Timer) Represents a non-interrupting boundary timer event that fires at a specific time or interval while an activity is active. Spawns a concurrent flow without interrupting or canceling the activity. [Omitted image “bpmn-intermediate-event-catch-parallel-multiple.png”] Alt text: Intermediate (Catch-Parallel Multiple) Intermediate (Catch-Parallel Multiple) Represents an intermediate catch event that pauses process flow until all defined trigger types occur simultaneously. Resumes execution only when every specified trigger condition is satisfied. [Omitted image “bpmn-intermediate-event-catch-signal.png”] Alt text: Intermediate (Catch-Signal) Intermediate (Catch-Signal) Represents an intermediate catch event that pauses process flow until a specific broadcast signal is received. Resumes execution when the designated signal arrives from another process or participant. [Omitted image “bpmn-intermediate-event-catch-timer.png”] Alt text: Intermediate (Catch-Timer) Intermediate (Catch-Timer) Represents an intermediate catch event that pauses process flow until a specific time or interval elapses. Models time-based delays, deadlines, and scheduled waits within a process. [Omitted image “bpmn-intermediate-event-catch-link.png”] Alt text: Intermediate (Link-Catch) Intermediate (Link-Catch) Represents a link catch event that receives process flow from a corresponding link throw event within the same process. Simplifies diagrams by replacing long or crossing sequence flow lines. [Omitted image “bpmn-intermediate-event-none.png”] Alt text: Intermediate (None) Intermediate (None) Represents a marker in the process flow with no associated trigger or result. Used to document significant milestones or states within a process that are meaningful to stakeholders but do not affect routing. [Omitted image “bpmn-intermediate-event-throw-compensation.png”] Alt text: Intermediate (Throw-Compensation) Intermediate (Throw-Compensation) Represents an intermediate throw event that triggers compensation for one or more previously completed activities. Initiates rollback or corrective actions within transactional process flows. [Omitted image “bpmn-intermediate-event-throw-escalation.png”] Alt text: Intermediate (Throw-Escalation) Intermediate (Throw-Escalation) Represents an intermediate throw event that raises an escalation signal to a higher-level handler or event subprocess. Models escalation initiation when standard process flow requires intervention at a broader scope. [Omitted image “bpmn-intermediate-event-throw-link.png”] Alt text: Intermediate (Throw-Link) Intermediate (Throw-Link) Represents a link throw event that transfers process flow to a corresponding link catch event within the same process. Used to simplify complex diagrams by replacing long or crossing sequence flow lines. [Omitted image “bpmn-intermediate-event-throw-message.png”] Alt text: Intermediate (Throw-Message) Intermediate (Throw-Message) Represents an intermediate throw event that sends a message to a participant or external system. Models outbound message transmission as a defined step within the process flow. [Omitted image “bpmn-intermediate-event-throw-multiple.png”] Alt text: Intermediate (Throw-Multiple) Intermediate (Throw-Multiple) Represents an intermediate throw event that simultaneously triggers all defined outgoing events. Models multi-event broadcasting from a single point in the process flow. [Omitted image “bpmn-intermediate-event-throw-signal.png”] Alt text: Intermediate (Throw-Signal) Intermediate (Throw-Signal) Represents an intermediate throw event that broadcasts a signal to one or more listening processes or events. Models signal-based communication within or across process flows. [Omitted image “bpmn-event-end-cancellation.png”] Alt text: Cancellation End Cancellation End Represents an end event that cancels a transaction subprocess. Triggers compensation for all completed activities within the transaction scope and terminates the transaction flow. [Omitted image “bpmn-end-event-compensation.png”] Alt text: Compensation End Compensation End Represents an end event that triggers compensation for previously completed activities as the final process action. Models rollback as the terminal outcome of a transactional flow. [Omitted image “bpmn-end-event-link.png”] Alt text: End (Link) End (Link) Represents an end event that transfers flow to a corresponding link event. Used to simplify diagrams by connecting distant parts of a process without long sequence flow lines. [Omitted image “bpmn-end-event-none.png”] Alt text: End (None) End (None) Represents the completion of a process path with no specific result or outgoing action. Indicates that the current flow terminates without triggering further events, messages, or signals. [Omitted image “bpmn-end-event-error.png”] Alt text: End Error End Error Represents an end event that terminates a process path by throwing a specific error. The error propagates to an enclosing process or boundary handler for exception-based process termination. [Omitted image “bpmn-end-event-message.png”] Alt text: End Message End Message Represents an end event that sends a message to a participant or external system as the final action of a process path. Models outbound notification as the terminal outcome of a process flow. [Omitted image “bpmn-end-event-signal.png”] Alt text: End Signal End Signal Represents an end event that broadcasts a signal to one or more listening processes as the final process action. Models signal-based notification as the terminal outcome of a process flow. [Omitted image “bpmn-end-event-terminate.png”] Alt text: End Terminate End Terminate Represents an end event that immediately terminates all active process instances and parallel flows. Stops the entire process upon reaching this point, regardless of other paths that may still be active. [Omitted image “bpmn-end-event-escalation.png”] Alt text: Escalation End Escalation End Represents an end event that raises an escalation signal to a higher-level handler. Models escalation as the final outcome of a process flow requiring intervention at a broader scope. [Omitted image “bpmn-end-event-multiple.png”] Alt text: Multiple End Multiple End Represents an end event that simultaneously triggers all defined result events. Models multi-result termination where multiple end behaviors occur from a single endpoint.

BPMN-Activity shapes

Activity shapes represent work performed within a process. Activities are divided into tasks, which are atomic units of work, and sub-processes and call activities, which reference other process flows. You can also apply a marker to any task shape to indicate how the activity executes — for example, whether it loops or runs in parallel.

Shape Name Description [Omitted image “bpmn-acitivity-business-rule-task.png”] Alt text: Business Rule Task Business Rule Task Represents a task that evaluates a set of business rules to produce a result or decision. Models rule-engine-driven activities such as eligibility checks, policy evaluations, or dynamic calculations. [Omitted image “bpmn-acitivity-manual-task.png”] Alt text: Manual Task Manual Task Represents a task performed entirely by a human participant without any system or application support. Models unassisted manual activities such as physical document handling or fieldwork that occurs outside the process system. [Omitted image “bpmn-acitivity-receive-task.png”] Alt text: Receive Task Receive Task Represents a task that waits for a message from an external participant or system before the process can continue. Models inbound message reception as an explicit activity within the process flow. [Omitted image “bpmn-acitivity-script-task.png”] Alt text: Script Task Script Task Represents a task executed automatically by the process engine using a defined script or expression. Models lightweight automation tasks embedded directly in the process flow, such as data transformations or calculations. [Omitted image “bpmn-acitivity-send-task.png”] Alt text: Send Task Send Task Represents a task that sends a message to an external participant or system. Models outbound message transmission as an explicit step where the act of sending is meaningful within the process flow. [Omitted image “bpmn-acitivity-service-task.png”] Alt text: Service Task Service Task Represents a task performed automatically by a system, service, or application without human intervention. Models automated activities such as API calls, system integrations, or background data processing. [Omitted image “bpmn-acitivity-task.png”] Alt text: Task Task Represents a unit of work within a process performed by a participant or system. Models atomic activities not decomposed further in the current diagram when the task type is unspecified or not relevant to the model. [Omitted image “bpmn-acitivity-user-task.png”] Alt text: User Task User Task Represents a task performed by a human participant with the assistance of a software application or workflow tool. Models human-in-the-loop activities such as form completion, approvals, and data entry. Shape Name Description [Omitted image “bpmn-activity-business-rule-call-activity.png”] Alt text: Business Rule Call Activity Business Rule Call Activity Represents a reusable activity that invokes a globally defined business rule task. Models rule-engine activities maintained centrally and called from multiple processes for consistent policy or rule evaluation. [Omitted image “bpmn-activity-call-activity.png”] Alt text: Call Activity Call Activity Represents a reusable activity that invokes a globally defined task or subprocess. Models process modularity by referencing shared definitions that can be called from multiple parent processes. [Omitted image “bpmn-activity-manual-call-activity.png”] Alt text: Manual Call Activity Manual Call Activity Represents a reusable activity that invokes a globally defined manual task. Models reusable unassisted human activities shared across multiple process definitions. [Omitted image “bpmn-activity-script-call-activity.png”] Alt text: Script Call Activity Script Call Activity Represents a reusable activity that invokes a globally defined script task. Models reusable scripted automation activities that are centrally maintained and referenced from multiple processes. [Omitted image “bpmn-activity-user-call-activity.png”] Alt text: User Call Activity User Call Activity Represents a reusable activity that invokes a globally defined user task. Models reusable human-in-the-loop activities shared across multiple processes for consistent task execution. [Omitted image “bpmn-activity-sub-process.png”] Alt text: Sub-Process Sub-Process Represents a self-contained group of activities with its own start and end events, embedded within a parent process. Models complex work that is decomposed into a defined internal flow to manage scope and detail. [Omitted image “bpmn-activity-adhoc-sub-process.png”] Alt text: Adhoc Sub-Process Adhoc Sub-Process Represents a subprocess in which activities are performed in any order, multiple times, or skipped by the participant. Models flexible, unstructured work where participants determine the sequence and frequency dynamically. [Omitted image “bpmn-activity-transaction-sub-process.png”] Alt text: Transaction Sub-Process Transaction Sub-Process Represents a subprocess that groups activities under a transactional boundary, ensuring all-or-nothing behavior. Models transactional integrity where a failure triggers compensation to undo completed activities within the group. Shape Name Description [Omitted image “bpmn-acitivity-loop-business-rule-task.png”] Alt text: Loop - Business Rule Task Loop - Business Rule Task Represents a business rule task that evaluates conditions and applies rule-engine logic that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-manual-task.png”] Alt text: Loop - Manual Task Loop - Manual Task Represents a manual task performed by a human participant without system support that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-receive-task.png”] Alt text: Loop - Receive Task Loop - Receive Task Represents a receive task that waits for an inbound message before the process continues that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-script-task.png”] Alt text: Loop - Script Task Loop - Script Task Represents a script task executed automatically by the process engine that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-send-task.png”] Alt text: Loop - Send Task Loop - Send Task Represents a send task that transmits a message to a participant or system that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-service-task.png”] Alt text: Loop - Service Task Loop - Service Task Represents a service task executed automatically by a system or application that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-default-task.png”] Alt text: Loop - Task Loop - Task Represents a task representing a generic unit of work with no specified type that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-loop-user-task.png”] Alt text: Loop - User Task Loop - User Task Represents a user task performed by a human participant with application support that repeats based on a defined loop condition. The activity executes iteratively until the condition is no longer satisfied. [Omitted image “bpmn-acitivity-multi-instance-parallel-business-rule-task.png”] Alt text: Multi Instance Parallel - Business Rule Task Multi Instance Parallel - Business Rule Task Represents a business rule task that evaluates conditions and applies rule-engine logic that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-manual-task.png”] Alt text: Multi Instance Parallel - Manual Task Multi Instance Parallel - Manual Task Represents a manual task performed by a human participant without system support that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-receive-task.png”] Alt text: Multi Instance Parallel - Receive Task Multi Instance Parallel - Receive Task Represents a receive task that waits for an inbound message before the process continues that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-script-task.png”] Alt text: Multi Instance Parallel - Script Task Multi Instance Parallel - Script Task Represents a script task executed automatically by the process engine that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-send-task.png”] Alt text: Multi Instance Parallel - Send Task Multi Instance Parallel - Send Task Represents a send task that transmits a message to a participant or system that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-service-task.png”] Alt text: Multi Instance Parallel - Service Task Multi Instance Parallel - Service Task Represents a service task executed automatically by a system or application that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-task.png”] Alt text: Multi Instance Parallel - Task Multi Instance Parallel - Task Represents a task representing a generic unit of work with no specified type that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-parallel-user-task.png”] Alt text: Multi Instance Parallel - User Task Multi Instance Parallel - User Task Represents a user task performed by a human participant with application support that executes multiple instances simultaneously. All instances run in parallel for each item in the defined collection or dataset. [Omitted image “bpmn-acitivity-multi-instance-sequential-business-rule-task.png”] Alt text: Multi Instance Sequential - Business Rule Task Multi Instance Sequential - Business Rule Task Represents a business rule task that evaluates conditions and applies rule-engine logic that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-manual-task.png”] Alt text: Multi Instance Sequential - Manual Task Multi Instance Sequential - Manual Task Represents a manual task performed by a human participant without system support that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-receive-task.png”] Alt text: Multi Instance Sequential - Receive Task Multi Instance Sequential - Receive Task Represents a receive task that waits for an inbound message before the process continues that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-script-task.png”] Alt text: Multi Instance Sequential - Script Task Multi Instance Sequential - Script Task Represents a script task executed automatically by the process engine that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-sendTask.png”] Alt text: Multi Instance Sequential - Send Task Multi Instance Sequential - Send Task Represents a send task that transmits a message to a participant or system that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-service-task.png”] Alt text: Multi Instance Sequential - Service Task Multi Instance Sequential - Service Task Represents a service task executed automatically by a system or application that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-default-task.png”] Alt text: Multi Instance Sequential - Task Represents a task representing a generic unit of work with no specified type that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-multi-instance-sequential-user-task.png”] Alt text: Multi Instance Sequential - User Task Multi Instance Sequential - User Task Represents a user task performed by a human participant with application support that executes multiple instances one at a time in sequence. Each instance completes before the next begins, processing items in the collection in order. [Omitted image “bpmn-acitivity-compensation-business-rule-task.png”] Alt text: Compensation - Business Rule Task Compensation - Business Rule Task Represents a business rule task that evaluates conditions and applies rule-engine logic designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-manual-task.png”] Alt text: Compensation - Manual Task Compensation - Manual Task Represents a manual task performed by a human participant without system support designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-receive-task.png”] Alt text: Compensation - Receive Task Compensation - Receive Task Represents a receive task that waits for an inbound message before the process continues designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-script-task.png”] Alt text: Compensation - Script Task Compensation - Script Task Represents a script task executed automatically by the process engine designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-send-task.png”] Alt text: Compensation - Send Task Compensation - Send Task Represents a send task that transmits a message to a participant or system designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-service-task.png”] Alt text: Compensation - Service Task Compensation - Service Task Represents a service task executed automatically by a system or application designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-default-task.png”] Alt text: Compensation - Task Compensation - Task Represents a task representing a generic unit of work with no specified type designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-compensation-user-task.png”] Alt text: Compensation - User Task Compensation - User Task Represents a user task performed by a human participant with application support designated as a compensation handler. Executes rollback or corrective actions for the associated activity when a compensation event is triggered. [Omitted image “bpmn-acitivity-loop-compensation-business-rule-task.png”] Alt text: Loop & Compensation - Business Rule Task Loop & Compensation - Business Rule Task Represents a business rule task that evaluates conditions and applies rule-engine logic that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-manual-task.png”] Alt text: Loop & Compensation - Manual Task Loop & Compensation - Manual Task Represents a manual task performed by a human participant without system support that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-receive-task.png”] Alt text: Loop & Compensation - Receive Task Loop & Compensation - Receive Task Represents a receive task that waits for an inbound message before the process continues that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-script-task.png”] Alt text: Loop & Compensation - Script Task Loop & Compensation - Script Task Represents a script task executed automatically by the process engine that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-send-task.png”] Alt text: Loop & Compensation - Send Task Loop & Compensation - Send Task Represents a send task that transmits a message to a participant or system that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-service-task.png”] Alt text: Loop & Compensation - Service Task Loop & Compensation - Service Task Represents a service task executed automatically by a system or application that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-default-task.png”] Alt text: Loop & Compensation - Task Loop & Compensation - Task Represents a task representing a generic unit of work with no specified type that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios. [Omitted image “bpmn-acitivity-loop-compensation-user-task.png”] Alt text: Loop & Compensation - User Task Loop & Compensation - User Task Represents a user task performed by a human participant with application support that both repeats based on a loop condition and serves as a compensation handler. Combines iterative execution with compensation behavior for rollback scenarios.

BPMN-Gateway shapes

Gateway shapes control how the process flow splits and merges. Gateways can be resized on the canvas.

Shape Name Description [Omitted image “bpmn-gateway-complex.png”] Alt text: Complex Complex Represents a decision or synchronization point with complex activation conditions not expressible by standard gateway types. Models advanced branching or merging logic that requires custom rules defined in the gateway condition expression. [Omitted image “bpmn-icon-gateway-default.png”] Alt text: Default Default Represents the default sequence flow from an exclusive or inclusive gateway when no other defined condition is met. Ensures that the process always has a path to follow when all conditional flows evaluate to false. [Omitted image “bpmn-event.png”] Alt text: Event Event Represents an event-based gateway that routes process flow based on which event occurs first among defined alternatives. Models reactive branching where the next step is determined by incoming events rather than data conditions. [Omitted image “bpmn-event-based-start.png”] Alt text: Event Based (Start) Event Based (Start) Represents an instantiating event-based gateway that creates a new process instance when the first of several defined events occurs. Models exclusive event-driven process instantiation without requiring a preceding start event. [Omitted image “bpmn-icon-gateway-exclusive.png”] Alt text: Exclusive Exclusive Represents a decision point where exactly one outgoing sequence flow is followed based on evaluated conditions. Models branching logic where only a single path is taken, and merges the first arriving token on convergence. [Omitted image “bpmn-icon-gateway-inclusive.png”] Alt text: Inclusive Inclusive Represents a decision point where one or more outgoing sequence flows are followed based on conditions. Models branching logic where multiple paths can be activated simultaneously and synchronizes all active paths on merge. [Omitted image “bpmn-icon-gateway-parallel.png”] Alt text: Parallel Parallel Represents a forking or synchronization point where all outgoing sequence flows are activated simultaneously. Models parallel execution of multiple process paths and waits for all tokens to arrive before continuing on merge. Shape Name Description [Omitted image “bpmn-gateway-cancel-end.png”] Alt text: Cancel (End) Cancel (End) Represents a cancel end event that terminates a transaction subprocess by triggering cancellation. All completed activities within the transaction scope are compensated upon reaching this event. [Omitted image “bpmn-gateway-cancel-bounary-interrupting.png”] Alt text: Cancel Boundary (Interrupting) Cancel Boundary (Interrupting) Represents an interrupting boundary event that catches a cancel event on a transaction subprocess. Cancels the transaction and initiates compensation for completed activities within it. [Omitted image “bpmn-gateway-compensation-end.png”] Alt text: Compensation (End) Compensation (End) Represents a compensation end event that triggers rollback for previously completed activities as the final process action. Models corrective undoing as the terminal outcome of a transactional flow. [Omitted image “bpmn-gateway-compensation-interrupting.png”] Alt text: Compensation (Interrupting) Compensation (Interrupting) Represents an interrupting boundary compensation event on an activity. Catches a compensation trigger, cancels the activity, and executes the designated compensation handler for rollback. [Omitted image “bpmn-gateway-compensation-throwing.png”] Alt text: Compensation (Throwing) Compensation (Throwing) Represents an intermediate throw event that broadcasts a compensation signal to trigger rollback for one or more completed activities. Initiates corrective or undo actions within transactional process flows. [Omitted image “bpmn-gateway-conditional-boundary-interrupting.png”] Alt text: Compensation Boundary (Interrupting) Compensation Boundary (Interrupting) Represents a boundary compensation event attached to an activity. Catches a compensation event and executes the rollback or corrective handler designated for that activity. [Omitted image “bpmn-gateway-conditional.png”] Alt text: Conditional Conditional Represents a conditional start event that activates when a specified business condition or data state becomes true. Models condition-driven process initiation evaluated against data changes or business rules. [Omitted image “bpmn-gateway-conditional-catching.png”] Alt text: Conditional (Catching) Conditional (Catching) Represents an intermediate conditional catch event that pauses process flow until a specified condition becomes true. Resumes execution when the defined business condition or data state is satisfied. [Omitted image “bpmn-gateway-conditional-interrupting.png”] Alt text: Conditional (Interrupting) Conditional (Interrupting) Represents an interrupting boundary conditional event that triggers when a specified condition is true while an activity is active. Interrupts the activity and redirects flow to the boundary event path. [Omitted image “bpmn-gateway-conditional-non-interrupting.png”] Alt text: Conditional (Non-Interrupting) Conditional (Non-Interrupting) Represents a non-interrupting boundary conditional event that triggers when a specified condition is met while an activity is active. Spawns a concurrent flow without interrupting or canceling the activity. [Omitted image “bpmn-gateway-conditional-boundary-interrupting.png”] Alt text: Conditional Boundary (Interrupting) Conditional Boundary (Interrupting) Represents an interrupting boundary event that fires when a condition is met while the attached activity is active. Cancels the activity and redirects flow to the defined boundary handling path. [Omitted image “bpmn-gateway-conditional-boundary-non-interrupting.png”] Alt text: Conditional Boundary (Non-Interrupting) Conditional Boundary (Non-Interrupting) Represents a non-interrupting boundary event that fires when a condition is met while the attached activity is active. Spawns a concurrent flow without interrupting or canceling the activity. [Omitted image “bpmn-gateway-end.png”] Alt text: End End Represents a none end event that terminates a process path with no specific result. Indicates that the current flow ends without triggering further events, messages, or signals. [Omitted image “bpmn-gateway-error-end.png”] Alt text: Error (End) Error (End) Represents an error end event that terminates a process path by throwing a specific error. The error propagates to an enclosing process or boundary handler for exception-based process termination. [Omitted image “bpmn-gateway-error-interrupting.png”] Alt text: Error (Interrupting) Error (Interrupting) Represents an interrupting boundary error event that fires when an error is thrown by the attached activity. Cancels the activity and redirects flow to the designated error-handling path. [Omitted image “bpmn-gateway-error-boundary-interrupting.png”] Alt text: Error Boundary (Interrupting) Error Boundary (Interrupting) Represents an interrupting boundary event that catches a specific error thrown by the attached activity or subprocess. Cancels the activity and routes flow to the error handler. Error boundary events are always interrupting. [Omitted image “bpmn-gateway-escalation-end.png”] Alt text: Escalation (End) Escalation (End) Represents an escalation end event that raises an escalation signal as the final action of a process path. Notifies a higher-level handler that intervention is required beyond the current process scope. [Omitted image “bpmn-gateway-escalation-interrupting.png”] Alt text: Escalation (Interrupting) Escalation (Interrupting) Represents an interrupting boundary escalation event on an activity. Catches an escalation signal, cancels the activity, and redirects flow to the escalation-handling path. [Omitted image “bpmn-gateway-escalation-non-interrupting.png”] Alt text: Escalation (Non-Interrupting) Escalation (Non-Interrupting) Represents a non-interrupting boundary escalation event on an activity. Catches an escalation signal and spawns a concurrent escalation handler without interrupting or canceling the activity. [Omitted image “bpmn-gateway-escalation-boundary-throwing.png”] Alt text: Escalation (Throwing) Escalation (Throwing) Represents an intermediate throw event that raises an escalation signal to a higher-level handler or event subprocess. Models escalation initiation when standard process flow requires broader-scope attention. [Omitted image “bpmn-gateway-escalation-boundary-interrupting.png”] Alt text: Escalation Boundary (Interrupting) Escalation Boundary (Interrupting) Represents an interrupting boundary event that catches an escalation signal while the attached activity is active. Cancels the activity and redirects flow to the escalation-handling path. [Omitted image “bpmn-gateway-escalation-boundary-non-interrupting.png”] Alt text: Escalation Boundary (Non-Interrupting) Escalation Boundary (Non-Interrupting) Represents a non-interrupting boundary event that catches an escalation signal while the attached activity is active. Spawns a concurrent escalation flow without interrupting or canceling the activity. [Omitted image “bpmn-gateway-intermediate.png”] Alt text: Intermediate Intermediate Represents a none intermediate event that marks a significant milestone or state in the process flow with no associated trigger or result. Used to document checkpoints meaningful to stakeholders without affecting routing. [Omitted image “bpmn-gateway-link-catching.png”] Alt text: Link (Catching) Link (Catching) Represents a link catch event that receives process flow from a corresponding link throw event within the same process. Simplifies diagrams by replacing long or crossing sequence flow lines. [Omitted image “bpmn-gateway-link-throwing.png”] Alt text: Link (Throwing) Link (Throwing) Represents a link throw event that transfers process flow to a corresponding link catch event within the same process. Used to replace long or crossing sequence flow lines. [Omitted image “bpmn-gateway-message.png”] Alt text: Message Message Represents a message start event that activates when a specific message is received from a participant or system. Models message-driven process initiation such as a customer request or system notification. [Omitted image “bpmn-gateway-message-catching.png”] Alt text: Message (Catching) Message (Catching) Represents an intermediate message catch event that pauses process flow until a specific message is received. Resumes the flow once the expected message arrives from the designated participant or system. [Omitted image “bpmn-gateway-message-end.png”] Alt text: Message (End) Message (End) Represents a message end event that sends a message to a participant or system as the final action of a process path. Models outbound notification as the terminal outcome of a process flow. [Omitted image “bpmn-gateway-message-interrupting.png”] Alt text: Message (Interrupting) Message (Interrupting) Represents an interrupting boundary message event on an activity. Catches an incoming message, cancels the activity, and redirects process flow to the boundary event path. [Omitted image “bpmn-gateway-message-non-interrupting.png”] Alt text: Message (Non-Interrupting) Message (Non-Interrupting) Represents a non-interrupting boundary message event on an activity. Catches an incoming message and spawns a concurrent flow without interrupting or canceling the activity. [Omitted image “bpmn-gateway-message-boundary-throwing.png”] Alt text: Message (Throwing) Message (Throwing) Represents an intermediate message throw event that sends a message to an external participant or system. Models outbound message transmission as a defined step within the process flow. [Omitted image “bpmn-gateway-message-boundary-interrupting.png”] Alt text: Message Boundary (Interrupting) Message Boundary (Interrupting) Represents an interrupting boundary event that catches an incoming message while the attached activity is active. Cancels the activity and redirects flow to the message-handling path. [Omitted image “bpmn-gateway-message-boundary-non-interrupting.png”] Alt text: Message Boundary (Non-Interrupting) Message Boundary (Non-Interrupting) Represents a non-interrupting boundary event that catches an incoming message while the attached activity is active. Spawns a concurrent flow without canceling the activity. [Omitted image “bpmn-gateway-multiple.png”] Alt text: Multiple Multiple Represents a multiple start event that activates when any one of several defined event types occurs. The process begins when any single defined trigger condition is satisfied. [Omitted image “bpmn-gateway-multiple-catching.png”] Alt text: Multiple (Catching) Multiple (Catching) Represents an intermediate catch event that resumes when any one of several defined event types occurs. Models multi-trigger synchronization where the first satisfied condition continues the flow. [Omitted image “bpmn-gateway-multiple-end.png”] Alt text: Multiple (End) Multiple (End) Represents a multiple end event that simultaneously triggers all defined result events. Models multi-result termination where all defined behaviors occur from a single endpoint. [Omitted image “bpmn-gateway-multiple-interrupting.png”] Alt text: Multiple (Interrupting) Multiple (Interrupting) Represents an interrupting boundary multiple event on an activity. Triggers when any defined event type occurs, cancels the activity, and redirects flow to the boundary path. [Omitted image “bpmn-gateway-multiple-non-interrupting.png”] Alt text: Multiple (Non-Interrupting) Multiple (Non-Interrupting) Represents a non-interrupting boundary multiple event on an activity. Triggers when any defined event type occurs and spawns a concurrent flow without interrupting or canceling the activity. [Omitted image “bpmn-gateway-multiple-start.png”] Alt text: Multiple (Start) Multiple (Start) Represents a multiple start event that initiates the process when any one of several defined trigger types is received. Use when the process can begin from more than one type of initiating event. [Omitted image “bpmn-gateway-multiple-throwing.png”] Alt text: Multiple (Throwing) Multiple (Throwing) Represents an intermediate throw event that simultaneously broadcasts all defined outgoing event types. Models multi-event notification from a single point in the process flow. [Omitted image “bpmn-gateway-multiple-boundary-interrupting.png”] Alt text: Multiple Boundary (Interrupting) Multiple Boundary (Interrupting) Represents an interrupting boundary event triggered by any one of several defined event types while the attached activity is active. Cancels the activity and redirects flow when any trigger condition is met. [Omitted image “bpmn-gateway-multiple-boundary-non-interrupting.png”] Alt text: Multiple Boundary (Non-Interrupting) Multiple Boundary (Non-Interrupting) Represents a non-interrupting boundary event triggered by any defined event type while the attached activity is active. Spawns a concurrent flow without canceling the activity. [Omitted image “bpmn-gateway-parallel-multiple.png”] Alt text: Parallel Multiple Parallel Multiple Represents a parallel multiple start event that activates only when all defined trigger types occur simultaneously. All specified triggers must be satisfied before the process begins. [Omitted image “bpmn-gateway-parallel-multiple-catching.png”] Alt text: Parallel Multiple (Catching) Parallel Multiple (Catching) Represents an intermediate parallel multiple catch event that resumes only when all defined trigger types occur simultaneously. All trigger conditions must be met before the flow continues. [Omitted image “bpmn-gateway-parallel-multiple-interrupting.png”] Alt text: Parallel Multiple (Interrupting) Parallel Multiple (Interrupting) Represents an interrupting boundary parallel multiple event on an activity. Triggers only when all defined event types occur together, cancels the activity, and redirects flow. [Omitted image “bpmn-gateway-parallel-multiple-non-interrupting.png”] Alt text: Parallel Multiple (Non-Interrupting) Parallel Multiple (Non-Interrupting) Represents a non-interrupting boundary parallel multiple event on an activity. Triggers when all defined event types occur simultaneously and spawns a concurrent flow without interrupting the activity. [Omitted image “bpmn-gateway-parallel-multiple-boundary-interrupting.png”] Alt text: Parallel Multiple Boundary (Interrupting) Parallel Multiple Boundary (Interrupting) Represents an interrupting boundary event that activates when all defined event types occur simultaneously while the attached activity is active. Cancels the activity and redirects flow when every condition is met. [Omitted image “bpmn-gateway-parallel-multiple-boundary-non-interrupting.png”] Alt text: Parallel Multiple Boundary (Non-Interrupting) Parallel Multiple Boundary (Non-Interrupting) Represents a non-interrupting boundary event that activates when all defined event types occur simultaneously while the attached activity is active. Spawns a concurrent flow without canceling the activity. [Omitted image “bpmn-gateway-signal.png”] Alt text: Signal Signal Represents a signal start event activated by a broadcast signal from another process or participant. Models signal-driven process initiation for cross-process communication where multiple processes may respond. [Omitted image “bpmn-gateway-signal-catching.png”] Alt text: Signal (Catching) Signal (Catching) Represents an intermediate signal catch event that pauses process flow until a specific broadcast signal is received. Resumes the flow once the designated signal arrives from another process or participant. [Omitted image “bpmn-gateway-signal-end.png”] Alt text: Signal (End) Signal (End) Represents a signal end event that broadcasts a signal to listening processes as the final action of a process path. Models signal-based notification as the terminal outcome of a process flow. [Omitted image “bpmn-gateway-signal-interrupting.png”] Alt text: Signal (Interrupting) Signal (Interrupting) Represents an interrupting boundary signal event on an activity. Catches a broadcast signal, cancels the activity, and redirects process flow to the signal-handling path. [Omitted image “bpmn-gateway-signal–non-interrupting.png”] Alt text: Signal (Non-Interrupting) Signal (Non-Interrupting) Represents a non-interrupting boundary signal event on an activity. Catches a broadcast signal and spawns a concurrent flow without interrupting or canceling the activity. [Omitted image “bpmn-gateway-signal-throwing.png”] Alt text: Signal (Throwing) Signal (Throwing) Represents an intermediate signal throw event that broadcasts a signal to one or more listening processes or events. Models signal-based communication within or across process flows. [Omitted image “bpmn-gateway-signal-boundary-interrupting.png”] Alt text: Signal Boundary (Interrupting) Signal Boundary (Interrupting) Represents an interrupting boundary event that catches a broadcast signal while the attached activity is active. Cancels the activity and redirects flow to the signal-handling path. [Omitted image “bpmn-gateway-signal-boundary-non-interrupting.png”] Alt text: Signal Boundary (Non-Interrupting) Signal Boundary (Non-Interrupting) Represents a non-interrupting boundary event that catches a broadcast signal while the attached activity is active. Spawns a concurrent flow without canceling the activity. [Omitted image “bpmn-gateway-start.png”] Alt text: Start Start Represents the starting point of a process with no defined trigger. Indicates that the process begins when initiated manually or by an external condition not captured in the model. [Omitted image “bpmn-gateway-terminate.png”] Alt text: Terminate Terminate Represents an end event that immediately terminates all active process instances and parallel flows. Stops the entire process upon reaching this point, regardless of other paths that may still be active. [Omitted image “bpmn-gateway-timer.png”] Alt text: Timer Timer Represents a timer start event that activates at a specific time or after a defined interval. Models time-driven process initiation such as scheduled batch jobs, periodic workflows, or deadline-based triggers. [Omitted image “bpmn-gateway-timer-catching.png”] Alt text: Timer (Catching) Timer (Catching) Represents an intermediate timer catch event that pauses process flow until a specific time or interval elapses. Models time-based delays, deadlines, and scheduled waits within a process flow. [Omitted image “bpmn-gateway-timer-interrupting.png”] Alt text: Timer (Interrupting) Timer (Interrupting) Represents an interrupting boundary timer event on an activity. Triggers at a specific time or interval while the activity is active, cancels it, and redirects flow to the boundary event path. [Omitted image “bpmn-gateway-timer-non-interrupting.png”] Alt text: Timer (Non-Interrupting) Timer (Non-Interrupting) Represents a non-interrupting boundary timer event on an activity. Triggers at a specific time or interval while the activity is active and spawns a concurrent flow without interrupting the activity. [Omitted image “bpmn-gateway-timer-boundary-interrupting.png”] Alt text: Timer Boundary (Interrupting) Timer Boundary (Interrupting) Represents an interrupting boundary event that fires at a specific time or after a defined interval while the attached activity is active. Cancels the activity and redirects flow to the timer-handling path. [Omitted image “bpmn-gateway-timer-boundary-non-interrupting.png”] Alt text: Timer Boundary (Non-Interrupting) Timer Boundary (Non-Interrupting) Represents a non-interrupting boundary event that fires at a specific time or after a defined interval while the attached activity is active. Spawns a concurrent flow without canceling the activity.

Parent Topic:Shapes to create a modeling diagram

Keep exploring.

Find another answer, or bring this documentation into your own tools.