# Overview The Dixa Messenger Web Widget is a widget that can be embedded into your website. This document contains information about how to set up the widget, the APIs that are exposed by the widget and events dispatched by it. ## Setup To embed the Widget in a website, copy the code found in `Settings -> Messenger -> Cogwheel icon` on the setup tab and put it at the end of the `` tag of the pages that should show the widget. The embed code is like the following one (where `` is replaced with an actual Messenger Token): ```javascript ``` The snippet will load all the needed scripts and prepares the widget for initialization. Notice on the last line, the `init` method being called. This is what tells the widget to render itself. Once the `init` method [see init payload](/docs/dixamessenger/web/interfaces/initpayload) is called it will create an iframe, initialize the widget and show the button for showing/hiding the widget. ## Initialization You can customize the initialization of the widget by passing options to the `init` method: ```ts _dixa_.invoke('init', { messengerToken: '', position: 'bottomLeft', showWidgetCloseButton: true, language: 'en', //other options... }); ``` To see all the available options for `init` please refer to [`InitPayload`](/docs/dixamessenger/web/interfaces/initpayload). ## Next steps To know what else is possible with the messenger, checkout: - [Authentication](/docs/dixamessenger/web/authentication) to learn more about how to authenticate users. - [Commands](/docs/dixamessenger/web/commands) which allow you to manipulate the widget programmatically. - [Events](/docs/dixamessenger/web/events) tell you about the events emitted by the widget. - [Types](/docs/dixamessenger/web/types) List of the most notable type definitions. - [Promise-based API](/docs/dixamessenger/web/promisebasedapi) to learn how to control the widget programmatically using the new promise-based API (BETA).