Coverage
The following tables show which Camunda 8 entities and properties are migrated by the History Data Migrator.
Unsupported entities
The following entities are not supported for migration (no properties are migrated):
- Batch operation
- Batch operation item
- Cluster variable
- Correlated message subscription
- Exporter position
- History deletion
- Job metrics batch
- Message subscription
- Sequence flow
- Usage metric
- Usage metric (TU)
- Web session
Supported entities
The following limitations apply to audit log entries:
- Audit log entries are migrated only for user tasks, process definitions, process instances, variables, jobs, external tasks, users, groups, and authorizations.
- Audit log entries are not migrated for batch operations, identity links, attachments, decisions, job definitions, metrics, operation logs, filters, comments, and properties.
The Migration Supported column uses the following values:
- Yes — the property is populated, either from a Camunda 7 value or with a fixed, semantically correct value (for example, a historic job's
stateis alwaysCOMPLETED). - Yes, with placeholder — the property is always populated, but the value may sometimes be a placeholder rather than data migrated from Camunda 7. See the Notes column for the placeholder used.
- Partially — the property is populated for some records and not others.
- No — the property is not populated.
| Entity Type | Property | Migration Supported | Notes |
|---|---|---|---|
| Audit log | |||
auditLogKey | Yes | ||
entityKey | Yes, with placeholder | Set to the target entity's key for entities related to user tasks, process definitions, and process instances. For all other entity types, a placeholder (C7_MIGRATED) is written. | |
entityType | Yes | ||
operationType | Yes | ||
entityVersion | Yes | ||
entityValueType | No | ||
entityOperationIntent | No | ||
batchOperationKey | No | ||
batchOperationType | No | ||
timestamp | Yes | ||
actorType | Yes | ||
actorId | Yes | ||
agentElementId | No | ||
tenantId | Yes | ||
tenantScope | Yes | ||
result | Yes | ||
category | Yes | ||
processDefinitionId | Yes | ||
decisionRequirementsId | No | ||
decisionDefinitionId | No | ||
processDefinitionKey | Yes | ||
processInstanceKey | Yes | ||
rootProcessInstanceKey | Yes | ||
elementInstanceKey | Partially | Migrated only for entities related to user tasks | |
jobKey | Partially | Migrated only for entities related to jobs | |
userTaskKey | Yes | ||
decisionRequirementsKey | No | ||
decisionDefinitionKey | No | ||
decisionEvaluationKey | No | ||
deploymentKey | No | ||
formKey | No | ||
resourceKey | No | ||
relatedEntityType | No | ||
relatedEntityKey | No | ||
entityDescription | Partially | Migrated only for user, group, tenant, and delete variable operations | |
partitionId | Yes | Assigned based on the root process instance, or randomly if not related to a process instance. See partition distribution. | |
historyCleanupDate | Yes | ||
| Decision definition | |||
decisionDefinitionKey | Yes | ||
name | Yes | ||
decisionDefinitionId | Yes | ||
tenantId | Yes | ||
version | Yes | ||
decisionRequirementsId | Yes | For single Camunda 7 decisions that have no decision requirements definition (DRD), a synthetic DRD is generated. Its ID uses the configured legacy ID prefix followed by the decision ID, for example c7-legacy-<decisionId> with the default prefix. | |
decisionRequirementsKey | Yes | ||
decisionRequirementsName | Yes | ||
decisionRequirementsVersion | Yes | ||
| Decision instance | |||
decisionInstanceId | Yes | ||
decisionInstanceKey | Yes | ||
state | Yes | ||
evaluationDate | Yes | ||
evaluationFailure | No | ||
evaluationFailureMessage | No | ||
result | Yes | When the Camunda 7 decision produced no result, the value is migrated as the JSON literal string "null" instead of a database null. | |
flowNodeInstanceKey | Yes | ||
flowNodeId | Yes | ||
processInstanceKey | Yes | ||
processDefinitionKey | Yes | ||
processDefinitionId | Yes | ||
rootProcessInstanceKey | Yes | ||
decisionDefinitionKey | Yes | ||
decisionDefinitionId | Yes | ||
decisionRequirementsKey | Yes | ||
decisionRequirementsId | Yes | ||
rootDecisionDefinitionKey | Yes | ||
decisionType | Yes | ||
tenantId | Yes | ||
partitionId | Yes | Assigned based on the root process instance, or randomly for standalone decisions. See partition distribution. | |
evaluatedInputs | Yes | ||
evaluatedOutputs | Yes | ||
historyCleanupDate | Yes | ||
| Decision requirements | |||
decisionRequirementsKey | Yes | ||
decisionRequirementsId | Yes | ||
name | Yes | ||
resourceName | Yes | ||
version | Yes | ||
xml | Yes | ||
tenantId | Yes | ||
| Flow node instance | |||
flowNodeInstanceKey | Yes | ||
processInstanceKey | Yes | ||
processDefinitionKey | Yes | ||
processDefinitionId | Yes | ||
flowNodeScopeKey | Yes | ||
startDate | Yes | ||
endDate | Yes | ||
flowNodeId | Yes | ||
flowNodeName | Yes | ||
treePath | Yes | ||
type | Yes | ||
state | Yes | ||
incidentKey | No | ||
numSubprocessIncidents | No | ||
tenantId | Yes | ||
partitionId | Yes | Assigned based on the root process instance. See partition distribution. | |
rootProcessInstanceKey | Yes | ||
| Form | |||
formKey | Yes | ||
tenantId | Yes | ||
formId | Yes | ||
schema | Yes | ||
version | Yes | ||
isDeleted | Yes | Always false. | |
| Incident | |||
incidentKey | Yes | ||
processDefinitionKey | Yes | ||
processDefinitionId | Yes | ||
processInstanceKey | Yes | ||
rootProcessInstanceKey | Yes | ||
flowNodeInstanceKey | Yes | Always populated. Incidents for which a flow node instance key cannot be resolved are skipped; see Incidents limitations. | |
flowNodeId | Yes | ||
jobKey | Partially | Populated only for entities related to jobs of type asynchronous continuation. | |
errorType | Yes | Populated when an equivalent mapping is possible. In all other cases, it's set to UNKNOWN | |
errorMessage | Yes, with placeholder | Set to the Camunda 7 incident message. When the incident has no message, a placeholder (C7_NO_MESSAGE) is written. | |
errorMessageHash | No | ||
creationDate | Yes | ||
state | Yes | Always Resolved | |
treePath | Yes | ||
tenantId | Yes | ||
partitionId | Yes | Assigned based on the root process instance. See partition distribution. | |
| Job | |||
| jobKey | Yes | ||
| type | No | ||
| worker | Yes, with placeholder | Set to the hostname of the machine where Camunda 7 executed the job. When the hostname is unavailable (for example, legacy rows or a custom HostnameProvider), a placeholder (C7_MIGRATED) is written. | |
| state | Yes | Always COMPLETED. | |
| kind | Yes | Always BPMN_ELEMENT. | |
| listenerEventType | Yes | Always UNSPECIFIED. | |
| retries | Yes | Always 0. | |
| isDenied | No | ||
| deniedReason | No | ||
| hasFailedWithRetriesLeft | No | ||
| errorCode | No | ||
| errorMessage | No | ||
| serializedCustomHeaders | No | ||
| customHeaders | No | ||
| deadline | No | ||
| endTime | No | ||
| processDefinitionId | Yes | ||
| processDefinitionKey | Yes | ||
| processInstanceKey | Yes | ||
| rootProcessInstanceKey | Yes | ||
| elementId | Yes | ||
| elementInstanceKey | Yes | Always populated. Jobs for which an element instance key cannot be resolved are skipped; see Jobs limitations. | |
| tenantId | Yes | ||
| partitionId | Yes | Assigned based on the root process instance. See partition distribution. | |
| creationTime | Yes | ||
| lastUpdateTime | Yes | Sourced from the most recent Camunda 7 historic job log entry. | |
| External Task as a Job | |||
| jobKey | Yes | ||
| type | Yes | Topic name | |
| worker | Yes, with placeholder | Always set to a placeholder (C7_MIGRATED); Camunda 7 does not record a worker hostname for external tasks. | |
| state | Yes | Always COMPLETED. | |
| kind | Yes | Always BPMN_ELEMENT. | |
| listenerEventType | Yes | Always UNSPECIFIED. | |
| retries | Yes | Always 0. | |
| isDenied | No | ||
| deniedReason | No | ||
| hasFailedWithRetriesLeft | No | ||
| errorCode | No | ||
| errorMessage | No | ||
| serializedCustomHeaders | No | ||
| customHeaders | No | ||
| deadline | No | ||
| endTime | No | ||
| processDefinitionId | Yes | ||
| processDefinitionKey | Yes | ||
| processInstanceKey | Yes | ||
| rootProcessInstanceKey | Yes | ||
| elementId | Yes | ||
| elementInstanceKey | Yes | Always populated. External tasks for which an element instance key cannot be resolved are skipped; see Jobs limitations. | |
| tenantId | Yes | ||
| partitionId | Yes | Assigned based on the root process instance. See partition distribution. | |
| creationTime | Yes | ||
| lastUpdateTime | Yes | Sourced from the most recent Camunda 7 historic external task log entry. | |
| Process definition | |||
processDefinitionKey | Yes | ||
processDefinitionId | Yes | ||
resourceName | Yes | ||
name | Yes | ||
tenantId | Yes | ||
versionTag | Yes | ||
version | Yes | ||
bpmnXml | Yes | ||
formId | Yes | ||
| Process instance | |||
processInstanceKey | Yes | ||
rootProcessInstanceKey | Yes | ||
processDefinitionId | Yes | ||
processDefinitionKey | Yes | ||
state | Yes | ||
startDate | Yes | ||
endDate | Yes | ||
tenantId | Yes | ||
parentProcessInstanceKey | Yes | ||
parentElementInstanceKey | Yes | ||
numIncidents | Yes | Always 0. | |
version | Yes | ||
partitionId | Yes | Assigned based on the root process instance, or randomly for root process instances. See partition distribution. | |
treePath | Yes | ||
historyCleanupDate | Yes | ||
tags | Yes | Tags do not exist in Camunda 7, but we allow to set them during migration via interceptors and they will be visible in Camunda 8 after migration. Default tags: legacy-id | |
businessId | Yes | ||
| User task | |||
userTaskKey | Yes | ||
elementId | Yes | ||
name | Yes | ||
processDefinitionId | Yes | ||
creationDate | Yes | ||
completionDate | Yes | ||
assignee | Yes | ||
state | Yes | ||
formKey | Yes | ||
processDefinitionKey | Yes | ||
processInstanceKey | Yes | ||
rootProcessInstanceKey | Yes | ||
elementInstanceKey | Yes | ||
tenantId | Yes | ||
dueDate | Yes | ||
followUpDate | Yes | ||
candidateGroups | Yes | ||
candidateUsers | Yes | ||
externalFormReference | No | ||
processDefinitionVersion | Yes | ||
customHeaders | No | ||
priority | Yes | ||
tags | Yes | Tags do not exist in Camunda 7, but we allow to set them during migration via interceptors and they will be visible in Camunda 8 after migration | |
partitionId | Yes | Assigned based on the root process instance. See partition distribution. | |
| Variable | |||
variableKey | Yes | ||
name | Yes | ||
type | Yes | ||
doubleValue | Yes | ||
longValue | Yes | ||
value | Yes | ||
fullValue | Yes | ||
isPreview | Yes | ||
scopeKey | Yes | ||
processInstanceKey | Yes | ||
rootProcessInstanceKey | Yes | ||
processDefinitionId | Yes | ||
tenantId | Yes | ||
partitionId | Yes | Assigned based on the root process instance. See partition distribution. | |
elementInstanceKey | Yes |