# Custom Extensions

Starting from **ONEWEB version 4.0.19.10**, the platform provides a powerful capability to create **Custom Activity Nodes**, known as **Extensions**.\
Custom Extensions allow users to define their own reusable nodes and use them within process workflows or share them with other ONEWEB users.

These extensions significantly enhance the flexibility and extensibility of **Process Designer**, enabling users to go beyond standard activity nodes.

***

### Purpose of Custom Extensions

Custom Extensions are designed to:

* Extend process functionality beyond built‑in activity nodes
* Encapsulate custom logic into reusable components
* Integrate with proprietary or specialized systems
* Promote reuse across multiple applications
* Enable sharing and collaboration between ONEWEB users

An extension can range from:

* A **simple utility node** (e.g. querying an internal database)
* To a **complex proprietary connector** (e.g. integration with a blockchain system or external enterprise service)

***

### What is an Extension?

An **Extension** is a custom‑built activity node defined by the user and packaged as a **JAR file**.\
Once created, an extension behaves like a native activity node inside Process Designer.

Key characteristics:

* Appears in the Activity Nodes palette
* Can be configured and used like standard nodes
* Can be installed into any application
* Can be reused across multiple workflows

***

### Reusability and Sharing

One of the main advantages of Custom Extensions is **reusability**.

Users can:

* Create an extension once
* Install it in multiple applications
* Use it across many different workflows
* Share the extension with other ONEWEB users

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

* Publish their extensions publicly
* Share extensions with the community
* Sell proprietary extensions through the marketplace

***

### Custom Extension Lifecycle

The typical lifecycle of a Custom Extension consists of the following steps:

1. **Create a Workspace**\
   Set up a dedicated development workspace for building extensions
2. **Build the Extension**\
   Implement the custom activity logic and package it as a JAR file
3. **Install the Extension**\
   Install the extension into an application
4. **Use in Workflow**\
   Drag and drop the custom activity node into the Process Template Diagram

The following sections describe these steps in detail.

***

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

**Please Note**\
The same **extension JAR file** can be used in both:

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

This enables consistent reuse of custom logic across **process orchestration** and **microflow execution**, reducing duplication and improving maintainability.
{% endhint %}

***

### Usage Guidelines

* Use Custom Extensions for logic that is reused across processes
* Keep extension interfaces simple and well‑documented
* Clearly define input and output parameters
* Version extensions carefully to avoid breaking existing workflows
* Test extensions thoroughly before sharing with others

***

### Summary

**Custom Extensions** provide a powerful mechanism to extend and customize ONEWEB Process Designer.

Key points:

* Available from ONEWEB version 4.0.19.10 onwards
* Allow creation of custom activity nodes
* Enable reuse across applications and workflows
* Support sharing and future marketplace distribution
* Compatible with both Process Designer and Microflow Designer

Custom Extensions empower users to build **scalable, reusable, and enterprise‑grade process components**, making ONEWEB a highly extensible workflow platform.


---

# 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/designer-reference/process-designer/process-designer-component/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.
