# Custom Components

A custom component is vuejs component which is coded by the developers and served using a micro app. You can find sample custom components / micro app here -

{% @github-files/github-code-block %}

There are four types of custom components -

* **Frame** - This renders common areas across all pages of a website
* **Layout** - This is used to apply a layout to all the direct / nested pages under a label.
* **External Page** - This is meant for complex pages which can't be designed using site builder page designer.
* **Component** - A generic vuejs component which does not belong to three types of components described above.


---

# Agent Instructions: 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.mechcloud.io/dashboard-builder/custom-components.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.
