A collection of technical examples demonstrating how to use Camunda 8 features and solve common implementation challenges. These examples are designed for developers who want to get started with Camunda 8 or explore specific technical patterns and integrations.
For business-focused tutorials and process blueprints, see the Camunda 8 Tutorials repository.
This repository contains standalone Maven projects (and some Python examples) that demonstrate specific technical patterns and use cases:
-
camunda-client-plain-java - Basic examples using the Camunda Java client (docs)
-
zeebe-client-plain-java - Examples using the Zeebe Java client (docs)
-
weatherinfo-pyzeebe-connectors - Python worker example using pyzeebe with REST and SendGrid connectors
- payment-example-process-application - Full Spring Boot application with BPMN deployment, workers, forms, and REST API. Includes Kubernetes deployment tutorial
- twitter-review-java-springboot - Spring Boot process application example
- async-service-task - Implement asynchronous service calls as synchronous-looking tasks with idempotent requests and polling
- synchronous-response-springboot - Return synchronous responses from process instances by blocking until a specific state is reached
- event-processing - Achieve consistency when processing events from RabbitMQ/Kafka and persisting to databases
- rollback-on-error-example - Implement synchronous validation with rollback capability in an async environment
- parallel-operations - Run Camunda 7 and Camunda 8 in parallel using shared delegates
- large-multi-instance-example - Handle very large sequences (40,000+ elements) using multi-instance subprocesses with chunking strategy
- ProcessMetadataListener - Generic metadata listener that provides process context information (keys, versions) as variables
- timer-testing - Unit testing approaches for timer events in Zeebe
- extended-connector-runtime - Extend connector runtime with custom FEEL functions using SPI
- element-template-generation - Generate element templates with dynamic dropdowns and conditional properties
- secret-provider-as-credentials-provider - Implement custom secret providers to abstract OAuth and credential management
- react-tasklist - Custom tasklist using Tasklist REST API with Camunda Forms rendering and webhook integration
- task-micro-frontend - Micro frontend for embedding Camunda tasks in custom tasklists
- powerapps-dataverse - Connect Camunda 8 REST Connector to Microsoft PowerApps Dataverse via OAuth2
-
Clone the repository:
git clone https://github.com/camunda-community-hub/camunda-8-examples.git cd camunda-8-examples -
Navigate to an example:
cd <example-directory>
-
Follow the README: Each example includes:
- Purpose and use case description
- Architecture and implementation details
- Prerequisites and setup instructions
- How to run and test the example
-
Requirements: Most examples require:
- Java 17+ and Maven 3.6+ (for Java examples)
- Python 3.8+ (for Python examples)
- Access to a Camunda 8 cluster (SaaS or self-managed)
- Example-specific dependencies (Docker, Kubernetes, etc.)
Most examples assume you have access to a Camunda 8 environment. You can:
- Sign up for Camunda 8 SaaS (free trial available)
- Set up Camunda 8 Self-Managed using Docker Compose
If you encounter problems with an example, please file an issue including:
- Which example you're using
- What didn't work as expected
- Your environment (Java version, OS, Camunda 8 version, etc.)
- Steps to reproduce the problem