--- title: "Bring Your Own (BYO): Custom Events" slug: "bring-your-own-byo-custom-events" updated: 2025-09-26T05:55:24Z published: 2025-09-26T05:55:24Z canonical: "docs.unqork.io/bring-your-own-byo-custom-events" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Bring Your Own (BYO): Custom Events > [!WARNING] > The Bring Your Own framework is intended for developers who have a strong understanding of the Unqork Designer Platform and JavaScript. ## Overview The BYO framework enables developers to create **custom events** that integrate seamlessly with the Unqork Designer Platform. Custom events can be scoped to individual components or registered as global events. After defining and registering a custom event, it functions as a native event that can be used throughout the platform. > [!WARNING] > For security reasons, external URLs cannot be imported into a BYO implementation file. Unqork recommends copying external source code and importing it into the JavaScript file. ## Event Definition Define custom event key attributes in the `manifest.json` file. Each entry in the root-level or component-level `events` array (`components → events`) defines an event available in the Unqork Designer Platform. > Learn more about the event definition in our [BYO: Understanding the manifest.json File](/v1/docs/bring-your-own-byo-understanding-the-manifestjson-file) article. A component can dispatch custom events that are handled through configuration in the [Operations Builder](/v1/docs/operations-builder). This enables developers to trigger logic or workflows in response to component behavior. Define each event as a named export in your main JavaScript file. The export name must match the `type` value specified in the `manifest.json` file. ```typescript class CustomEvent {   name = 'myComponentClick';   payload = {}; } export const myComponentClick = {   model: async () => CustomEvent } ``` ## Event Payloads Custom events can carry structured payload data. This data provides context about end-user interactions triggering events. Developers define the event payloads in the implementation JavaScript and `manifest.json`. After implementation, a Creator can use the values of the event payload in their configuration by referencing the [Operations Builder's](/v1/docs/operations-builder) **Context Reference** panel. Passing values, like the content of an input field, ID of a clicked row, or a selected cell, lets Creators make operation logic dynamic and responsive to end-user actions. Downstream operations can use these values to perform targeted updates based on the event’s context. > Learn more about event payloads in our [BYO: Event Payloads](/v1/docs/bring-your-own-byo-726-event-payloads) article. ## Resources ### [Bring Your Own (BYO) Framework Landing Page](/v1/docs/bring-your-own-byo-framework-landingpage) Find all the resources needed to build your own components here. ### [Introduction to the Bring Your Own (BYO) Framework](/v1/docs/introduction-to-the-bring-your-own-byo-framework) Get started building your own custom assets, including components, events, and operations. ### [Create a BYO Package](/v1/docs/bring-your-own-byo-create-a-package) Discover the structure and content of a BYO Package ### [Understanding the manifest.json File](/v1/docs/bring-your-own-byo-understanding-the-manifestjson-file) Learn about the file's specification, component and event definitions. ### [Understanding the BYO Runtime Engine API](/v1/docs/bring-your-own-byo-understanding-runtime-engine-api) Discover the interface between your custom BYO components and the Unqork platform. ### [Custom Component SDK](/v1/docs/bring-your-own-byo-component-sdk-software-development-kit) Extend component functionality in the Unqork Designer Platform. ### [Custom Component](/v1/docs/bring-your-own-byo-custom-component) Understand the state, interface, and events of a custom component. ### [Event Payloads](/v1/docs/bring-your-own-byo-726-event-payloads) Learn more about viewing and using event payloads with the Operations Builder. ### [Custom Operations](/v1/docs/bring-your-own-byo-custom-operations) Learn more about creating custom operations for use in the Operations Builder.. ### [BYO Implementation Examples](/v1/docs/bring-your-own-byo-726-implementation-examples) Discover examples of component implementation using the Unqork Designer Platform. ### [BYO Best Practices](/v1/docs/best-practices-bring-your-own-byo-framework) Learn about best practices for implementing and using BYO assets. ### [BYO General FAQ](/v1/docs/bring-your-own-byo-general-faq-frequently-asked-questions) Learn about the Bring Your Own Framework and discover frequently asked questions. JavaScript is an object-oriented computer programming language. It is most-commonly used for interactive effects in the browser. DOM (Document Object Model) events are signals or notifications that something has occurred or is occurring within a web page, often triggered by user interactions or by the browser itself. These events allow JavaScript to react to changes and interactions on a web page, making it dynamic and interactive. DOM (Document Object Model) events are signals or notifications that something has occurred or is occurring within a web page, often triggered by user interactions or by the browser itself. These events allow JavaScript to react to changes and interactions on a web page, making it dynamic and interactive. An array is a type of object that stores one or more data types. Data types supported in arrays include numbers, strings, and objects. End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. Also known as Unqork Users, or Designer Users; is anyone who is inside the Unqork platform.