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.

Using Smart Components in a Module

Prev Next

Smart Components are placed and configured in Module Builder the same way as any standard component. The settings panel is driven by what the component declares in its interface, not authored per usage.


Placing a Smart Component

Smart Components appear in the component tray under a Component Library section in Config View. Select a component from the tray to place it on the canvas.

Each Smart Component on the canvas is visually differentiated from standard Unqork components. The type (UI, Logic, or Query) and component name are visible at a glance.


Settings Panel

Selecting a Smart Component on the canvas opens the settings panel. The standard tabs (Notes, Tags, Permissions) work the same way as any other component. See Component General Settings. The sections below cover the Smart Component-specific settings.

Below the Property ID field, a row of actions lets Creators open the component in the editor directly from the module.


Block Settings

Every Smart Component on the canvas has one set of block-level settings, regardless of how many components are composed inside it. These settings define how the block integrates with the rest of the module.

Setting Description
Property ID The block's identifier in Unqork. Other components reference this ID and actions target it. Components inside the Smart Component do not automatically use this Property ID; each component's data is wired independently.
Store Data in Database When set to ON, data stored under the Property ID persists with the submission.
Theme The visual theme applied to the block as a whole.
Block Appearance Presentation settings that apply to the entire block.

Permissions are also block-level. The Permissions tab controls access to the block as a whole. It is not possible to set permissions per component inside. If a component needs different permissions from the rest of the block, it must be its own Smart Component block with its own Property ID.


Configuring Input Values

The General tab displays one field for each input the component declares. Every field accepts one of the following:

  • Static value: A fixed value set directly in the field.
  • Reference: A pointer to another component's value on the module. Select the reference toggle on the field and choose the source component.

The available fields and their types are set by the component's interface. Adding or removing fields requires editing the component definition through the Build Agent.


Wiring Logic Components

Logic Smart Components have no visual presence on the canvas. They run in sequence with other components and return output data when triggered.

After configuring the input values, wire the component's output triggers to pass results to other components on the module. Each trigger corresponds to an output the component declares.


Wiring Query Components

Query Smart Components work like a Plug-In component. The settings panel includes the following fields.

Field Description
Target The component that receives the query results.
Post Trigger The component triggered after the query completes successfully.
Error Trigger The component triggered the query fails.

The settings panel also includes a Query Pipeline section, which displays a read-only view of the query's generated definition. This is for reference only. Editing the query happens through the Build Agent in the Smart Component Library.

The query runs when triggered. It never runs automatically. Wire the post-trigger to pass results to other components on the module.


Targeting from Other Components

Unqork can only see and act on the block, not the components inside it. When a Decisions component, Initializer component, or another component targets a Smart Component by Property ID, it is targeting the block as a whole.

Actions applied to a Smart Component (hide, show, clear, ) apply to the entire block. Individual components inside cannot be named, hidden, triggered, or targeted from outside the block. If a piece of logic must target a specific component independently, that component must be its own Smart Component block with its own Property ID.

Setting a value works differently from other actions. Setting a value on a Smart Component writes to submission data at the specified location; it does not act on the block directly. Whether anything changes visually depends on whether a component inside is reading from that same data location. The write always succeeds; the visual response depends on what is listening.


Editing the Component Definition

The action row below the Property ID field includes the following:

Action What it does
Edit Base Opens the shared component in the Smart Component Library. Changes affect every module using this component.
Edit Opens a private Smart Component in its own editor. Changes affect this module only.
Add to Library Promotes a private Smart Component to the shared library, where it becomes available to all modules in the environment.

To change a component's logic, interface, or output, open it through the Build Agent from the component editor.


Changelog

Date Change
2026-07-29 Added Block Settings section and Targeting from Other Components section (EN-7975).
2026-07-28 Initial draft (EN-7975).