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

# 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.
