# Extensions

Use the **Extensions** section to manage your custom extensions to Emporix system. For example, if you have your custom module for the Emporix Management Dashboard, you can manage the connection here.

<figure><img src="/files/GTomnfsuadBoVZCGRzVV" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Hosting**

Emporix provides you with the possibility to host the custom extensions within the Emporix infrastructure. Emporix hosting is a secure, and scalable way to store your custom components. To have the service enabled on your tenant, contact the [Sales Team](mailto:sales@emporix.com).

Learn more in [Extension and Cloud Function Hosting](/ce/extensibility-and-integrations/extensibility-cases/extension-hosting.md).
{% endhint %}

## Adding an extension

You can add your extension by providing a URL to a remote module JS file. The extension is built from the components.

This video demostrates adding an extension to MD.

{% embed url="<https://youtu.be/FnomFyz2gAg>" %}

### Prerequisites

Build and configure your extension to be able to display it in the Emporix Management Dashboard.

* Fork the repository and follow the installation steps described in the [README](https://github.com/emporix/md-module-template/blob/master/README.md) file.

{% hint style="info" %}
For more information and intructions on preparing the extension, see the [Enabling Custom Extensions](/ce/extensibility-and-integrations/extensibility-cases/custom-extensions.md) documentation.
{% endhint %}

When your extension is ready to use, add it to the Management Dashboard.

### Adding an extension to MD

To add an extension as a module, follow these steps:

{% stepper %}
{% step %}

#### Open Extensions

Go to **Administration** -> **Extensions** and choose **Add extension**.
{% endstep %}

{% step %}

#### Name the extension

Provide your extension's name as you want it to be displayed in the navigation menu.
{% endstep %}

{% step %}

#### Provide module URL

Add the URL to the `remoteEntry.js` (or relevant `js` module file).

{% hint style="warning" %}
Make sure the name of the `js` file is consistent with its reference in the [`vite.config.ts`](https://github.com/emporix/md-module-template/blob/master/vite.config.ts) file of the custom extension module.
{% endhint %}
{% endstep %}

{% step %}

#### Set package name

Optionally, you can provide the custom package name. By default, the package name is generated automatically from the extension's name.
{% endstep %}

{% step %}

#### Save the extension

**Save** your extension.
{% endstep %}
{% endstepper %}

<figure><img src="/files/ZngYI7I6sMceWfOYBpzm" alt="" width="375"><figcaption></figcaption></figure>

The added extension is connected and you can also see it embedded in the **Extensions** module.

<figure><img src="/files/l6nRPlejPNXRCgfUvdd7" alt=""><figcaption></figcaption></figure>

## Removing an extension

{% stepper %}
{% step %}

#### Locate the extension

In **Administration** -> **Extensions**, find the extension to be deleted on the list.
{% endstep %}

{% step %}

#### Delete the extension

Choose the **Delete** icon.
{% endstep %}
{% endstepper %}

The connection gets removed and the extension is no longer available under the **Extensions** module.

{% hint style="info" %}
**Sample extensions**

Emporix exposes more sample extensions that are available for public reuse. Refer to the [MD Extensions](https://github.com/emporix/md-extensions/tree/master) repository.
{% endhint %}


---

# 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://developer.emporix.io/ce/management-dashboard/administration/extensions.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.
