Camunda Exporter Record Documentation

Where can I get detailed documentation on the Record I’m receiving in my exporter?

Best regards,
Hew

You can find it here, what are the parameters are getting indexed.

@khew To get detailed documentation on the Camunda 8 Exporter Records, the best sources are the official documentation, source code, and Zeebe protocol definitions. Here’s where you should look:


:small_blue_diamond: 1. Official Zeebe Protocol Documentation

Camunda 8’s engine (Zeebe) defines all record types in a protobuf-based protocol.

:page_facing_up: Protocol Buffers (Protobuf) Definitions
GitHub:
:point_right: https://github.com/camunda/zeebe/tree/main/protocol

You’ll find:

  • record.proto: General structure for records
  • workflow_instance.proto, job.proto, etc.: Detailed schemas for each record type

:small_blue_diamond: 2. Zeebe Record Value Types – Java Interface Docs

The Java interfaces that define what you see in an exporter (e.g., JobRecordValue, ProcessInstanceRecordValue, etc.):

:package: Java package:

io.camunda.zeebe.protocol.record.value

GitHub (Java API):
:point_right: https://github.com/camunda/zeebe/tree/main/protocol-impl/src/main/java/io/camunda/zeebe/protocol/record/value

Each record type has:

  • A corresponding interface (e.g., JobRecordValue)
  • Accessor methods to read its properties

:small_blue_diamond: 3. Zeebe Exporter Record Interface

All exported records implement:

io.camunda.zeebe.protocol.record.Record<T extends RecordValue>

Each Record has:

  • Metadata: key, position, intent, timestamp, partitionId, etc.
  • Value: The payload depending on the record type (e.g., Job, ProcessInstance, etc.)

JavaDocs (API Docs):
:point_right: Not published officially — but explore through IDE or GitHub links.


:small_blue_diamond: 4. Examples of Record Structures

Example exporters like the Elasticsearch Exporter or custom exporters in community repos show how to handle different record types.

You can check these classes to see how records are deserialized and structured.


:brain: To inspect the raw record structure you’re receiving:

  • Use your exporter log/print to inspect record.getMetadata() and record.getValue() fully.
  • Match the recordType, valueType, and intent with the definitions from *.proto and Java interfaces.

1 Like

Thank you so much @cpbpm @aravindhrs for sharing.