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:
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):
skipped is true and value is null:
Webhook Event
Each interaction is delivered once to your conversation’scallback_url as a canvas.interaction event.
Example Event
Custom Renderers
Custom renderers POST interactions toPOST /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.
