diff --git a/CHANGELOG b/CHANGELOG
index 496108d2486f07ea7cb0611a583ce81d06294761..9eeab52fa77f5ad0bf33727bb31f4acc2a4f89a1 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -4,6 +4,7 @@ minerva-front (19.0.0~alpha.0) stable; urgency=medium
   * Feature: allow plugin to add menu option to context menu (#307)
   * Feature: allow plugin to access info about opened panel (#309)
   * Feature: allow plugin to hide opened panel (#309)
+  * Feature: allow plugin to open left panel (#309)
 
  -- Piotr Gawron <piotr.gawron@uni.lu>  Fri, 18 Oct 2024 13:00:00 +0200
 
diff --git a/docs/plugins/interface.md b/docs/plugins/interface.md
index d4c58be5aca188bdc4e1de1f3afb28f041d22424..6fdf73132da509359a814acfc93013f905f356c1 100644
--- a/docs/plugins/interface.md
+++ b/docs/plugins/interface.md
@@ -40,3 +40,13 @@ window.minerva.map.data.hidePanel('available-plugins');
 //close the panel (regardless which one is opened)
 window.minerva.map.data.hidePanel('available-plugins');
 ```
+
+#### OpenPanel
+
+Open specified panel.
+
+##### Example of openPanel method usage:
+
+```javascript
+window.minerva.map.data.openPanel('available-plugins');
+```
diff --git a/index.d.ts b/index.d.ts
index 4febac59b02a7cc1869777bf5937941461d47c88..c0a839e0d4d4e98858967fe6703d2eed31fd6db6 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -77,6 +77,7 @@ declare global {
       interface: {
         getOpenedPanel: typeof getOpenedPanel;
         hidePanel: typeof hidePanel;
+        openPanel: typeof openPanel;
       };
       overviewImage: {
         getCurrentOverviewImage: typeof getCurrentOverviewImage;
diff --git a/src/services/pluginsManager/interface/openPanel.ts b/src/services/pluginsManager/interface/openPanel.ts
new file mode 100644
index 0000000000000000000000000000000000000000..49ed81be48e6e3fb6dc6d3fe934c33708d277d98
--- /dev/null
+++ b/src/services/pluginsManager/interface/openPanel.ts
@@ -0,0 +1,8 @@
+import { store } from '@/redux/store';
+import { DrawerName } from '@/types/drawerName';
+import { openDrawer } from '@/redux/drawer/drawer.slice';
+
+export const openPanel = (panelName: DrawerName): void => {
+  const { dispatch } = store;
+  dispatch(openDrawer(panelName));
+};
diff --git a/src/services/pluginsManager/pluginsManager.ts b/src/services/pluginsManager/pluginsManager.ts
index adb4a7c11567b85268bf5e2587257ec0b23c42fd..a7f70988d456bf9825aa62238ee2ed3826772806 100644
--- a/src/services/pluginsManager/pluginsManager.ts
+++ b/src/services/pluginsManager/pluginsManager.ts
@@ -11,6 +11,7 @@ import { minervaDefine } from '@/services/pluginsManager/map/minervaDefine';
 import { PluginsContextMenu } from '@/services/pluginsManager/pluginContextMenu/pluginsContextMenu';
 import { getOpenedPanel } from '@/services/pluginsManager/interface/getOpenedPanel';
 import { hidePanel } from '@/services/pluginsManager/interface/hidePanel';
+import { openPanel } from '@/services/pluginsManager/interface/openPanel';
 import { bioEntitiesMethods } from './bioEntities';
 import { getModels } from './map/models/getModels';
 import { openMap } from './map/openMap';
@@ -83,6 +84,7 @@ export const PluginsManager: PluginsManagerType = {
       interface: {
         getOpenedPanel,
         hidePanel,
+        openPanel,
       },
       map: {
         data: {