Logic Block Tools
Overview
Logic Blocks are the atomic units of business logic in FlowOn. The MCP Server supports the full lifecycle of Logic Blocks: listing, reading, creating, updating, and inspecting their dependencies.
The MCP Server supports all five Logic Block types:
| Type | Tool | Purpose |
|---|---|---|
| Formula | create_formula_logic_block | Calculations and value derivations |
| Decision Table | create_decision_table_logic_block | Grid-based rule evaluation |
| Decision Tree | create_decision_tree_logic_block | Hierarchical branching conditions |
| Validation | create_validation_logic_block | Single business rule enforcement |
| Validation Set | create_validation_set_logic_block | Grouped validation rules |
list_all_logic_blocks
Lists all Logic Blocks in the environment with pagination support.
| Parameter | Type | Required | Description |
|---|---|---|---|
pageNumber | int | The page to retrieve (default: 1) | |
pagingCookie | string | The paging cookie from the previous page response |
Returns: A paginated list of Logic Blocks including name, title, description, and project.
See Pagination for details on iterating through large result sets.
list_logic_blocks_by_project
Lists all Logic Blocks belonging to a specific project.
| Parameter | Type | Required | Description |
|---|---|---|---|
projectName | string | ✓ | The name of the FlowOn project |
Returns: A list of Logic Blocks within the specified project.
get_logic_block_details
Retrieves the complete details and metadata for a specific Logic Block, including its full FoL definition.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name of the Logic Block |
projectName | string | ✓ | The project the Logic Block belongs to |
Returns: Full Logic Block details including type, metadata (the FoL definition), and all configuration.
Use when: You need to read the current definition of a Logic Block before deciding whether to update it.
create_formula_logic_block
Creates a new Formula Logic Block. Formulas calculate a value based on input parameters and expressions.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name for the new Logic Block |
projectName | string | ✓ | The project to create it in |
metadata | string | ✓ | The FoL metadata definition |
isAction | bool | Whether this block is exposed as an action (default: false) | |
title | string | A human-friendly display title | |
description | string | A description of the block's purpose |
Returns: The GUID of the newly created Logic Block.
Restriction: Cannot be called on projects associated with a managed solution. See Managed Solution Protection.
create_decision_table_logic_block
Creates a new Decision Table Logic Block. Decision Tables evaluate a set of conditions in a grid format to determine an outcome.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name for the new Logic Block |
projectName | string | ✓ | The project to create it in |
metadata | string | ✓ | The FoL metadata definition |
isAction | bool | Whether this block is exposed as an action (default: false) | |
title | string | A human-friendly display title | |
description | string | A description of the block's purpose |
Returns: The GUID of the newly created Logic Block.
Restriction: Cannot be called on projects associated with a managed solution.
create_decision_tree_logic_block
Creates a new Decision Tree Logic Block. Decision Trees evaluate branching conditions in a hierarchical structure, following a path based on each condition result.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name for the new Logic Block |
projectName | string | ✓ | The project to create it in |
metadata | string | ✓ | The FoL metadata definition |
isAction | bool | Whether this block is exposed as an action (default: false) | |
title | string | A human-friendly display title | |
description | string | A description of the block's purpose |
Returns: The GUID of the newly created Logic Block.
Restriction: Cannot be called on projects associated with a managed solution.
create_validation_logic_block
Creates a new Validation Logic Block. Validations enforce a single business rule and return an error message if the rule is violated.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name for the new Logic Block |
projectName | string | ✓ | The project to create it in |
metadata | string | ✓ | The FoL metadata definition |
isAction | bool | Whether this block is exposed as an action (default: false) | |
title | string | A human-friendly display title | |
description | string | A description of the block's purpose |
Returns: The GUID of the newly created Logic Block.
Restriction: Cannot be called on projects associated with a managed solution.
create_validation_set_logic_block
Creates a new Validation Set Logic Block. Validation Sets group multiple validation rules together and evaluate them as a unit, collecting all errors before returning.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name for the new Logic Block |
projectName | string | ✓ | The project to create it in |
metadata | string | ✓ | The FoL metadata definition |
isAction | bool | Whether this block is exposed as an action (default: false) | |
title | string | A human-friendly display title | |
description | string | A description of the block's purpose |
Returns: The GUID of the newly created Logic Block.
Restriction: Cannot be called on projects associated with a managed solution.
update_logic_block_metadata
Updates the FoL metadata of an existing Logic Block. This replaces the current metadata definition with the one provided.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name of the Logic Block to update |
projectName | string | ✓ | The project the Logic Block belongs to |
metadata | string | ✓ | The updated FoL metadata definition |
Returns: Confirmation that the update succeeded.
Restriction: Cannot be called on Logic Blocks in projects associated with a managed solution. See Managed Solution Protection.
Best practice: Always call get_logic_block_details first to read the current metadata before updating, to avoid unintentionally overwriting parts of the definition you did not intend to change.
list_logic_block_dependencies
Retrieves the complete dependency graph for a Logic Block — everything it depends on, and everything that depends on it.
| Parameter | Type | Required | Description |
|---|---|---|---|
logicBlockName | string | ✓ | The name of the Logic Block |
projectName | string | ✓ | The project the Logic Block belongs to |
Returns: A comprehensive dependency report:
| Dependency Type | Description |
|---|---|
| Logic Block Dependencies | Other Logic Blocks this block references |
| Logic Flow Dependencies | Logic Flows that use this block |
| Logic Recipe Dependencies | Logic Recipes that invoke this block |
| Business Process Version Dependencies | BPM versions that reference this block |
| Configuration Dependencies | Configuration records this block reads |
| Localized Resource Dependencies | Localized strings this block uses |
Use when: Before modifying a Logic Block, call this tool to understand the full impact of the change across all dependent artifacts and projects.