diff --git a/doc/source/Getting_started/Installation.rst b/doc/source/Getting_started/Installation.rst
index f1480f7873e..3d3ebf5cb73 100644
--- a/doc/source/Getting_started/Installation.rst
+++ b/doc/source/Getting_started/Installation.rst
@@ -49,11 +49,13 @@ Extension manager
The user can install or uninstall automated workflows using the extension manager.
There are three options:
-- Custom PyAEDT scripts.
+- **Pre-installed extensions** already available in the PyAEDT library.
-- Existing workflows in the PyAEDT library.
+- **Open source PyAEDT toolkits** described in the `PyAEDT Common Toolkit documentation `_.
-- Open source PyAEDT toolkits described in the `PyAEDT Common Toolkit documentation `_.
+- **Custom PyAEDT extensions**.
+
+See `Extension Manager `_ for more information.
.. image:: ../Resources/toolkit_manager_1.png
:width: 800
diff --git a/doc/source/Resources/my_custom_extension.png b/doc/source/Resources/my_custom_extension.png
new file mode 100644
index 00000000000..90ece84f848
Binary files /dev/null and b/doc/source/Resources/my_custom_extension.png differ
diff --git a/doc/source/Resources/my_custom_extension_1.png b/doc/source/Resources/my_custom_extension_1.png
new file mode 100644
index 00000000000..47684e58a85
Binary files /dev/null and b/doc/source/Resources/my_custom_extension_1.png differ
diff --git a/doc/source/Resources/toolkit_manager_1.png b/doc/source/Resources/toolkit_manager_1.png
index 5e093f2f703..f9733ac953c 100644
Binary files a/doc/source/Resources/toolkit_manager_1.png and b/doc/source/Resources/toolkit_manager_1.png differ
diff --git a/doc/source/User_guide/extensions.rst b/doc/source/User_guide/extensions.rst
index 5c8ebf63794..cc6cb0e6be0 100644
--- a/doc/source/User_guide/extensions.rst
+++ b/doc/source/User_guide/extensions.rst
@@ -1,18 +1,23 @@
-Extensions
-==========
+Extension manager
+=================
-Extensions provide a simplified interface to perform automated workflows in AEDT.
-In AEDT, you can use the Extension Manager to add or remove extensions.
-For more information, see `Extension Manager `_.
+Extensions provide a simplified interface to perform automated workflows in AEDT, they are generally tool-specific and are therefore only accessible given the appropriate context.
+In AEDT, you can use the `Extension manager `_ to add or remove extensions.
+The Extension manager allows the user to install three different types of extensions:
-Extensions are generally tool-specific and are therefore only accessible given the appropriate context. The following sections provide further clarification.
+- **Pre-installed extensions** available at project level.
+- **Open source PyAEDT toolkits** available at application level.
+- **Custom extensions** installable both at project and application level.
+
+The following sections provide further clarification.
You can launch extensions in standalone mode from the console or a Python script.
-Project extensions
-==================
+Pre-installed extensions
+~~~~~~~~~~~~~~~~~~~~~~~~
-Project extension apply to all extensions that are applicable for all AEDT applications.
+Pre-installed extensions are available at project level so they are available for all AEDT applications.
+They are small automated workflow with a simple UI.
.. grid:: 2
@@ -53,8 +58,74 @@ Project extension apply to all extensions that are applicable for all AEDT appli
pyaedt_extensions_doc/project
HFSS extensions
-===============
+---------------
HFSS 3D Layout extensions
-=========================
+-------------------------
+
+
+Open source toolkits
+~~~~~~~~~~~~~~~~~~~~
+
+Open source toolkits are available at application level.
+They are complex workflows where backend and frontend are split.
+They are also fully documented and tested.
+
+Here are some links to existing toolkits:
+- Hfss: `Antenna Wizard `_.
+- Maxwell 3D: `Magnet Segmentation Wizard `_.
+
+Custom extensions
+~~~~~~~~~~~~~~~~~
+
+Custom extensions are custom workflows (Python script) that can be installed both at project and application level.
+From the Extension manager select the target destination:
+
+.. image:: ../Resources/toolkit_manager_1.png
+ :width: 500
+ :alt: PyAEDT toolkit manager 1
+
+Select `Custom` as the extension type.
+Provide the path of the Python script containing the workflow.
+Enter the extension name. This is the name that appears beneath the button in the Automation tab after a successful installation.
+
+.. image:: ../Resources/my_custom_extension.png
+ :width: 500
+ :alt: Custom Extension
+
+After the normal completion of the installation a new button appears:
+
+.. image:: ../Resources/my_custom_extension_1.png
+ :width: 500
+ :alt: Custom Extension 1
+
+The example below is a simple example of custom extension.
+The Python script requires a common initial part to define the port and the version of the AEDT session to connect to.
+
+.. code:: python
+
+ import ansys.aedt.core
+ import os
+
+ # common part
+ if "PYAEDT_SCRIPT_PORT" in os.environ and "PYAEDT_SCRIPT_VERSION" in os.environ:
+ port = os.environ["PYAEDT_SCRIPT_PORT"]
+ version = os.environ["PYAEDT_SCRIPT_VERSION"]
+ else:
+ port = 0
+ version = "2024.2"
+
+ # your pyaedt script
+ app = ansys.aedt.core.Desktop(new_desktop_session=False, specified_version=version, port=port)
+
+ active_project = app.active_project()
+ active_design = app.active_design(active_project)
+
+ # no need to hardcode you application but get_pyaedt_app will detect it for you
+ aedtapp = ansys.aedt.core.get_pyaedt_app(design_name=active_design.GetName(), desktop=app)
+
+ # your workflow
+ aedtapp.modeler.create_sphere([0, 0, 0], 20)
+
+ app.release_desktop(False, False)