Skip to main content
Canvas components are the cards a PAL can render on the Magic Canvas surface during a conversation. Seven components: four interactive, three display-only: Magic Canvas adds Canvas actions - built-in LLM functions such as canvas_show_question - when the skill is attached. These are not the same as Tools you create via the Tools API and attach to a PAL. If a name collides, your Tools API definition wins.

Enabling and configuring components

Components come from the PAL’s magic_canvas skill. Attach it:
Attaching the skill enables every component with its defaults. config.components is a sparse overlay, not an allowlist; add an entry only to configure or disable:
Overlay rules:
  • Per-component enabled defaults to true.
  • scheduling_embed stays inactive until scheduling_url is set; a bare attach doesn’t error.
Tavus compiles Canvas actions only for conversations with a rendering surface. Audio-only, text-chat, and external meeting_url (Zoom, Teams, Meet) conversations get no Canvas actions, regardless of PAL configuration.
See Canvas configuration for the full config shape, PATCH/bulk-PUT/DELETE endpoints, and validation errors.

Control actions

Each active component gives the PAL one canvas_show_<component> action. With at least one component active, the PAL also gets canvas_clear, which clears the whole canvas. Showing a card replaces the current one. The PAL does not update cards in place. To clear the canvas without showing a new card, the PAL calls canvas_clear. Canvas actions are model-driven. Steer when the PAL shows a card with usage_guidance, the PAL’s system prompt, or conversational context (when cards appear). A Canvas action never overwrites a tool you defined with the same name; your tool wins (see Canvas configuration).

Default placement

By default, cards are placed to the right of the PAL. Placement can be further customized when using the @tavus/cvi-ui package.