Business Event Field Reference

Enterprise Edition only

This page documents the payload fields of Business Events (Enterprise Edition).

Every business event is delivered as the payload string of the Event Envelope. Once parsed as JSON, its fields depend on which entity the event describes — but every payload shares a common set of base fields, described first below.

Field names below match the Java class fields exactly, since the payload is serialized with Gson, which serializes declared fields rather than getters. Types are the underlying Java types; in JSON, Date/Instant fields are rendered according to the format yyyy-MM-dd'T'HH:mm:ss.SSSXXX, and absent/inapplicable fields are typically omitted or null rather than present with an empty value.

Common Fields

Every business event payload includes these fields (from the base BusinessEvent class):

FieldTypeDescription
idStringIdentifier of the event's subject (e.g. the process instance id, task id, incident id) — populated for most, but not all, event types; see per-entity notes below.
rootProcessInstanceIdStringThe root process instance in which the event occurred (top of the call-activity chain).
processInstanceIdStringThe process instance in which the event occurred.
executionIdStringId of the execution in which the event occurred.
processDefinitionIdStringId of the process definition (deployment-specific).
processDefinitionKeyStringKey of the process definition (stable across versions).
processDefinitionNameStringHuman-readable name of the process definition.
processDefinitionVersionIntegerVersion of the process definition.
eventTypeStringThe short event name, e.g. start, create, update — the last segment of businessEventType.
businessEventTypeStringThe fully-qualified type, <prefix>:<entity>:<event> (e.g. bpms:task-instance:complete) — matches metadata.type in the envelope.
sequenceCounterlongExecution/variable sequence counter, useful for ordering events that were dispatched out of strict chronological order.

Several entities (process instance, activity instance’s sibling detail entities, task instance, variable instance, form property, script violation) extend a further intermediate base, BusinessDetailEventEntity, adding:

