> 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

An introduction to WEM Widgets and WEMscript, used to create 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
