Unify Applications
Logo
Agent Builder & Knowledge Builder

Agent Builder & Knowledge Builder

Logo

6 mins READ

The Simple Agent Builder block embeds the platform's lightweight AI-agent editor into your own app page. Pointed at an agent by ID, it shows the full editing surface — instructions (with an expandable full-page editor), tools, skills, knowledge and conversation starters — plus an optional side-by-side chat preview rendered from a Preview Copilot slot. Saving through the block both saves the agent and deploys it for use in copilot.

Tip: When to use: Build a white-labeled "edit your agent" experience inside your app, without sending users to the platform's agent module. Pair the editing form with a live chat preview so users can test the agent as they tune it. To only chat with an existing agent (no editing), use a Copilot block instead.

Properties

Content

Property

Type

Default

Description

Agent Id (agentId)

string (bindable)

""

The ID of the agent to edit. Required. The block renders nothing until an agent ID is set.

Agent Name (name)

string (bindable)

—

Overrides the agent's name on save. Leave empty to let users name the agent in the form.

Agent Description (description)

string (bindable)

—

Overrides the agent's description on save.

Task Execution Model Id (taskExecutionModelId)

string (bindable)

—

Overrides the model the agent uses for task execution on save.

Is Preview Open (isPreviewOpen)

string (truthy check)

—

Whether the chat preview panel is shown beside the form. Bindable, so a button can toggle it through a variable.

Slots

SlotDescription
Preview CopilotA Copilot block placed in this slot renders as the side-by-side test chat. It reacts to the agent being edited so it always previews the current agent state.

Events

Event

Trigger

On Save

Fires after a Save call succeeds — the agent has been saved and deployed.

On Close

The user closes the chat preview panel.

Methods

Method

What it does

Save

Saves the agent and deploys it, then fires On Save.

Refresh Form Data

Reloads the agent's saved data and discards unsaved edits.

The block has no Save button of its own. Add your own button and have it run the Control block method action with the Save method.

Behavior & Gotchas

Warning: agentId is required. The block renders an empty frame until an agent id is supplied. Bind it to a URL parameter, a page variable, or a data source result.

Note: isPreviewOpen uses a truthy check, not a strict boolean. Any value that JavaScript evaluates as truthy (including non-empty strings like "true" or "1") will open the preview.

Note: Name, description, and model overrides apply on save only. Binding these properties controls what is written back to the agent when the Save method runs — they don't change the values visible in the form while the user is editing.

Knowledge Builder

The Knowledge Builder block embeds a complete, guided knowledge-setup flow for a third-party app inside your page. You point it at an app by name; it then walks the user through connecting the app, configuring what data to sync as knowledge, and browsing the synced knowledge's details and stats. The screen a user lands on is chosen automatically from how far that app's setup has already progressed.

Tip: When to use: Give end users a self-serve way to connect an app and sync its content into knowledge — without leaving your app. Surface an already-configured knowledge source's details and sync status. For a chat surface that consumes knowledge, use a Copilot block instead — this block only builds and manages the knowledge.

Properties

Content

Property

Type

Default

Description

App Name (appName)

string (bindable)

empty

The app whose knowledge is being set up. This single value drives everything: the connection lookup, sync configuration, and details display.

Events

EventTrigger
On CloseUser closes the knowledge builder flow.

Behavior & Gotchas

Note: The block automatically shows the right screen for the app's setup state. If the app isn't connected, it shows the connection screen. If connected but not configured, it shows the sync setup. If fully configured, it shows the knowledge details and stats. Your app doesn't need to track this state.

Warning: appName drives the entire flow. Binding an incorrect or misspelled app name shows an empty state or an error — verify the exact app name from the platform's app registry.

Copilot Video

The Copilot Video block displays a live video or screen-share feed from a copilot voice session — the AI agent's video, the user's own camera, or the screen a participant is sharing. It links to a Copilot, Copilot Voice or Headless Copilot block on the page and pulls its feed from that session. The block can render inline (Static) or as a draggable floating overlay (Floating) with snap placements, pop-out controls, and customizable empty states.

Tip: When to use: When your agent supports a video avatar or the voice experience includes screen sharing, and you want the feed visible in the app. For a picture-in-picture style overlay the user can drag while chatting, use Floating mode. For the audio-only voice experience itself, use Copilot Voice — this block only displays the video track.

Properties

Property

Type

Default

Description

Chat Component (copilotId)

block reference

—

The Copilot, Copilot Voice or Headless Copilot block whose session provides the video.

Position (mode)

