anchor.diff:  [[avro-as-payload-format]]
   == Using Avro as the payload format
   
  -The `outbox.EventRouter` SMT supports arbitrary payload formats. The `payload` column value in an outbox table is passed on transparently. An alternative to working with JSON is to use Avro.
  +The outbox event router SMT supports arbitrary payload formats. The `payload` column value in an outbox table is passed on transparently. An alternative to working with JSON is to use Avro.
   This can be beneficial for message format governance and for ensuring that outbox event schemas evolve in a backwards-compatible way.
   
   How a source application produces Avro formatted content for outbox message payloads is out of the scope of this documentation.
  
positive.code: }
  ----
  
  This example of a {prodname} outbox message is based on the {link-prefix}:{link-outbox-event-router}#outbox-event-router-configuration-options[default `outbox.EventRouter` configuration], which assumes an outbox table structure and event routing based on aggregates. To customize behavior, the `outbox.EventRouter` SMT provides numerous {link-prefix}:{link-outbox-event-router}#outbox-event-router-configuration-options[configuration options].
  
  // Type: concept
  // Title: Outbox table structure expected by {prodname} outbox event router SMT
  // ModuleID: outbox-table-structure-expected-by-debezium-outbox-eventrouter-smt
  [[basic-outbox-table]]
  == Basic outbox table
  
  To apply the default `outbox.EventRouter` SMT configuration, your outbox table is assumed to have the following columns: 
  
  [source]
  ----
  
negative.code: }
  ----
  
  A {prodname} connector that is configured to apply the outbox event router SMT generates the above message by transforming a {prodname} raw message like this: 
  
  [source,javascript,indent=0]
  ----
  