Merged
Size
S
Change Breakdown
Feature85%
Maintenance15%
#28126feat(core): Emit audit events for workflow activation on bootup

Workflow bootup events now emit audit trails

Workflow activation and deactivation events during system startup are now captured in audit logs, giving operators visibility into boot-time workflow state changes that were previously invisible.

Previously, workflow state changes that occurred during application bootup were not captured in any audit trail, leaving operators without visibility into what happened to workflows during startup sequences. When a system restarted or leadership changed hands, workflows would activate or deactivate silently.

Now, whenever workflows transition between active and inactive states during bootup, audit events fire with the relevant metadata — workflow ID, name, version, and the reason for any deactivation. The event types n8n.audit.workflow.activated and n8n.audit.workflow.deactivated carry this information through the message event bus, creating a searchable record of system behavior during critical startup moments.

In the CLI package's active workflow manager, two new audit event emissions bracket workflow state changes. Activation always triggers an event, while deactivation events are scoped to init and leadershipChange activation modes — deliberate boundaries that prevent excessive noise during normal operation while capturing meaningful state transitions. This gives operations teams the audit trail they need to reconstruct what happened during any boot sequence.

View Original GitHub Description

Summary

Write a dedicated audit event on workflow activation and deactivation on bootup. Intentionally not emitting a general workflow activation event as this triggers downstream services like the workflow indexer.

Context: https://www.notion.so/n8n/33b5b6e0c94f8010a4feecc6ad87914a

Related Linear tickets, Github issues, and Community forum posts

<!-- Include links to **Linear ticket** or Github issue or Community forum post. Important in order to close *automatically* and provide context to reviewers. https://linear.app/n8n/issue/ --> <!-- Use "closes #<issue-number>", "fixes #<issue-number>", or "resolves #<issue-number>" to automatically close issues when the PR is merged. -->

Review / Merge checklist

  • PR title and summary are descriptive. (conventions) <!-- **Remember, the title automatically goes into the changelog. Use `(no-changelog)` otherwise.** -->
  • Docs updated or follow-up ticket created.
  • Tests included. <!-- A bug is not considered fixed, unless a test is added to prevent it from happening again. A feature is not complete without tests. -->
  • PR Labeled with Backport to Beta, Backport to Stable, or Backport to v1 (if the PR is an urgent fix that needs to be backported)
© 2026 · via Gitpulse