(howtos-javascript-client-action)= # Create a client action A client action triggers an action that is entirely implemented in the client side. One of the benefits of using a client action is the ability to create highly customized interfaces with ease. A client action is typically defined by an OWL component; we can also use the web framework and use services, core components, hooks,... 1. Create the {ref}`client action `, don't forget to make it accessible. ```xml My Client Action my_module.MyClientAction ``` 2. Create a component that represents the client action. ```{code-block} js :caption: :file:`my_client_action.js` import { registry } from "@web/core/registry"; import { Component } from "@odoo/owl"; class MyClientAction extends Component { static template = "my_module.clientaction"; } // remember the tag name we put in the first step registry.category("actions").add("my_module.MyClientAction", MyClientAction); ``` ```{code-block} xml :caption: :file:`my_client_action.xml` Hello world ```