Add io.debezium.transforms.ExtractNewRecordState to the transforms list in your Kafka Connect connector configuration
Set transforms.<name>.type to io.debezium.transforms.ExtractNewRecordState
Configure drop.tombstones (default true) to control whether delete tombstone records are passed downstream
Set delete.handling.mode to drop, rewrite, or none to determine how DELETE events are represented after the transform
Optionally set add.fields to promote selected envelope metadata fields (e.g., op, source.ts_ms) into the flattened record as header or value fields
Connect the transformed topic to a sink connector (e.g., JDBC sink) that expects flat records rather than Debezium envelope-structured events
Known gotchas
ExtractNewRecordState discards the before image of the record; if you need before values for UPSERT or audit logic, read them before applying the transform or use a different approach
For DELETE events with delete.handling.mode=drop, the record is silently discarded before reaching the sink; ensure your sink can tolerate missing deletes or use rewrite mode
The transform operates on value schema; if your connector emits schemaless JSON, the transform behavior differs — check whether schema.enable is set appropriately
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp