> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/internal-developer-portal/use-idp/plugins/custom-plugins/overview.md).

# Overview of custom plugins in IDP

The Custom Plugins feature in IDP allows users to plug their own private Backstage plugins into Harness IDP and use them along with the curated plugins available for everyone. Custom plugins are developed, owned and maintained by the users themselves.

{% hint style="warning" %}
**REACT AND REACT ROUTER VERSION REQUIREMENTS**

When developing custom plugins for Harness IDP, ensure you use **React version 17.0.2** and **React DOM version 17.0.2** in your plugin's dependencies. Additionally, you must use **React Router v6** for any routing functionality in your plugin.
{% endhint %}

{% hint style="warning" %}
This feature is in **BETA** and is available behind the feature flag `IDP_ENABLE_CUSTOM_PLUGINS`. If you want to try out this feature, reach out to the IDP team. We would love to work with you and take feedback. This feature is currently **not available in the EU region clusters**.

{% embed url="<https://www.youtube.com/embed/6ab9xQY7kSE?si=zbG2ZUnZZQNJrlfS>" %}
{% endhint %}

{% hint style="info" %}
At present, we only support the **Frontend Plugins** allowing you to create your own UI components, and use the **Backstage proxy** and **Delegates**, to connect to your internal systems and show meaningful data on the IDP UI.
{% endhint %}

### How do we do it <a href="#how-do-we-do-it" id="how-do-we-do-it"></a>

In Harness IDP we allow two ways in which you can add your custom plugins

1. The npm package URL for **public npm packages** of the plugin (e.g. `https://www.npmjs.com/package/@parsifal-m/plugin-dev-quotes-homepage`)
2. The `package.tgz` folder which has the packaged plugin packed using `yarn pack`

Follow the detailed steps mentioned on these [docs](/internal-developer-portal/use-idp/plugins/custom-plugins/add-a-custom-plugin.md) to add your custom plugins to the IDP.

### Custom plugins V2 <a href="#custom-plugins-v2" id="custom-plugins-v2"></a>

Harness IDP also supports a newer Custom Plugins V2 framework. Unlike the original approach, V2 plugins are built using a dedicated React SDK (`@harnessio/idp-pluginssdk`) and deployed as a self-contained HTML file. This eliminates the need to package and upload a Backstage plugin archive.

Custom Plugins V2 is currently in **BETA** behind the feature flag `IDP_ENABLE_CUSTOM_PLUGINS_V2`. Go to [Custom Plugins V2](/internal-developer-portal/use-idp/plugins/custom-plugins/custom-plugins-v2.md) to set up and use this framework.
