Custom Hooks & Triggers
Hooks and triggers connect platform lifecycle events to automated responses – so that things happen at the right moment automatically, not when someone remembers to act.
The Behavior Extensibility framework exposes platform events as attachment points for custom logic. An event fires – a design is committed to the Workspace, a release is initiated, a component lifecycle state changes – and the hook responds. The response can be a validation that blocks the action if conditions aren't met, a side effect that notifies or updates an external system, or a transformation that prepares data for the next step in the pipeline.
Hooks are what make the platform proactive. Without them, automation is reactive: someone notices a state and triggers an action. With hooks, the platform acts at the right moment by definition, because the trigger is the event itself.
Hook Types and Their Roles
-
Blocking hooks (pre-action) – a blocking hook fires before an action completes and can prevent it from proceeding. A hook registered to the pre-release event can run a final set of validations and abort the release if any fail. A hook on component approval can verify that all required fields are populated and all manufacturer parts are on the approved list before the component enters the library.
Blocking hooks are the enforcement mechanism for rules that must be true before an action is allowed – not rules that should ideally be true, but rules that must be true. They are the difference between "we recommend checking X before release" and "a release cannot happen if X is not true."
-
Non-blocking hooks (post-action) – a non-blocking hook fires after an action completes and triggers side effects. A hook on post-release can push the release artifacts to an external system, update a record in ERP, notify a downstream team, or log an audit event. The release has already happened; the hook handles the consequences.
Post-action hooks are the integration mechanism for keeping external systems in sync with platform state. They are more reliable than periodic polling or manual data exports because they fire exactly when the relevant event occurs.
-
Scheduled triggers – beyond event-driven hooks, the platform supports scheduled execution of automation logic – scripts or checks that run on a recurring schedule rather than in response to a specific event. Useful for periodic reporting, data synchronization that doesn't need to happen in real time, and maintenance operations that should run regularly.
Common Patterns
-
Release gate enforcement – a blocking pre-release hook runs a final set of checks – custom validations, external system lookups, documentation completeness checks – and blocks the release if any fail. The engineer gets clear feedback on what failed and what they need to resolve. The release record includes the hook results, so there is a complete audit trail of what was checked and what passed.
-
Post-release propagation – a non-blocking post-release hook pushes release data to downstream systems: manufacturing execution, ERP, project management, archival systems. The hook fires automatically when the release completes, eliminating the manual step of notifying or updating each system.
-
Lifecycle synchronization – when a component lifecycle state changes in Altium 365 – from "In Design" to "Released", or from "Active" to "Obsolete" – a hook can propagate that change to PLM, ERP, or other systems that maintain component records. The hook is the synchronization point; the platform event is the authoritative trigger.
-
Key System Flow override – for advanced cases, hooks can be used to override or extend core platform flows – modifying default behavior at key points in the system lifecycle. This is advanced usage and is on the roadmap as a capability that will expand over time.
Risks and Failure Handling
Blocking hooks that fail due to external system unavailability should not silently pass designs through. The failure mode matters: a hook that can't reach the approved vendor list should fail closed – block the action and report that the check couldn't be completed – rather than fail open and allow a potentially non-compliant design to proceed.
Post-action hooks that push to external systems introduce a dependency on those systems being available. Design for partial failure: log events that couldn't be delivered, implement retry logic, and ensure that a failed hook doesn't leave the platform and the external system in an inconsistent state.