--- title: "Calculator Component" slug: "calculator-component" tags: ["module-builder"] status: "update" updated: 2026-11-04T16:39:13Z published: 2026-11-04T16:39:13Z canonical: "docs.unqork.io/calculator-component" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.unqork.io/llms.txt > Use this file to discover all available pages before exploring further. # Calculator Component The Calculator component computes output values from input fields using configurable formulas. It fires on a manual trigger or by watching input fields for changes, and can chain into a Post Trigger component on completion. > **How to read settings tables** > > > The tables below describe each configurable option as it displays in the UnqorkAI platform. Values are formatted as follows: `inline code` — a value to type exactly as shown | **Bold** — a value selected from a drop-down, radio button, tab, or choice chip | **ON**/**OFF** — toggle state | ✓ — checkbox checked | ☐ — checkbox unchecked ## General Settings | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Property ID | `key` | Text input | `calc` | The unique identifier for this component instance. | | Canvas Label Text | `label` | Text input | — | Identifies the component on the Module Builder canvas. Does not display to end-users. | ## Actions Settings ### Triggers | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Trigger Type | `triggerType` | Radio button | **Manual** | Sets when the component executes. • **Manual**: Waits to be triggered by another component. • **Watch**: Executes whenever a defined input field changes. | ### Inputs Defines the fields passed into the calculator formulas. | Column | Field | Type | Description | | --- | --- | --- | --- | | Source | `id` | Property ID | The module field to use as a formula input. | | Alias | `alias` | Text input | An alias used to reference this field inside formulas (for example, `=alias`). | | Required | `required` | Toggle | When set to **ON**, this setting marks the input as required for the calculation to execute. | ### Outputs Defines the fields populated with formula results. | Column | Field | Type | Description | | --- | --- | --- | --- | | Source | `id` | Property ID | The module field to populate with the formula result. | | Formula | `formula` | Text input | The formula to evaluate (for example, `=LEN(participants)`, `=name + " " + surname`). | ### Post Trigger | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Post Trigger | `postTrigger` | Property ID | — | Triggers another component after all outputs are set. | ## Unit Testing The Unit Testing panel verifies formula behavior by running the component against test data. Rows are auto-populated from the configured Inputs and Outputs. Tests run on the server against the component's current configuration, including unsaved changes. **Inputs** | Column | Field | Type | Description | | --- | --- | --- | --- | | Input | `id` | Read-only | The input Property ID from the component configuration. | | Label | — | Read-only | The display label for the input. | | Value | `value` | Text input | The test value to pass into the formula. | | JSON | `datatype` | Toggle | When set to **ON**, this setting parses the value as JSON. | **Outputs** | Column | Field | Type | Description | | --- | --- | --- | --- | | Output | `id` | Read-only | The output Property ID from the component configuration. | | Label | — | Read-only | The display label for the output. | | Expected | `value` | Text input | The value the formula is expected to produce. The row displays in red when the **Actual** value does not match. | | Actual | — | Read-only | The result the formula produced in the last run. The platform does not save this value with the test. | | JSON | `datatype` | Toggle | When set to **ON**, this setting matches the expected value as JSON. | ## Advanced Settings ### Set Execution | Setting | Field | Type | Default | Description | | --- | --- | --- | --- | --- | | Disable Execution | `disabled` | Toggle | OFF | Prevents the component from executing when triggered. | | Set Debounce | `debounceSetting` | Number input | `0` | Sets the delay before executing after being triggered, in milliseconds (ms). Useful when multiple components trigger simultaneously. | --- **Changelog** | Date | Change | | --- | --- | | — | Initial publication. | | 2026-10-30 | Noted that unit tests run on the server. Corrected the unit test table fields and JSON toggle. Added the `module-builder-components` tag. | Triggers activate another component when certain requirements are met. Trigger types include Concurrent, Post, and Error. Some components do not have the ability to trigger others. The Post Trigger value fires after a component has completed its action. For example, post triggering a component to display the data received from a Plug-In component's API call. A Property ID is the unique field ID used by Unqork to track and link components in your module. Canvas Label Text indicates the purpose of the corresponding field or component. For non-input components, the Canvas Label Text isn't end-user facing, and only appears in the . End-users, also known as Express Users, are the individuals accessing an application through Express View. In most cases, end-users are the customers using the product. Deteremines how the component triggers. Enter inputs components and actions you want the component to perform.. Enter outputs components and actions you want the component to perform. Label Text conveys what the input component is and what information it displays. Enter the purpose of the corresponding component or field. JSON (JavaScript Object Notation) is an open standard file and data interchange format. Unqork uses JSON for submission (record) data. The Number data type accepts integer or floating point values. The number data type does not use quotes around numerical values.