# Custom Extensions

Starting from **ONEWEB version 4.0.19.10**, the platform introduces a powerful extensibility mechanism called **Custom Extensions**.\
Custom Extensions allow developers to **create their own activity nodes** and use them seamlessly inside **Microflows** and **Process Flows**.

These custom nodes behave exactly like built‑in nodes and can encapsulate both **simple logic** and **complex proprietary integrations**.

***

### Purpose of Custom Extensions

Custom Extensions are designed to:

* Extend ONEWEB beyond built‑in integration nodes
* Encapsulate proprietary or specialized logic
* Promote reuse of common integration capabilities
* Share domain‑specific functionality across applications
* Enable ecosystem growth through reusable components

Examples of Custom Extensions include:

* A reusable node for querying an internal legacy database
* A proprietary connector to a blockchain or third‑party platform
* A standardized integration node required across multiple projects

***

### Reusability and Sharing

Once created, a Custom Extension can be:

* Installed into **any ONEWEB application**
* Reused across **multiple Microflows and Processes**
* Shared with **other ONEWEB users**
* Distributed internally as a standard integration component

In the future, when the **ONEWEB Marketplace** becomes available, users will also be able to:

* Publish their extensions
* Share them publicly
* Monetize extensions by selling them through the marketplace

***

{% hint style="info" %}
Important Note

The process to create a Custom Extension is **identical** for both:

* **Process Designer**
* **Microflow Designer**

Once an extension JAR is built, **the same JAR file can be used in both designers**.
{% endhint %}

For detailed instructions on:

* Creating Custom Extensions
* Packaging extension JARs
* Installing extensions into applications

> Please refer to the official section:\
> **Custom Extensions**\
> <https://docs.oneweb.tech/oneweb/design-and-develop-oneweb-apps/design-and-develop-ux-ui/ux-ui-customization/page-customization/custom-extensions>

***

### Using Custom Extensions in Microflow

After a Custom Extension is installed in an application:

1. Open **Microflow Designer**
2. The Extension appears as a new **Activity Node**
3. Drag and drop the Extension node onto the canvas
4. Configure its properties just like any standard node

The extension integrates naturally into the flow design experience.

<figure><img src="https://2015371994-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMpDjHWFRUtZ5nJcSfVXd%2Fuploads%2FSdVnrErOI8X3pbkSu2rY%2Fimage.png?alt=media&#x26;token=46317227-b55f-4fc3-8442-ce7cd6997c31" alt=""><figcaption></figcaption></figure>

***

### Key Benefits of Custom Extensions

Using Custom Extensions allows teams to:

* Enforce architectural standards
* Centralize complex or sensitive logic
* Reduce duplication across Microflows
* Improve maintainability and consistency
* Scale integration capabilities across teams

They provide a middle ground between:

* **Low‑code configuration**
* **Full‑code extensibility**

***

### Best Practices

* Design extensions with **clear single responsibilities**
* Keep extension interfaces stable and well documented
* Use extensions for logic that cannot be expressed cleanly with standard nodes
* Version extensions carefully to avoid breaking existing flows
* Treat extensions as reusable platform assets, not project‑specific hacks

***

### Summary

**Custom Extensions** provide ONEWEB with a powerful mechanism to extend integration capabilities beyond built‑in nodes.

With Custom Extensions, developers can:

* Build reusable, domain‑specific activity nodes
* Share integration logic across applications and teams
* Encapsulate complex or proprietary logic cleanly
* Prepare for ecosystem and marketplace‑based reuse

Custom Extensions are a key enabler for building **enterprise‑scale, extensible, and future‑proof integrations** using ONEWEB Microflow.


---

# 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://docs.onewebstack.com/oneweb-platform-th/building-apps/integrations/develop-integration-with-oneweb-microflow/custom-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.
