The event bus
Every Fennec plugin announces state changes through one envelope shape, so automations, webhooks and other plugins can react without knowing each plugin's internals. Event names are plugin-slug/event-name.
// Listen to every Fennec event…
add_action( 'fennec_event', function ( array $envelope ) {
// $envelope = [ id, event, plugin, occurred_at, data, site ]
} );
// …or to one.
add_action( 'fennec_event/fennec-forms/entry-submitted', function ( array $envelope ) {
$entry_id = $envelope['data']['entry_id'];
} );