Flowable user task assignment and candidate groups
Assigning Flowable user tasks to people: assignee versus candidate users and groups, Flowable assignment extensions, custom identity link types, task listeners for dynamic assignment, and due dates.

Modeling executable BPMN 2.0 processes for the Flowable engine: tasks, gateways, events, subprocesses and transaction boundaries, and the Flowable extensions that change runtime behavior.
Assigning Flowable user tasks to people: assignee versus candidate users and groups, Flowable assignment extensions, custom identity link types, task listeners for dynamic assignment, and due dates.
Choosing the right Flowable gateway: exclusive gateways with conditional and default flows, parallel forks and joins, inclusive gateways, event-based gateways, and the modeling mistakes that leave tokens waiting.
Using Flowable timer start, intermediate and boundary events for reminders, SLA escalations and scheduled processes, ISO 8601 durations and cycles, interrupting versus non-interrupting timers, and how the async executor fires them.
Handling failures in Flowable processes: throwing BPMN errors from Java delegates, error boundary and error start events, exception mapping, async retries with failedJobRetryTimeCycle, and when a failure should end in a deadletter job.
Waiting for and reacting to outside events in Flowable: message start and catch events, message correlation through the API, signal events and their scope, tenant-scoped signals, and when to use the event registry instead.
Running a task or subprocess once per item in Flowable: sequential and parallel multi-instance, collection variables, completion conditions, boundary events on multi-instance activities, and performance limits of large collections.
Structuring large Flowable models: embedded subprocesses versus call activities, passing variables in and out, referencing called processes from the same deployment or by ID, versioning of called processes, and async completion.
Handling events anywhere in a Flowable process scope with event subprocesses: error, message, signal and timer starts, interrupting versus non-interrupting behavior, and patterns for cancellation and status requests.
Undoing completed work in Flowable with compensation handlers, compensation boundary and throwing events, and transaction subprocesses with cancel events, for long-running business transactions that span several systems.
Writing Flowable script tasks safely: JSR-223 script languages, adding Groovy, the JavaScript engine question on Java 17 and later, reading and setting variables, script results, and when a Java delegate is the better place for logic.
Calling Java code from Flowable service tasks: class, expression and delegateExpression options, field injection, triggerable service tasks, execution listeners, and using Flowable services from inside a JavaDelegate.
Deciding where Flowable commits: what flowable:async does, how async continuations split a process into transactions, exclusive jobs, retries, and the user experience impact of synchronous versus asynchronous steps.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.