FieldTypeDescription
activityInstanceIdStringActivity instance associated with the change (meaning varies slightly per entity — see notes below).
taskIdStringTask id, when the event is scoped to a task; otherwise null.
timestampDateWhen the event occurred.
tenantIdStringTenant id, in multi-tenant deployments.
userOperationIdStringId correlating this change back to the [user operation log](#user-operation-log) entry that caused it, if any (e.g. a task update triggered by an explicit API call vs. an internal engine action).

Entities that extend BusinessEvent directly (activity instance, identity link, incident, job, batch, external task, DMN decision, user operation log) do not carry the BusinessDetailEventEntity fields above — only the Common Fields plus their own, listed per entity below.


Process Instance

Types: start, end, migrate (entity process-instance); update (entity process-instance-update) Java: BusinessProcessInstanceEventEntity (extends BusinessDetailEventEntity)

FieldTypeDescription
idStringThe process instance id (explicitly set to this on all process-instance events).
businessKeyStringThe process instance's business key, if set.
startUserIdStringAuthenticated user id that started the instance, if any.
superProcessInstanceIdStringParent process instance id, if this instance was started via a call activity.
startActivityIdStringBPMN activity id where the instance started.
endActivityIdStringBPMN activity id where the instance ended (only on end).
deleteReasonStringReason string, populated when the instance ended via deletion/cancellation rather than normal completion.
stateStringOne of ACTIVE, SUSPENDED, COMPLETED, INTERNALLY_TERMINATED, EXTERNALLY_TERMINATED (BusinessProcessInstanceState).
startTimeDateWhen the instance started.
endTimeDateWhen the instance ended (only on end).
durationInMillisLongendTime - startTime, only populated once both are known.

Activity Instance

Types: start, update, migrate, end (entity activity-instance) Java: BusinessActivityInstanceEventEntity (extends BusinessEvent directly — no BusinessDetailEventEntity fields)

FieldTypeDescription
activityInstanceIdStringThe activity instance id (also set as the common id field).
activityIdStringBPMN element id (e.g. ServiceTask_1).
activityNameStringBPMN element name, if set in the model.
activityTypeStringBPMN element type, e.g. serviceTask, userTask, exclusiveGateway.
activityInstanceStateint0 default, 1 scope complete, 2 canceled, 3 starting, 4 ending (ActivityInstanceState) — only meaningfully set on end.
parentActivityInstanceIdStringEnclosing activity instance (e.g. the subprocess or call activity instance).
calledProcessInstanceIdStringSet when this activity is a call activity that spawned a called process instance.
tenantIdStringTenant id, in multi-tenant deployments.
startTimeDateWhen the activity instance started.
endTimeDateWhen the activity instance ended (only on end).
durationInMillisLongendTime - startTime, only on end.

Task Instance

Types: create, update, migrate, complete, delete (entity task-instance) Java: BusinessTaskInstanceEventEntity (extends BusinessDetailEventEntity)

FieldTypeDescription
id / taskIdStringThe task id.
activityInstanceIdStringActivity instance backing the task's user task.
assigneeStringAssigned user id, if any.
ownerStringTask owner user id, if any.
nameStringTask name.
descriptionStringTask description.
dueDateDateDue date, if set.
followUpDateDateFollow-up date, if set.
priorityintTask priority.
parentTaskIdStringParent task id, for subtasks.
taskDefinitionKeyStringKey of the user task in the BPMN model.
taskStateStringThe task's current internal state string.
startTimeDateWhen the task was created.
endTimeDateWhen the task was completed or deleted.
durationInMillisLongendTime - startTime, on complete/delete.
deleteReasonStringSet on complete (e.g. normal completion reason) and delete.

Variable Instance

Types: created, updated, migrate, deleted (entity variable-instance) Java: BusinessVariableUpdateEventEntity (extends BusinessDetailEventEntity)

FieldTypeDescription
variableNameStringName of the variable.
variableInstanceIdStringId of the variable instance row.
revisionintOptimistic-locking revision of the variable instance at the time of the event.
scopeActivityInstanceIdStringActivity instance that scopes the variable (may differ from activityInstanceId, which is where it was set).
activityInstanceIdStringActivity instance in which the variable was set (inherited field; here it identifies the source of the change).
taskIdStringTask id, when the variable is task-scoped.
serializerNameStringName of the variable type's serializer (e.g. string, json, object).
longValueLongRaw persisted LONG_ column value, mirroring ACT_RU_VARIABLE — populated depending on the variable's type.
doubleValueDoubleRaw persisted DOUBLE_ column value.
textValueStringRaw persisted TEXT_ column value (e.g. String variables, or the primary text representation for complex types).
textValue2StringRaw persisted TEXT2_ column value (secondary text column, used by some serializers, e.g. for a Java class name alongside serialized content).
byteValuebyte[]Inline raw bytes, for small binary values.
byteArrayIdStringId of the associated blob row, when the value is stored out-of-line as a byte array.
isInitialBooleantrue when this is the first value ever set for the variable, typically during process instance start.

Reading the actual variable value

The variable’s value is spread across longValue/doubleValue/textValue/textValue2/byteValue/byteArrayId depending on serializerName — the same low-level representation used internally by ACT_RU_VARIABLE and ACT_GE_BYTEARRAY. There is no single pre-decoded “value” field; consumers that need the typed value should decode it the same way the corresponding variable serializer does, or query the variable through the regular Java/REST API instead of relying solely on the event payload for complex types.

Identity Link

Types: add-identity-link (entity identity-link-add), delete-identity-link (entity identity-link-delete) Java: BusinessIdentityLinkEventEntity (extends BusinessEvent directly)

FieldTypeDescription
timeDateWhen the identity link change occurred.
typeStringIdentity link type, e.g. candidate, assignee, owner.
userIdStringUser id the link refers to, if any.
groupIdStringGroup id the link refers to, if any.
taskIdStringTask id, if the link is on a task; null when the link is on a process definition instead.
operationTypeStringLiteral "add" or "delete".
assignerIdStringAuthenticated user id who performed the operation, if any.
tenantIdStringTenant id, in multi-tenant deployments.

Incident

Types: create, migrate, resolve, update, delete (entity incident) Java: BusinessIncidentEventEntity (extends BusinessEvent directly)

FieldTypeDescription
idStringThe incident id.
createTimeDateWhen the incident was created.
endTimeDateWhen the incident was resolved or deleted (only on those events).
incidentTypeStringIncident type, e.g. failedJob, failedExternalTask.
activityIdStringBPMN activity id where the incident occurred.
failedActivityIdStringBPMN activity id where the underlying failure originated (may differ from activityId for incidents that propagate).
causeIncidentIdStringId of the incident that directly caused this one, for incident chains.
rootCauseIncidentIdStringId of the root incident at the top of the causal chain.
configurationStringIncident-type-specific configuration string (e.g. the failed job's id for a failedJob incident).
incidentMessageStringHuman-readable incident message, typically the underlying exception message.
incidentStateint0 open, 1 resolved, 2 deleted (IncidentState).
jobDefinitionIdStringJob definition id, for job-related incidents.
historyConfigurationStringHistoric configuration string, retained for incidents surfaced via history.
annotationStringFree-text annotation attached to the incident, if any (e.g. via Cockpit).
tenantIdStringTenant id, in multi-tenant deployments.

Job

Types: create, fail, success, delete (entity job) Java: JobLogBusinessEvent (extends BusinessEvent directly)

FieldTypeDescription
jobIdStringThe job id.
timestampDateWhen the event occurred.
jobDueDateDateThe job's due date at the time of the event.
jobRetriesintRemaining retries at the time of the event.
jobPrioritylongJob priority.
jobExceptionMessageStringFailure exception message, set on fail.
exceptionStacktraceStringFull failure stack trace, set on fail.
jobDefinitionIdStringJob definition id, if any.
jobDefinitionTypeStringJob handler type; falls back to the job handler's own type when there is no job definition (e.g. async-continuation/signal jobs).
jobDefinitionConfigurationStringJob definition configuration string.
activityIdStringBPMN activity id associated with the job.
failedActivityIdStringBPMN activity id where the job failure originated.
deploymentIdStringDeployment id the job belongs to.
stateint0 created, 1 failed, 2 successful, 3 deleted (JobState).
tenantIdStringTenant id, in multi-tenant deployments.
hostnameStringHostname of the engine node that processed the job.
batchIdStringId of the batch the job belongs to, if it was created as part of a batch operation.

Batch

Types: start, update, end (entity batch) Java: BatchBusinessEvent (extends BusinessEvent directly)

FieldTypeDescription
idStringThe batch id.
typeStringBatch type, e.g. instance-migration.
totalJobsintTotal number of execution jobs the batch will create.
batchJobsPerSeedintNumber of execution jobs created per run of the seed job.
invocationsPerBatchJobintNumber of entities processed per execution job.
seedJobDefinitionIdStringId of the seed job definition.
monitorJobDefinitionIdStringId of the monitor job definition.
batchJobDefinitionIdStringId of the execution job definition.
tenantIdStringTenant id, in multi-tenant deployments.
createUserIdStringUser id that created the batch — only set on start.
startTimeDateWhen the batch started — only on start.
endTimeDateWhen the batch ended — only on end.
executionStartTimeDateTimestamp of the reported progress — only on update.

External Task

Types: create, fail, success, delete (entity external-task) Java: ExternalTaskBusinessEvent (extends BusinessEvent directly)

FieldTypeDescription
externalTaskIdStringThe external task id.
timestampDateCreation time on create; current time on the other events.
topicNameStringExternal task topic name.
workerIdStringId of the worker that fetched/locked the task, if any.
prioritylongTask priority.
retriesIntegerRemaining retries at the time of the event.
errorMessageStringFailure error message, set on fail.
errorDetailsStringFull failure details/stack trace, set on fail.
activityIdStringBPMN external task activity id.
activityInstanceIdStringActivity instance backing the external task.
tenantIdStringTenant id, in multi-tenant deployments.
stateint0 created, 1 failed, 2 successful, 3 deleted (ExternalTaskState).

DMN Decision Evaluation

Type: evaluate (entity decision) Java: DmnDecisionEvaluationBusinessEvent (extends BusinessEvent directly)

Bundles the decision that was directly evaluated together with any required (sub-)decisions from the same decision requirements diagram into a single event.

FieldTypeDescription
rootDecisionInstanceDmnDecisionInstanceEvaluationThe directly-evaluated decision (see structure below).
requiredDecisionInstancesList<DmnDecisionInstanceEvaluation>Any required (sub-)decisions evaluated as part of the same decision requirements diagram. Empty if none.
tenantIdStringTenant id, in multi-tenant deployments.
userIdStringAuthenticated user id — only populated when the decision was evaluated ad hoc (no process-execution context), e.g. via the Decision REST API directly.
activityIdStringThe business rule task id, when the decision was evaluated in-process.
activityInstanceIdStringActivity instance of the business rule task, when evaluated in-process.

DmnDecisionInstanceEvaluation:

FieldTypeDescription
decisionDefinitionIdStringId of the decision definition.
decisionDefinitionKeyStringKey of the decision definition.
decisionDefinitionNameStringName of the decision definition.
decisionRequirementsDefinitionIdStringId of the decision requirements graph (DRG) definition, if the decision is part of one.
decisionRequirementsDefinitionKeyStringKey of the DRG definition.
evaluationTimeDateWhen this specific decision was evaluated.
inputsList<DmnDecisionInputEvaluation>The input clause values used for this evaluation.
outputsList<DmnDecisionOutputEvaluation>The output clause values produced by this evaluation.

DmnDecisionInputEvaluation:

FieldTypeDescription
clauseIdStringId of the input clause in the DMN table.
clauseNameStringName of the input clause.
typeNameStringFEEL/DMN type name of the value, e.g. string, long.
valueObjectThe actual input value.

DmnDecisionOutputEvaluation:

FieldTypeDescription
clauseIdStringId of the output clause in the DMN table.
clauseNameStringName of the output clause.
ruleIdStringId of the matched rule (row) that produced this output.
ruleOrderIntegerOrder/index of the matched rule.
variableNameStringName of the output variable.
typeNameStringFEEL/DMN type name of the value.
valueObjectThe actual output value.

Form Property

Type: form-property-update (entity form-property) Java: BusinessFormPropertyEventEntity (extends BusinessDetailEventEntity)

FieldTypeDescription
propertyIdStringThe form property's key.
propertyValueStringThe submitted value, as a string.
activityInstanceIdStringThe start activity instance if this is a start form, otherwise the current task's activity instance.
taskIdStringThe task id, for task forms; null for start forms.
userOperationIdStringCorrelates back to the [user operation log](#user-operation-log) entry for the same submission, if any.
tenantIdStringTenant id, in multi-tenant deployments.

User Operation Log

Type: create (entity user-operation-log) Java: UserOperationLogBusinessEvent (extends BusinessEvent directly)

One event is published per changed property — an operation that changes three properties (e.g. a synchronous message correlation, see Security — user operation log settings) produces three separate user-operation-log:create events, all sharing the same operationId.

FieldTypeDescription
operationIdStringCorrelates all property-change events that belong to the same logical user operation.
operationTypeStringOperation type, e.g. Suspend, Assign, Complete.
entityTypeStringType of entity the operation acted on, e.g. Task, ProcessInstance.
propertyStringName of the specific property that changed.
orgValueStringPrevious value, stringified.
newValueStringNew value, stringified.
userIdStringAuthenticated user id that performed the operation.
taskIdStringCorrelation id, when the operation targeted a task.
jobIdStringCorrelation id, when the operation targeted a job.
jobDefinitionIdStringCorrelation id, when the operation targeted a job definition.
deploymentIdStringCorrelation id, when the operation targeted a deployment.
batchIdStringCorrelation id, when the operation targeted a batch.
externalTaskIdStringCorrelation id, when the operation targeted an external task.
categoryStringUser operation log category, e.g. TaskWorker, Admin, Operator.
annotationStringFree-text annotation attached to the operation, if any.
tenantIdStringTenant id, in multi-tenant deployments.
timestampDateWhen the operation occurred.

Script Violation

Type: create (entity script-violation) Java: BusinessScriptViolationEventEntity (extends BusinessDetailEventEntity)

Published for every Script Guard violation recorded in AUDIT or ENFORCE mode. processInstanceId/rootProcessInstanceId (common fields) are null for deployment-time violations detected during BPMN parsing, and populated for runtime violations detected during script task execution.

FieldTypeDescription
activityIdStringId of the BPMN activity where the violation was detected, e.g. ServiceTask_1.
languageStringScript language, e.g. javascript, groovy.
sourceTypeStringScript source type (see ScriptSourceType) — e.g. inline vs. external resource.
originStringScript origin (see ScriptOrigin) — e.g. script task, execution listener, I/O mapping.
ruleCodeStringRule code that triggered the violation, e.g. SCRIPT_SECURITY_SYSTEM_GETENV.
reasonStringHuman-readable violation reason.

On this page