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 ( | string (bindable) | "" | The ID of the agent to edit. Required. The block renders nothing until an agent ID is set. |
Agent Name ( | string (bindable) | — | Overrides the agent's name on save. Leave empty to let users name the agent in the form. |
Agent Description ( | string (bindable) | — | Overrides the agent's description on save. |
Task Execution Model Id ( | string (bindable) | — | Overrides the model the agent uses for task execution on save. |
Is Preview Open ( | string (truthy check) | — | Whether the chat preview panel is shown beside the form. Bindable, so a button can toggle it through a variable. |
Slots
| Slot | Description |
| Preview Copilot | A 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 |
|---|---|
| Fires after a Save call succeeds — the agent has been saved and deployed. |
| The user closes the chat preview panel. |
Methods
Method | What it does |
|---|---|
| Saves the agent and deploys it, then fires On Save. |
| 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 ( | 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
| Event | Trigger |
On Close | User 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 ( | block reference | — | The Copilot, Copilot Voice or Headless Copilot block whose session provides the video. |
Position ( | 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 ( | Video / Screen Share | Video | Which feed to display: camera or avatar video, or a shared screen. |
Video Source ( | Agent / User | Agent | Whose video to show. Appears when Track Type is Video. |
Select Sub-agent ( | string | — | For a team of agents, which sub-agent's feed to display. Appears when Video Source is Agent. |
Participant ID ( | 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 |
|---|---|---|
| — | Floats the video over the page. |
| — | Puts the video back in its place in the layout. |
| — | Switches between static and floating. |
| mode |
|
| — | Floats the video over the page. Same as Set Floating. |
| — | Puts a floating video back in its place in the layout. Same as Set Static. |
| — | 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.
Related Blocks
Block | Relationship |
|---|---|
The all-in-one assistant that users can chat with after the agent is configured. | |
The voice session engine that Copilot Video pulls its feed from. | |
Enterprise search experience that benefits from knowledge built with Knowledge Builder. |