Static / Floating

Static

Inline rendering or a draggable floating overlay.

Container

block reference

Page

Appears when Position is Floating. The boundary the floating video lives inside. Users can drag it only within this block.

Anchor region

Chat panel / Canvas / Entire Copilot block

Chat panel

Appears when the Container is a Copilot. The part of the Copilot the video lines up against. Affects only where the video starts.

Placement

Top Left / Top Center / Top Right / Bottom Left / Bottom Center / Bottom Right / Center / Custom

Top Left

Where the floating video starts.

Top Offset / Bottom Offset / Start Offset / End Offset

px

20px

Distance from the container's edges for the chosen Placement.

Track Type (trackType)

Video / Screen Share

Video

Which feed to display: camera or avatar video, or a shared screen.

Video Source (videoSource)

Agent / User

Agent

Whose video to show. Appears when Track Type is Video.

Select Sub-agent (selectedAgentId)

string

—

For a team of agents, which sub-agent's feed to display. Appears when Video Source is Agent.

Participant ID (selectedParticipantId)

string

—

A specific participant whose feed to show. Appears when Track Type is Video and Video Source is Agent. When both Participant ID and Select Sub-agent are set, Participant ID is used.

Slots

Slot

Description

Empty state

What the frame shows when there is no picture. It arrives with three messages: voice mode is not active, participant is connecting, and participant joined with only audio.

Pop Out Button

Shown on hover while a floating video sits back in the layout. Clicking it floats the video again.

Pop In Button

Shown on hover while a floating video floats. Clicking it puts the video back in the layout.

Drag Handle

Shown on hover while a floating video floats. Drag it to move the video inside its Container. Without it, a floating video can't be moved.

Snap To Default Button

Shown on hover after the user drags a floating video. Clicking it returns the video to its starting spot.

Methods

Method

Params

Effect

Set Floating

—

Floats the video over the page.

Set Static

—

Puts the video back in its place in the layout.

Toggle Display Mode

—

Switches between static and floating.

Set Display Mode

mode

floating floats the video. Any other value puts it back in the layout. Leave mode out and it floats.

Pop Out

—

Floats the video over the page. Same as Set Floating.

Snap Back

—

Puts a floating video back in its place in the layout. Same as Set Static.

Toggle Pop Out

—

Floats the video when it sits in the layout, and puts it back when it floats.

Behavior & Gotchas

Note: The block shows its Empty state slot when no video feed is available: the voice session hasn't started, the agent has no video track, or the user's camera is off. If the Empty state slot is empty, the frame shows one line of text instead, such as "Waiting for agent to connect...".

Note: In Floating mode the video starts at the chosen Placement and Anchor region. Users move it with the Drag Handle, inside its Container. The Snap To Default Button returns it to its starting spot, and the Pop In Button or the Snap Back method puts it back in the layout. Drags and pop-outs aren't saved: on the next page load the video starts as Position says.

Block

Relationship

Copilot

The all-in-one assistant that users can chat with after the agent is configured.

Copilot Voice

The voice session engine that Copilot Video pulls its feed from.

Copilot Thread

Enterprise search experience that benefits from knowledge built with Knowledge Builder.

FAQs

Is an agentId required for Simple Agent Builder, and what happens without one?

Yes — agentId is required. Without it the block renders an empty panel with no agent to edit. The agentId is the identifier of the AI agent you want users to configure inside your app. You set it once in the inspector or bind it dynamically. If set, Agent Name, Agent Description and Task Execution Model Id replace the form's values when the agent is saved. They don't pre-fill the form.

How do I let users preview the agent they just configured in Simple Agent Builder?

Add a Copilot block or any Copilot-family block into the Preview Copilot slot of the Simple Agent Builder. When isPreviewOpen is truthy, that slot's content becomes visible. Wire a toggle or button to control the open state, and the user can test the agent directly alongside the editor without navigating away.

What does the Knowledge Builder's appName property actually control?

The appName property is the primary driver for the Knowledge Builder flow — it tells the block which application's knowledge to set up. All screens, labels and data fetched within the guided flow are scoped to that application name. If appName is empty or unbound, the flow has nothing to operate on. Bind it to the current application's name or a page parameter.

What is the Copilot Video block's floating position?

When Position is set to Floating, the video feed detaches from its layout position and appears as an overlay. It starts at the chosen Placement, and the user can drag it anywhere inside the chosen Container (default Page). This is useful during an active voice session where the user needs to continue interacting with the page while still seeing the video. Static mode keeps the video in place in the page layout.