The Smart Components Hub lists all Smart Components available in the environment. From here, Creators can browse components by type, view component details, open a component in the editor, and create new ones.
To open the Smart Components Hub, click Libraries in the global header, then select
Smart Components Hub. Select
Dashboard in the Explorer panel.
![[docs-interactive-image:{"surface":"smart-components/hub-public"}] The Smart Components Hub dashboard on the Public tab, with a list of Smart Components showing Name, Type, Modules, Draft owner, and Modified date columns, the Public and Private tabs, the Create Component and Promote buttons, and the Explore panel.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261020_142112_d006b62c16b743a2ab6378a0e38e122e.png?sv=2026-02-06&spr=https&st=2026-10-29T22%3A03%3A38Z&se=2026-10-29T22%3A26%3A38Z&sr=c&sp=r&sig=uexfRgOwM9pYIO8tZlcJtBqGFTCKR3O51FkuMG2ag4g%3D)
Public and Private
Every Smart Component is either Private or Public. The state determines whether the component is reusable across modules and how the Build Agent uses it. The following sections describe each state.
| State | Reusable Across Modules | Used by Build Agent for Reuse | Can Change Back |
|---|---|---|---|
| Private | No (one placement only) | No | N/A |
| Public | Yes | Yes, as a preferred component | No |
Public
Components created in the Smart Components Hub are Public drafts from creation. A new component displays in the Public list and in the New Drafts folder in the Explorer panel. After its first publish, the component enters the component tray and the Build Agent's reach.
A Public component works as follows:
- Reuse: Creators can add the component to any module. The Build Agent prefers Public components when it reuses existing components.
- Component tray: The tray lists only Public components that have been published, grouped by category.
- Editing: Creators in Module Builder can view and configure a Public component's instance settings, but cannot edit the underlying definition. To edit the definition, open the component from the Smart Components Hub.
- Actions: Duplicate, Promote, Export, and Delete Component are available for Public components only.
- State: A Public component cannot be made Private again.
Editing a Public component propagates the change to every module that uses it immediately on publish.
Private
Private components come only from the Build Agent, which creates them inside a module. A Private component belongs to that module, and it works as follows:
- Placement: A Private component can have only one placement in the environment. A placement is one instance of the component in a module component on the canvas. Adding a second instance, on the same canvas or on another, counts as a second placement. A container can render a Private component once for each row of data, like the rows of a table. That component counts as one placement however many rows render.
- Second placements: A second placement blocks the save. The platform prompts the Creator to create copies of the component instead.
- Copying a module: Copying a module that contains a Private component also copies its definition.
- Component tray: Private components never display in the tray, and the Build Agent does not reuse them.
- Hub display: The Private tab lists each component under the module that owns it.
- Actions: Private components offer View Details, Edit Component, Make Public, and Settings. Edit Component opens the owning module. A Private component is promoted and deleted with its module.
Selecting Make Public from the row actions menu makes the component available to the Build Agent and lets Creators add it to any module. This change is permanent.
Making a container Public does not make its children Public. When a container Smart Component is made Public, only the container definition becomes Public. Any child components nested inside an instance remain independently Private or Public based on their own state. Parent and children are promoted separately.
Container Smart Components
Some Smart Components act as containers. They hold child components in typed slots instead of having fixed children built into their definition. Adding child components to a container instance and wiring them up requires the Build Agent. Drag-and-drop into a container Smart Component is not supported in 9.0.
Smart Component definitions do not support composition. Creators cannot combine multiple existing Smart Components into a new Smart Component definition. Composition happens on the module canvas. A container accepts child components in typed slots, and each child is configured on its own instance.
When the Build Agent updates a container definition, it analyzes whether the change is safe or potentially breaking for existing instances. Adding a new optional property is safe. Changing the type or structure of an existing property (for example, converting a text value to a child slot) might break existing instances. The Build Agent displays a warning before proceeding.
Component List
The component list displays all Smart Components in the environment. Select Public or Private above the list to switch tabs. Each tab displays different columns. Select a component row to view the component's definition. For more information, see Component Detail.
Public Tab
The Public tab lists every Public component in a flat list and displays the following columns:
| Column | Description |
|---|---|
| Name | The component's display name. |
| Type | The component type: UI, Logic, Query, or Agentic. |
| Modules | The number of modules in the environment that use the component. |
| Draft owner | The Creator who holds an open draft for this component, if any. |
| Modified date | The date the component was last published. |
The Public list sorts by Modules descending by default, placing the most-used components first.
Private Tab
The Private tab groups components in an expandable tree by workspace, then application, then the module that owns each component. A module that belongs to more than one application displays under each of them. For a versioned application, the tree lists the Private Smart Components of the default version, not of a branch. The application row names that version. A module row displays how many Private components it lists. Some of an application's Private components might exist only on its branches. A note at the end of the module counts them, and they display once merged into the default version. Components whose module is outside the Creator's access display in a Placed outside your access group at the bottom.
Each component row displays how many instances of it the module places. Click the count to list each instance beneath the row, with its block key, module, and block type. A component the module does not place reads Not placed.
![[docs-interactive-image:{"surface":"smart-components/hub-private"}] The Smart Components Hub dashboard on the Private tab, with Private Smart Components grouped in an expandable workspace, application, and module tree, and Name, Type, Version, and Modified date columns.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261020_142112_452a151cef9941608e45d7a1cb27ed31.png?sv=2026-02-06&spr=https&st=2026-10-29T22%3A03%3A38Z&se=2026-10-29T22%3A26%3A38Z&sr=c&sp=r&sig=uexfRgOwM9pYIO8tZlcJtBqGFTCKR3O51FkuMG2ag4g%3D)
The Private tab displays the following columns:
| Column | Description |
|---|---|
| Name | The workspace, application, module, or component name, with a module's component count and a component's instance count. |
| Type | The component type: UI, Logic, Query, or Agentic. |
| Version | For a versioned application, the default version that lists its components. Blank for an unversioned application. |
| Modified date | The date the component was last published. |
Component Detail
Select a component row in the component list to view the component's definition. Click Edit Component to open the component in its Definition page.
Component Definition (Read-Only)
Selecting a row opens the Component Definition modal, a read-only view of the component's definition. Select View Details from the row actions menu to open the same modal.
![[docs-interactive-image:{"surface":"smart-components/component-definition"}] The read-only Component Definition modal for a Smart Component, with Identity, Interface, and Used In sections and Close and Edit Component buttons.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261020_142113_fd21e16de7634bf487e52fee67580615.png?sv=2026-02-06&spr=https&st=2026-10-29T22%3A03%3A38Z&se=2026-10-29T22%3A26%3A38Z&sr=c&sp=r&sig=uexfRgOwM9pYIO8tZlcJtBqGFTCKR3O51FkuMG2ag4g%3D)
The modal includes the following sections:
| Section | Description |
|---|---|
| Identity | The component's name, type, usage (Public or Private), and description. |
| Interface | The component's inputs and outputs. |
| Used In | Every workspace, application, and module that uses the component, in a hierarchy. |
The Used In section lists only modules that use this component directly. A module that reaches it through another Smart Component or through a module it imports is not listed.
Click Close to dismiss the modal. Click Edit Component to open the component's Definition page.
Definition Page
Clicking Edit Component opens the Smart Component's Definition page. The page includes the Data and Chains panel, the chain canvas, and the Details panel. For more information about the page, see Smart Component Editor.
![[docs-interactive-image:{"surface":"smart-components/definition-page"}] The Smart Component Definition page, with the Data and Chains panel, the logic chain canvas, and the Details panel showing the About and Used In sections.](https://cdn.us.document360.io/15548f06-2fba-434c-b0c1-5df88317dbd7/Images/Documentation/api_upload_20261020_142113_77d9a4d00ee94a85973780ee046016b5.png?sv=2026-02-06&spr=https&st=2026-10-29T22%3A03%3A38Z&se=2026-10-29T22%3A26%3A38Z&sr=c&sp=r&sig=uexfRgOwM9pYIO8tZlcJtBqGFTCKR3O51FkuMG2ag4g%3D)
Component Actions
Click (ellipsis) on any component row, in the Hub or in the Explorer panel, to access the following actions.
Read Actions
These actions are available on every row a Creator can view.
| Action | Description |
|---|---|
| View Details | Opens the component detail dialog. Displays the component's identity, usage count, and interface. |
| Edit Component | Opens a Public component in the Smart Component Editor. Opens a Private component in the module that owns it; for a versioned application, the module opens on the default version. Reads View Component for Creators whose role grants view but not edit permission on the component's Public or Private lens. |
| Add to Agent Context | Sends this component's logic and data to the Build Agent as context for the current session. Toggles to Remove from Agent Context when the component is already in context. Visible only when UnqorkAI is enabled. |
| Publish Draft | Opens the Publish dialog for the open draft. Visible only when the Creator holds a draft for this component. |
| Discard Draft | Discards the open draft and returns the component to its last published state. Visible only when the Creator holds a draft for this component. |
Write Actions
These actions require specific permissions and are hidden when the Creator does not have the necessary grants.
| Action | Description |
|---|---|
| Duplicate | Creates a copy of this component in the Smart Components Hub. Public components only. Disabled while the Creator holds an open draft on the source component. |
| Make Public | Makes the component available to the Build Agent and lets Creators add it to any module. Displays when the component is currently Private. This change is permanent. See Public and Private. |
| Promote | Opens the Promote dialog. Select a target environment and confirm to promote the component. Optionally include composed Smart Components as dependencies. Public components only; a Private component is promoted with its module. |
| Export | Downloads the component definition as an exportable file. Public components only. |
| Settings | Opens the component settings dialog. Rename the component, update its description, and set its category. For Query Smart Components, also configure execution behavior and role-based access controls. See Smart Component Settings. |
| Delete Component | Permanently removes the component. Blocked while any module or other component references it. Public components only; a Private component is deleted with its module. |
Filtering
The Public tab displays a flat list. The Private tab displays a workspace, application, and module tree.
Use the search box to filter by component name. Click the filter icon to the right of the search box to narrow results. The following filters are available:
| Filter | Description |
|---|---|
| Type | Narrows results to UI, Logic, Query, or Agentic components. |
| Category | Narrows results to a specific category in the environment. |
| Draft | Narrows results by draft status: owned by the current Creator, owned by another Creator, or active. |
Drafts and Publishing
Editing a Smart Component creates a draft. A draft is an unpublished working copy of the component. Changes in the draft are not live until published. Only one Creator can own a draft at a time; the Draft owner column in the Public list displays who currently holds it.
While a draft is open, the component's row displays Publish Draft and Discard Draft in the (ellipsis) menu. Publish Draft pushes the changes live to every module using the component. Discard Draft removes the draft and restores the last published definition.
If another Creator opens the component while a draft is open, they can take over the draft. The original holder receives a notification and loses save access until the draft is returned.
When updating a Public Smart Component, prefer additive changes: add new optional properties with sensible defaults. Renaming, removing, or retyping existing properties breaks every module instance that relies on them. When a change cannot be made backward-compatible, duplicate the component and adapt the copy instead of modifying the shared definition.
For full details on the draft editing workflow, see Smart Component Editor.
Promoting Smart Components
Click Promote in the Smart Components Hub toolbar to open the Promote Smart Components dialog. Select a target environment, then select the components to promote individually or use Bulk Actions to select all. A confirmation step displays before the promotion runs.
If a selected component composes other Smart Components, a warning displays for any composed components not included in the selection. These warnings do not block promotion. Select the missing components to resolve them before confirming.
Promotion history is available in the dialog and displays all previous promote actions for Smart Components.
Creating a Smart Component
Click + Create Component to create a new Smart Component. Enter a name, select a type (UI, Logic, Query, or Agentic), and confirm. The new component opens in the Smart Component Editor.
A new component is a Public draft. For where it displays and when it becomes available, see Public.
A component name must be unique and can contain only letters, numbers, and underscores. The same rules apply when renaming a component through Settings. Module blocks reference a component by its ID, so renaming a component does not break its placements.
Changelog
| Date | Change |
|---|---|
| 2026-10-20 | Reworded the container composition and Creating a Smart Component text, and changed Select to Click for buttons, links, and icons. |
| 2026-10-19 | Corrected the Public and Private default for Hub-created components; added Public, Private, Public Tab, Private Tab, and Definition Page sections; documented the New Drafts folder, the component tray rule, naming rules, and the Private placement limit; clarified container composition; replaced library wording with Smart Components Hub terminology; replaced static screenshots with interactive images. |
| 2026-10-15 | Private tab groups by workspace, application, and owning module, follows each versioned application's default version, and shows each component's instances, a Version column, and a count of branch-only components; Edit Component opens a Private component in its module; Duplicate, Promote, Export, and Delete Component are Public only. |
| 2026-09-16 | Noted that Edit Component reads View Component without the Smart Component edit permission. |
| 2026-09-10 | Added Agentic to Type column and Type filter; updated Create Component type list. |
| 2026-09-09 | Added no-composition constraint to Container section; added backward-compatibility guidance to Drafts and Publishing. |
| 2026-09-09 | Added single-instance per module constraint to Private description; added Container Smart Components section covering Build Agent wiring requirement, no drag-and-drop in 9.0, impact analysis on updates, and parent/children public state independence. |
| 2026-09-08 | Added Module Builder editing distinction — Creators can configure a Public component's instance in Module Builder but must use Edit Component to edit its definition. |
| 2026-09-04 | Renamed Discoverable to Public throughout; renamed Make Discoverable to Make Public; renamed Duplicate Component to Duplicate; rewrote Filtering section; expanded Component List column table; confirmed nav label Smart Components Hub; added Private module-copy behavior; corrected Delete description; removed incorrect Pending badge claim from Draft column; added default sort note; corrected Component Detail to describe hierarchy tree. |
| 2026-09-03 | Capitalized Private and Discoverable throughout; fixed all internal link paths to include /public/; added Building a Smart Component to See Also; added Dashboard icon. |
| 2026-08-31 | Added Discoverability section explaining private vs discoverable states. |
| 2026-08-28 | Removed the Make Private action. Discoverability is now one-way: a discoverable component cannot be made private again. |
| 2026-08-27 | Renamed the discoverability action from Make Not Discoverable to Make Private, matching the Discoverable and Private nomenclature in the platform. |
| 2026-08-25 | Added inline icons to Component Actions tables. Added Component Actions section with full row action reference, split into Read and Write actions. Added Component Detail section. Added Draft column to Component List table. Corrected row click behavior (opens detail dialog, not editor). Removed HR dividers between sections. Updated Click to Select per style guide. |
| 2026-08-13 | Added Promoting Smart Components section. |
| 2026-08-10 | Initial publication. |