Camunda BPM Gateways

 🚀 Introduction

In BPMN (Business Process Model and Notation), gateways control the decision-making and synchronization within a process flow.

Camunda BPM implements these gateways exactly according to the BPMN 2.0 specification.

In this blog, we will learn:

✔ What each gateway means
✔ When to use which type
✔ How Camunda executes them internally
✔ Real-world workflow examples


🧩 What Are Gateways in BPMN?

Gateways are decision and routing points.
They determine how the process should continue, based on:

  • Conditions

  • Parallel paths

  • External events

  • Complex logic


🔀 Types of Gateways in Camunda BPM

There are 5 major BPMN gateways:

GatewayIconUse Case
Exclusive Gateway (XOR)Only one path is taken
Inclusive Gateway (OR)🟢One or more paths can be taken
Parallel Gateway (AND)All paths start in parallel
Event-Based GatewayWaits for external events
Complex Gateway⚙️Advanced logic / conditions

Let’s understand each one.


1️⃣ Exclusive Gateway (XOR) – “Pick One Path” ❌

The Exclusive Gateway chooses only one outgoing sequence flow.

✔ When to use:

  • Only one condition must be true

  • Exactly one route must be followed

  • Typical for: approvals, validations, flow branching

► Example:

Order Received ↓ Check Order Amount ↓ ↓ < 500 >= 500




✔ Camunda Behavior:
  • Evaluates conditions in order

  • First matching condition wins

  • Optional default path available


2️⃣ Inclusive Gateway (OR) – “Pick One or Many” 🟢

This gateway allows one OR multiple branches to execute.

✔ When to use:

  • Multiple conditions can be true

  • Some rules overlap

  • Example: validation + email notification combinations

► Example:

Check Document ↓ ↓ ↓ Valid? Missing Fields? Needs Review?

Camunda triggers all applicable paths.










✔ Camunda Behavior:

  • Merges paths using synchronization

  • Completes only when all active paths return


3️⃣ Parallel Gateway (AND) – “Run All Paths” ➕

Parallel gateways launch all branches simultaneously.

✔ When to use:

  • Execute tasks in parallel

  • Independent activities

  • Example:

    • Send email

    • Generate invoice

    • Create user profile

► Example:

Start ↓ Parallel Gateway ↓ ↓ ↓ A B C (parallel tasks)





✔ Camunda Behavior:

  • No condition checks

  • All outgoing flows execute

  • At join, all flows must complete


4️⃣ Event-Based Gateway – “Wait for External Events” ⏳

This gateway waits for events, not expressions or conditions.

✔ When to use:

  • Waiting for user response

  • Waiting for external signals/messages

  • Handling timeouts

► Example:

Wait For: 1️⃣ Message from System A 2️⃣ Timer 5 minutes 3️⃣ User clicks cancel

First event that occurs decides the flow.








✔ Camunda Behavior:

  • Creates event subscriptions

  • First event that triggers wins

  • All other events are cancelled


5️⃣ Complex Gateway – “Advanced Logic” ⚙️

Used for special synchronization logic.

✔ When to use:

  • Custom join conditions

  • Dynamic number of incoming paths

  • Complex business rules

► Example:

“A step continues after ANY TWO of the incoming tasks are complete.”








✔ Camunda Behavior:

  • Evaluates complex expressions

  • Rarely used but powerful for advanced workflows


📊 Summary Table – Camunda Gateways

GatewayTrigger RuleExecution
❌ Exclusive (XOR)Pick 1 pathOnly first true
🟢 Inclusive (OR)Pick 1 or manyWaits for all active paths
➕ Parallel (AND)All pathsAll must complete
⏳ Event-BasedWait for eventFirst event wins
⚙ ComplexCustom logicControlled merging

🧠 Real-World Examples

🧾 Invoice Approval Process

  • XOR → Validate invoice (correct/incorrect)

  • OR → Notify multiple teams depending on rules

  • AND → Generate PDF + Send email + Log entry

🚀 Microservices Workflow

  • AND → Run independent services in parallel

  • Event-Based → Wait for callback event or timeout

🏦 Banking KYC Workflow

  • OR → Trigger missing documents checks

  • XOR → Route based on risk level


🔧 How Camunda Executes Gateways Internally

✔ Exclusive / Inclusive:

  • Conditions defined in the sequence flow

  • Camunda parses FEEL-like or JUEL expressions

✔ Parallel:

  • No condition evaluation

  • Creates concurrent tokens

✔ Event-Based:

  • Registers event subscriptions in DB

  • Chooses whichever occurs first

✔ Complex:

  • Uses tokens + custom conditions


🎯 Conclusion

Gateways are the decision-makers of Camunda BPM workflows:

  • Exclusive → choose only one  

  • 🟢 Inclusive → choose one or many

  • Parallel → run everything

  • Event-Based → wait for events

  • Complex → advanced routing

Understanding when and how to use each gateway helps you build clean, scalable, and robust workflows in Camunda 7.

Gateways make BPMN powerful — they control decision-making, flow routing, synchronization, and event handling.

💼 Professional Support Available 

If you are facing issues in real projects related to enterprise backend development or workflow automation, I provide paid consulting, production debugging, project support, and focused trainings. 

Technologies covered include Java, Spring Boot, PL/SQL, Azure, and workflow automation (jBPM, Camunda BPM, RHPAM). 

📧 Contactishikhanirankari@gmail.com info@realtechnologiesindia.com

🌐 WebsiteIT Trainings | Digital metal podium 


 

🎥 Learn IT with Shikha on YouTube

Prefer learning through videos? Watch practical tutorials on Kafka, Camunda, Alfresco, Java, Spring Boot, Microservices and Enterprise Architecture.

▶ Subscribe to Learn IT with Shikha on YouTube

Comments

Popular posts from this blog

Top 50 Camunda BPM Interview Questions and Answers for Developers (2026 Guide)

10 BPMN Best Practices Every Camunda Developer Should Know

OOPs Concepts in Java | English | Object Oriented Programming Explained