> For the complete documentation index, see [llms.txt](https://docs.wem.io/platform/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wem.io/platform/wemreference/wem-widgets.md).

# WEM Widgets

{% hint style="warning" %}
This part contains some basic information regarding WEM Widgets, an introduction.

In our [Tutorials](/platform/tutorials/building-widgets.md), there is a very extensive and detailed bit about [building WEM Widgets](/platform/tutorials/building-widgets.md) (the correct way).
{% endhint %}

### About WEM Widgets

{% hint style="info" %}
For demos and documentation on existing widgets, see [widgets.live.wem.io](https://widgets.live.wem.io).

Visit our forum for more discussions on widgets: [WEM Forum > WEM Modeler > Widgets](https://forum.wem.io/link?categoryid=15).

In our [Tutorials](/platform/tutorials/building-widgets.md), there is a very extensive and detailed bit about [building WEM Widgets](/platform/tutorials/building-widgets.md) (the correct way).
{% endhint %}

A Widget is a way to extend the standard User Interaction capabilities in WEM. They are only used on templates/pages (user interaction nodes in WEM) and will run and present their functionality in the browser at the client. WEM Widgets are little bits of custom coded elements.

WEM comes with a wide range of widgets that you can freely use in your project. If you need a specific widget that is not part of WEM, you can create that widget yourself - if you understand javascript at least.

A widget is written in WEMScript for hooking it into the rest of the WEM functionality. The intended functionality is typically written in JavaScript to run in the browser.\
JavaScript version ECMAScript ES5 is supported, that version is supported by all browsers. ES6 (ECMAScript2015) and newer versions are not (yet) supported by all browsers (particularly IE), so please use JavaScript syntax from ES5.

This article further describes the structure of WEM Widgets and syntax of WEMScript.

{% content-ref url="/spaces/-L\_NpOsk0sjotPXNy29Q/pages/OIGHwXaH21hvfPys2GK5" %}
[WEM Widget Structure](/platform/wemreference/wem-widgets/wem-widget-structure.md)
{% endcontent-ref %}

{% content-ref url="/spaces/-L\_NpOsk0sjotPXNy29Q/pages/0gfezaxDqNnnrxlvzG21" %}
[WEMScript for Widgets](/platform/wemreference/wem-widgets/wemscript-for-widgets.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.wem.io/platform/wemreference/wem-widgets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
