Skip to main content
The input component renders a single text field with a prompt above it. The PAL sees the user’s typed response (or skip) and your webhook receives the value. Use question for multiple-choice answers and calendar for dates and time slots. The card renders in the safe-area-right slot by default.
The PAL shows the card via canvas_show_input when it needs a single typed response (name, email, phone, or number); there is no API call to trigger it.

Configuration

input has no component-specific settings; it is enabled whenever the Magic Canvas skill is attached. Disable with:
See Enabling and configuring components.

Arguments

Inputs are required by default; the user must enter a value to submit. Set allow_skip to true to let the user skip instead.
Example Call

Interactions

input is submit-capable and can produce all six interaction types:

Submit and Skip Payloads

value from the Tavus-hosted card always has exactly three fields: input_type, value, and skipped. On submit, skipped is false and value is required: a string for text, email, and tel; a JSON number for number (not a numeric string; booleans rejected):
On skip, skipped is true and value is null:
For input_type: "email", the renderer trims whitespace and checks the format before submitting; the Tavus API does not re-validate it. Validate again in your backend before sending mail.

Webhook Event

Each interaction is delivered once to your conversation’s callback_url as a canvas.interaction event.
Example Event
The full interaction history is available at any time, including after the conversation ends:

Custom Renderers

Custom renderers POST interactions to POST /v2/conversations/{conversation_id}/canvas/interactions with no API key; the endpoint is public while the conversation is active. See Canvas interactions for idempotency, replay rules, and size caps. Input-specific validation: submit requires value.value of the type matching input_type (string for text/email/tel, JSON number for number); skip requires skipped: true.