--- title: Hooks order: 60 --- A **hook** is a lifecycle event. The available hooks are: - [preRender](/reference/hooks/prerender/): Called at the start of [`Pattern.render()`](/reference/api/pattern#render) - [postRender](/reference/hooks/postrender/): Called at the end of [`Pattern.render()`](/reference/api/pattern#render) - [insertText](/reference/hooks/inserttext/): Called when inserting text - [preDraft](/reference/hooks/predraft/): Called at the start of [`Pattern.draft()`](/reference/api/pattern#draft) - [postDraft](/reference/hooks/postdraft/): Called at the end of [`Pattern.draft()`](/reference/api/pattern#draft) - [preSample](/reference/hooks/presample/): Called at the start of [`Pattern.sample()`](/reference/api/pattern#sample) - [postSample](/reference/hooks/postsample/): Called at the end of [`Pattern.sample()`](/reference/api/pattern#sample) You can register a method for a hook. When the hook is triggered, your method will be called. It will receive two parameters: - An object relevant to the hook. See the [hooks API reference](/reference/hooks/) for details. - Data passed when the hook was registered (optional)