---
title: "Rule Verb Extension"
slug: "rule-verb-extension"
description: "This document shows users how to create and use a Rule Engine Extension. Rule Engine Extensions allow users the ability to create a Rule that may be embedded in another Rule. "
updated: 2025-12-03T12:26:25Z
published: 2025-12-03T12:26:25Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.decisions.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rule Verb Extension

## Overview

The **Rule Engine** can be extended by developers to create custom **Rule verbs** that can be embedded into a**Statement Rule**.

These custom verbs can be created either through a [Flow](/v8/docs/flows) or **Statement Rule** and are anchored to the datatype used as inputs to these elements. When the datatype is selected in a Rule, the Rule Extensions will appear under the **Custom** header when choosing the verb.

In version **9.11**, we introduced categorization for Rule Extensions. Now, Rule Extensions will appear under the Customs category based on their location in the Portal—for example, under Current Folder, Current Project, or, if they are part of a dependency project, under Dependent Projects. Refer to the screenshot below.

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1750673921654.png)

#### Use Rule Extension Output in Rule Input

Starting in version 9.18, users can now use the output defined in a Rule Extension as an input within the parent Rule. When a Rule Extension produces an output variable, that variable is automatically exposed in the Mapping dialog, allowing users to map it as either an Input or an Output for the parent Rule. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/image-1764764161947.png)

**Note**: If a Rule Extension verb that produces an output variable is placed in a statement located lower in the Rule, users may still reference that output variable in statements above it. However, the Rule will always result in an error because the extension verb has not executed yet, meaning the variable’s value is never generated or passed upward.

---

## Creating a Rule Extension

To create a **Rule Extension**, in a Designer project, click on CREATE RULE. In the gallery, select **Rule Extension** and select either option to create a new Rule Extension. The name for the Rule Extension will become the name for the custom verb. Each Rule extension is further expanded in its respective section.

| Rule Extension Type | Differences |
| --- | --- |
| Sequential Rule Extension [Flow] | The Sequential Rule Extension Type allows custom rule verbs to be embedded in another Rule using a Flow. Selecting this option will open the Flow Designer, allowing for more customized logic through the use of a Flow |
| Rule Extension [Statement Rule] | The Rule Extension [Statement Rule] allows for custom rule verbs to be created using another Rule. |

![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2024-08-21_10h28_30.png)

---

## Rule Extension [Statement Rule]

The following example will create a **Rule Extension** that determines if the account executing the **Rule** contains admin and is part of the Testing Department.

1. Create a new Rule Extension using **Rule Extension [Statement Rule]**. Enter a Name and click Create.
2. The Rule Designer will open. Click SETUP INPUT DATA.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h24_33.png)
3. Define an input, then Save. For this example, the Account datatype was used. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h25_28.png)
4. Define the statements for the **Rule** using the input, then Save and close the Rule Designer.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h30_20.png)
5. Create a new Rule.
6. For Select Data Element, select an input that matches the inputs needed for the**Rule Extension.** In this case, it will be an Account. Click Next.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h32_18.png)
7. When picking the verb, under the **Custom** header, select the configured **Rule Extension**, then click DONE.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h32_50.png)
8. Select DONE due to no additional inputs being needed.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h33_42.png)
9. Select **Debug** in the **Action bar** to test the Rule. Selecting the **Rule Extension** in the debugger will display the results.

---

## Sequential Rule Extension [Flow]

The following example will create a **Rule Extension** using a [Rule Extension Flow](/v8/docs/about-flow-behaviors) to check if the account executing the **Rule** has an email address in a specific list.

1. Create a new **Rule Extension** using **Sequential Rule Extension [Flow****].**
2. Click the SETUP INPUT DATA action.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h34_52.png)
3. Define the input; for this example, a String named Email Address is used.  
![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h35_24.png)
4. Design a Flow that will be used to evaluate the Rule input. For this example, Add a **Create Data step.**
5. Define two inputs, a List of Strings labeled Email List and a Boolean-labeled output. ![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h38_27.png)
6. Under **Data > Texts** in the**Toolbox**, add a **String is in List** step to the workspace. Configure the step to use Email Addresses and Email Lists as inputs.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h40_23.png)
7. Add a Mapping step for each path to alter the output to either True or False.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h42_33.png)
8. Map the output value to the Result in the End step. Save and close the Flow Designer.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h44_20.png)
9. [Create a new Rule.](/v8/docs/create-rules)
10. Use an input that matches the configured datatype of the Rule Extension, in this case, a String. Select NEXT.
11. When picking the verb, under the **Custom**header, select the configured Rule Extension, then click NEXT.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h46_05.png)
12. Since no additional parameters are being passed, select DONE.![](https://cdn.document360.io/6ef8bcc1-6489-4486-9ad1-83acff7e5df0/Images/Documentation/2025-06-16_13h46_45.png)
13. Debug the **Rule**. The Rule will return either True or False depending on the Flow Result.

---

For further information on Rules, visit the [Decisions Forum](https://community.decisions.com/categories/Rules).
