Outbound: Tavus delivers a Magic Canvas interaction to your conversation callback_url.
Configure Magic Canvas on the PAL first - see Magic Canvas overview. Tavus sends this event only for conversations with Magic Canvas enabled. Full interaction rules: Canvas interactions.
The end user's browser reports each interaction through a public endpoint, so treat properties as untrusted input and validate it before you act on it. The same interaction can be sent more than once. Treat two events as the same interaction when conversation_id and interaction_id match, and do not apply the second one again. An interaction_id is unique only within its conversation.
For Zero Data Retention (ZDR) conversations, Tavus keeps no record of the interaction and makes one delivery attempt, so this event is your only full copy of it.
message_type
string
canvas for Magic Canvas webhook events.
Example:
"canvas"
event_type
string
canvas.interaction.
Example:
"canvas.interaction"
conversation_id
string
The unique identifier for the conversation.
Example:
"c123456"
timestamp
string
ISO-8601 timestamp with a Z suffix (UTC).
Example:
"2026-06-09T21:14:03.498Z"
properties
object
A recorded Canvas interaction. Returned by List Canvas Interactions and delivered in the properties object of a canvas.interaction webhook. For Zero Data Retention (ZDR) conversations, the interaction is delivered but not recorded.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tavus","colors":{"primary":"#FA3862","light":"#FA3862","dark":"#FA3862"},"logo":{"light":"https://mintcdn.com/tavus/mlBBb4gkXXhWTLQi/logo/light_logo.png?fit=max\u0026auto=format\u0026n=mlBBb4gkXXhWTLQi\u0026q=85\u0026s=892e020f9d0afc49e64011dcae9d3dd6","dark":"https://mintcdn.com/tavus/mlBBb4gkXXhWTLQi/logo/dark_logo.png?fit=max\u0026auto=format\u0026n=mlBBb4gkXXhWTLQi\u0026q=85\u0026s=1268f09533ab55791e8ef8200d4a669f"},"favicon":{"light":"https://mintcdn.com/tavus/yC-TYEqHye998xbI/favicon_light.png?fit=max\u0026auto=format\u0026n=yC-TYEqHye998xbI\u0026q=85\u0026s=25642e844d8f4aaad82e6cb0d0cf44c3","dark":"https://mintcdn.com/tavus/yC-TYEqHye998xbI/favicon_dark.png?fit=max\u0026auto=format\u0026n=yC-TYEqHye998xbI\u0026q=85\u0026s=42861da3c81323c222cd6182eee43175"},"api":{"openapi":"openapi.yaml"},"navbar":{"links":[{"href":"https://discord.gg/5Y9Er6WNN5","label":"Community"},{"href":"https://status.tavus.io","label":"Status"},{"href":"mailto:support@tavus.io","label":"Get Support"}],"primary":{"type":"button","label":"Get Started","href":"https://maker.tavus.io/auth/sign-up?is_developer=true"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/tavus-io","discord":"https://discord.gg/5Y9Er6WNN5"}},"integrations":{"ga4":{"measurementId":"G-SBQHZWT4FS"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"interaction":{"drilldown":false},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tavus","hasAudioNarration":false,"actualSubdomain":"tavus","customDomains":["docs.tavus.io"],"gitSource":{"type":"github","owner":"tavus-engineering","repo":"platform-api-developer-documentation","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3e848c8b2b73a8df981df","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"CVI","count":138},{"language":"default","tag":"Build","count":93},{"language":"default","tag":"API","count":90},{"language":"default","tag":"Skills","count":27},{"language":"default","tag":"Deploy","count":23},{"language":"default","tag":"Interaction Events","count":21},{"language":"default","tag":"Face","count":20},{"language":"default","tag":"Magic Canvas","count":17},{"language":"default","tag":"Tools","count":14},{"language":"default","tag":"PAL","count":14}]},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"sections/event-schemas/canvas-interaction","slug":"/sections/event-schemas/canvas-interaction","pageMetadata":{"title":"Canvas Interaction Event","openapi-schema":"canvas_interaction","description":null,"href":"/sections/event-schemas/canvas-interaction"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,p:`p`,..._provideComponents(),...props.components};return _jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/sections/conversational-video-interface/magic-canvas/api/interactions`,children:`Canvas interactions`}),` for recording interactions and fetching history.`]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Canvas Interaction Event","openapi-schema":"canvas_interaction","description":null,"href":"/sections/event-schemas/canvas-interaction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"schemaData":{"description":"#### Outbound: Tavus delivers a Magic Canvas interaction to your conversation `callback_url`.\n\nConfigure Magic Canvas on the PAL first - see [Magic Canvas overview](/sections/conversational-video-interface/magic-canvas/overview). Tavus sends this event only for conversations with Magic Canvas enabled. Full interaction rules: [Canvas interactions](/sections/conversational-video-interface/magic-canvas/api/interactions).\n\nThe end user's browser reports each interaction through a public endpoint, so treat `properties` as untrusted input and validate it before you act on it. The same interaction can be sent more than once. Treat two events as the same interaction when `conversation_id` and `interaction_id` match, and do not apply the second one again. An `interaction_id` is unique only within its conversation.\n\nFor Zero Data Retention (ZDR) conversations, Tavus keeps no record of the interaction and makes one delivery attempt, so this event is your only full copy of it.\n","type":"object","example":{"title":"Example","value":{"message_type":"canvas","event_type":"canvas.interaction","conversation_id":"c123456","timestamp":"2026-06-09T21:14:03.498Z","properties":{"conversation_id":"c123456","interaction_id":"ci_call_8f2d41_submit_5e0b7c2a","tool_call_id":"call_8f2d41","component":"canvas.question","component_version":"v1","type":"submit","value":{"selected_option_ids":["opt_2"],"skipped":false},"metadata":{"client":"kiosk-web"},"created_at":"2026-06-09T21:14:03.518923"}}},"properties":{"message_type":{"type":"string","description":"`canvas` for Magic Canvas webhook events.","example":"canvas","uniqueKey":"message_type","typeLabel":"string"},"event_type":{"type":"string","description":"`canvas.interaction`.","example":"canvas.interaction","uniqueKey":"event_type","typeLabel":"string"},"conversation_id":{"type":"string","description":"The unique identifier for the conversation.","example":"c123456","uniqueKey":"conversation_id","typeLabel":"string"},"timestamp":{"type":"string","description":"ISO-8601 timestamp with a `Z` suffix (UTC).","example":"2026-06-09T21:14:03.498Z","uniqueKey":"timestamp","typeLabel":"string"},"properties":{"type":"object","description":"A recorded Canvas interaction. Returned by [List Canvas Interactions](/api-reference/canvas-interactions/list-canvas-interactions) and delivered in the `properties` object of a [`canvas.interaction`](/sections/event-schemas/canvas-interaction) webhook. For Zero Data Retention (ZDR) conversations, the interaction is delivered but not recorded.","properties":{"conversation_id":{"type":"string","example":"c123456","uniqueKey":"properties.conversation_id","typeLabel":"string"},"interaction_id":{"type":"string","example":"ci_call_8f2d41_submit_5e0b7c2a","uniqueKey":"properties.interaction_id","typeLabel":"string"},"tool_call_id":{"type":"string","description":"The Canvas invocation that showed the card.","example":"call_8f2d41","uniqueKey":"properties.tool_call_id","typeLabel":"string"},"component":{"type":"string","example":"canvas.question","uniqueKey":"properties.component","typeLabel":"string"},"component_version":{"type":"string","example":"v1","uniqueKey":"properties.component_version","typeLabel":"string"},"type":{"type":"string","example":"submit","uniqueKey":"properties.type","typeLabel":"string"},"value":{"type":"object","example":{"selected_option_ids":["opt_2"],"skipped":false},"uniqueKey":"properties.value","typeLabel":"object"},"metadata":{"type":"object","example":{"client":"kiosk-web"},"uniqueKey":"properties.metadata","typeLabel":"object"},"created_at":{"oneOf":[{"type":"string","description":"When the interaction was recorded or, for ZDR conversations, when Tavus accepted it. Naive ISO-8601 with microseconds and no timezone suffix (UTC).","example":"2026-06-09T21:14:03.518923","uniqueKey":"properties.created_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"When the interaction was recorded or, for ZDR conversations, when Tavus accepted it. Naive ISO-8601 with microseconds and no timezone suffix (UTC).","example":"2026-06-09T21:14:03.518923","uniqueKey":"properties.created_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"properties.created_at","typeLabel":"string | null"}},"uniqueKey":"properties","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"originalFileLocation":"openapi.yaml"},"subdomain":"tavus","siteName":"Tavus","title":"Canvas Interaction Event - Tavus","contextualStarterQuestions":[{"_id":"6af3e85c16859270c406e86a","deploymentId":"65baa7516ce8cd46ab1aa877","questionText":"What are canvas interactions?","status":"active","generatedBy":"contextual","path":"sections/event-schemas/canvas-interaction","createdAt":"2026-11-11T04:00:28.423Z","updatedAt":"2026-11-11T04:00:28.423Z","__v":0},{"_id":"6af3e85c16859270c406e869","deploymentId":"65baa7516ce8cd46ab1aa877","questionText":"Where can I fetch interaction history?","status":"active","generatedBy":"contextual","path":"sections/event-schemas/canvas-interaction","createdAt":"2026-11-11T04:00:28.423Z","updatedAt":"2026-11-11T04:00:28.423Z","__v":0},{"_id":"6af3e85c16859270c406e868","deploymentId":"65baa7516ce8cd46ab1aa877","questionText":"How do I record interactions?","status":"active","generatedBy":"contextual","path":"sections/event-schemas/canvas-interaction","createdAt":"2026-11-11T04:00:28.423Z","updatedAt":"2026-11-11T04:00:28.423Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T04:00:21.959Z","originalFileLocation":"sections/event-schemas/canvas-interaction.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Tavus\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Canvas Interaction Event - Tavus\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tavus\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tavus.io/sections/event-schemas/canvas-interaction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tavus.mintlify.site/_mintlify/api/og/v2?division=Interaction+Events\u0026amp;title=Canvas+Interaction+Event\u0026amp;theme=abfefcbacd6b71a9185f0e19\u0026amp;signature=832947d5a933a3b60a97683ebdd95f43d755c78056e8d1c78648f9b55de2dfb0\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Canvas Interaction Event - Tavus\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tavus.mintlify.site/_mintlify/api/og/v2?division=Interaction+Events\u0026amp;title=Canvas+Interaction+Event\u0026amp;theme=abfefcbacd6b71a9185f0e19\u0026amp;signature=832947d5a933a3b60a97683ebdd95f43d755c78056e8d1c78648f9b55de2dfb0\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tavus/Gv5r0opZCeHlefXw/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tavus\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FA3862\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tavus.io/sections/event-schemas/canvas-interaction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sections/event-schemas/canvas-interaction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tavus.io/#organization\",\"name\":\"Tavus\",\"url\":\"https://docs.tavus.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tavus/mlBBb4gkXXhWTLQi/logo/light_logo.png?fit=max\u0026auto=format\u0026n=mlBBb4gkXXhWTLQi\u0026q=85\u0026s=892e020f9d0afc49e64011dcae9d3dd6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tavus.io#website\",\"name\":\"Tavus\",\"url\":\"https://docs.tavus.io\",\"publisher\":{\"@id\":\"https://docs.tavus.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction#webpage\",\"url\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction\",\"name\":\"Canvas Interaction Event\",\"dateModified\":\"2026-11-11T04:00:21.959Z\",\"isPartOf\":{\"@id\":\"https://docs.tavus.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Build\",\"item\":\"https://docs.tavus.io/sections/conversational-video-interface/quickstart/cvi-quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Interaction Events\",\"item\":\"https://docs.tavus.io/sections/conversational-video-interface/interactions-protocols/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Canvas Interaction Event\",\"item\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction#apireference\",\"headline\":\"Canvas Interaction Event\",\"name\":\"Canvas Interaction Event\",\"url\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tavus.io/sections/event-schemas/canvas-interaction#webpage\"},\"dateModified\":\"2026-11-11T04:00:21.959Z\",\"publisher\":{\"@id\":\"https://docs.tavus.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tavus.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tavus\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Tavus\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/sections/event-schemas/canvas-interaction.md","siteName":"Tavus","nav":{"global":null,"tabs":[{"tab":"CVI","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"Introduction","mode":"wide","href":"/sections/introduction"},{"title":"Agents \u0026 Automation","href":"/sections/agents-and-automation"},{"title":"What Is a PAL?","sidebarTitle":"What Is a PAL?","href":"/sections/conversational-video-interface/pal/what-is-a-pal"},{"title":"What Is CVI?","sidebarTitle":"What Is CVI?","href":"/sections/conversational-video-interface/overview-cvi"},{"group":"Sample Use Cases","pages":[{"title":"Sales Development Representative","href":"/sections/conversational-video-interface/conversation/usecases/sales-development-representative"},{"title":"AI Interviewer","href":"/sections/conversational-video-interface/conversation/usecases/ai-interviewer"},{"title":"Customer Service Agent","href":"/sections/conversational-video-interface/conversation/usecases/customer-service"},{"title":"Medical Intake","href":"/sections/conversational-video-interface/conversation/usecases/medical-intake"}]},{"title":"Models","href":"/sections/models"}]},{"group":"Guides","icon":"book-open","pages":[{"title":"PAL Strategies","href":"/sections/onboarding-guide/pal-strategies"},{"title":"Tavus Tool Calling","href":"/sections/onboarding-guide/tool-calling-examples"},{"title":"Reducing Join Latency","href":"/sections/onboarding-guide/latency-optimization"},{"title":"Prompting Guide","href":"/sections/onboarding-guide/prompting-guide"},{"title":"Objectives Prompting Guide","href":"/sections/onboarding-guide/objectives"},{"title":"EU AI Act Compliance","sidebarTitle":"EU AI Act","href":"/sections/onboarding-guide/eu-ai-act"}]},{"group":"Build","icon":"hammer","pages":[{"title":"API Conversation Quickstart","sidebarTitle":"API Conversation Quickstart","href":"/sections/conversational-video-interface/quickstart/cvi-quickstart"},{"group":"MCP \u0026 CLI","pages":[{"title":"Overview","href":"/sections/agent-tools/overview"},{"group":"MCP","pages":[{"title":"MCP Server","href":"/sections/agent-tools/mcp-server"},{"title":"MCP Tools Reference","href":"/sections/agent-tools/mcp-tools-reference"}]},{"title":"CLI","href":"/sections/agent-tools/cli"},{"title":"Agentic PAL Building \u0026 Testing","href":"/sections/agent-tools/pal-build-and-verify"}]},{"title":"Pipeline Modes","href":"/sections/conversational-video-interface/quickstart/pipeline-modes"},{"group":"PAL","pages":[{"title":"Overview","sidebarTitle":"PAL Overview","href":"/sections/conversational-video-interface/pal/overview"},{"title":"Stock PALs","mode":"wide","href":"/sections/conversational-video-interface/pal/stock-pals"},{"title":"PAL Editing Lifecycle","sidebarTitle":"Editing Lifecycle","href":"/sections/conversational-video-interface/pal/editing-lifecycle"},{"title":"Objectives","href":"/sections/conversational-video-interface/pal/objectives"},{"title":"Guardrails","href":"/sections/conversational-video-interface/guardrails"},{"title":"Knowledge Base","href":"/sections/conversational-video-interface/knowledge-base"},{"title":"Memories","href":"/sections/conversational-video-interface/memories"}]},{"group":"Face","pages":[{"title":"Overview","href":"/sections/faces/overview"},{"group":"Creating a Face","pages":[{"title":"Video to Face","sidebarTitle":"Video to Face","href":"/sections/faces/video-to-face-quickstart"},{"title":"Image to Face","sidebarTitle":"Image to Face","href":"/sections/faces/image-to-face-quickstart"},{"title":"Phoenix-4.5 Preview and Status","sidebarTitle":"4.5 Preview and Status","href":"/sections/faces/phoenix-45-preview-and-status"},{"title":"Voices for Image-Based Faces","sidebarTitle":"Voices for Image Faces","href":"/sections/faces/voices-for-image-based-faces"},{"group":"Model and Training Path","pages":[{"title":"Choose a Model and Training Path","href":"/sections/faces/which-training-path"},{"title":"Phoenix-4.5 Image Requirements","sidebarTitle":"Phoenix-4.5 Image","href":"/sections/faces/phoenix-45-image-requirements"},{"title":"Phoenix-4.5 Video Requirements","sidebarTitle":"Phoenix-4.5 Video","href":"/sections/faces/phoenix-45-video-requirements"},{"title":"Phoenix-4 Image Requirements","sidebarTitle":"Phoenix-4 Image","href":"/sections/faces/phoenix-4-image-requirements"},{"title":"Phoenix-4 Video Requirements","sidebarTitle":"Phoenix-4 Video","href":"/sections/faces/phoenix-4-video-requirements"},{"title":"Phoenix-3 Video Requirements (Legacy)","sidebarTitle":"Phoenix-3 Video (Legacy)","href":"/sections/faces/phoenix-3-video-requirements"}]}]},{"title":"Emotion Control with Phoenix-4 and Phoenix-4.5","sidebarTitle":"Emotion Control","href":"/sections/conversational-video-interface/quickstart/emotional-expression"},{"group":"Stock Faces","root":{"title":"Stock Faces","href":"/sections/faces/stock-faces"},"pages":[{"title":"Stock Face Model Map","href":"/sections/faces/stock-face-model-map"}]},{"title":"Face FAQs","href":"/sections/faces/face-faqs"}]},{"title":"Voices","href":"/sections/conversational-video-interface/voices"},{"group":"Pipeline Layers","pages":[{"group":"Text-to-Speech","pages":[{"title":"Text-to-Speech (TTS)","href":"/sections/conversational-video-interface/pal/tts"},{"title":"Language Support","href":"/sections/conversational-video-interface/language-support"},{"title":"Pronunciation Dictionaries","sidebarTitle":"Pronunciation Dictionaries","href":"/sections/conversational-video-interface/pal/pronunciation-dictionaries"}]},{"group":"Conversational Flow and STT","pages":[{"title":"Conversational Flow","sidebarTitle":"Conversational Flow","href":"/sections/conversational-video-interface/pal/conversational-flow"},{"title":"Speech-to-Text (STT)","sidebarTitle":"Speech-to-Text (STT)","href":"/sections/conversational-video-interface/pal/stt"}]},{"title":"Large Language Model (LLM)","href":"/sections/conversational-video-interface/pal/llm"},{"title":"Perception","sidebarTitle":"Perception","href":"/sections/conversational-video-interface/pal/perception"},{"title":"Screen Share","href":"/sections/conversational-video-interface/pal/screen-share"}]},{"group":"Skills","pages":[{"title":"Overview","href":"/sections/conversational-video-interface/skills/overview"},{"title":"Presentation","href":"/sections/conversational-video-interface/skills/presentation"},{"group":"Magic Canvas","pages":[{"title":"Magic Canvas Overview","sidebarTitle":"Overview","href":"/sections/conversational-video-interface/magic-canvas/overview"},{"title":"Magic Canvas Quickstart","sidebarTitle":"Quickstart","href":"/sections/conversational-video-interface/magic-canvas/quickstart"},{"group":"Components","pages":[{"title":"Canvas Components","sidebarTitle":"Components Overview","href":"/sections/conversational-video-interface/magic-canvas/components"},{"title":"Component: question","sidebarTitle":"question","href":"/sections/conversational-video-interface/magic-canvas/components/question"},{"title":"Component: input","sidebarTitle":"input","href":"/sections/conversational-video-interface/magic-canvas/components/input"},{"title":"Component: calendar","sidebarTitle":"calendar","href":"/sections/conversational-video-interface/magic-canvas/components/calendar"},{"title":"Component: scheduling_embed","sidebarTitle":"scheduling_embed","href":"/sections/conversational-video-interface/magic-canvas/components/scheduling-embed"},{"title":"Component: text","sidebarTitle":"text","href":"/sections/conversational-video-interface/magic-canvas/components/text"},{"title":"Component: image","sidebarTitle":"image","href":"/sections/conversational-video-interface/magic-canvas/components/image"},{"title":"Component: chart","sidebarTitle":"chart","href":"/sections/conversational-video-interface/magic-canvas/components/chart"},{"title":"Component: alert","sidebarTitle":"alert","href":"/sections/conversational-video-interface/magic-canvas/components/alert"}]},{"group":"API","pages":[{"title":"PAL Canvas Configuration","sidebarTitle":"Canvas Configuration","href":"/sections/conversational-video-interface/magic-canvas/api/configuration"},{"title":"Canvas Interactions","sidebarTitle":"Canvas Interactions","href":"/sections/conversational-video-interface/magic-canvas/api/interactions"}]},{"group":"Integrations","pages":[{"title":"Integration: Tavus-Hosted Embed and Widget","sidebarTitle":"Hosted Embed \u0026 Widget","href":"/sections/conversational-video-interface/magic-canvas/integrations/hosted"},{"title":"Integration: @tavus/cvi-ui MagicCanvas","sidebarTitle":"React SDK (@tavus/cvi-ui)","href":"/sections/conversational-video-interface/magic-canvas/integrations/cvi-ui-sdk"}]}]},{"title":"Internet Search","href":"/sections/conversational-video-interface/skills/internet-search"},{"title":"Browser Use","href":"/sections/conversational-video-interface/skills/browser-use"}]},{"group":"Tools","pages":[{"title":"Overview","href":"/sections/conversational-video-interface/pal/tools"},{"title":"Tool Calling for LLM","href":"/sections/conversational-video-interface/pal/llm-tool"},{"title":"Tool Calling for Perception","href":"/sections/conversational-video-interface/pal/perception-tool"},{"title":"Post-Call Actions","href":"/sections/conversational-video-interface/pal/post-call-tool"},{"title":"Tool Delivery","href":"/sections/conversational-video-interface/pal/llm-tool-delivery"},{"title":"Tool Authentication","href":"/sections/conversational-video-interface/pal/llm-tool-auth"}]},{"group":"Connectors","pages":[{"title":"MCP Connectors","href":"/sections/conversational-video-interface/pal/mcp-connectors"}]},{"group":"Conversation / Sessions","pages":[{"title":"Overview","href":"/sections/conversational-video-interface/conversation/overview"},{"title":"Room URL vs conversation URL","href":"/sections/conversational-video-interface/conversation/room-url-vs-conversation-url"},{"title":"Conversation Recordings","href":"/sections/conversational-video-interface/quickstart/conversation-recordings"},{"group":"Customizations","pages":[{"title":"Audio-Only Conversation","href":"/sections/conversational-video-interface/conversation/customizations/audio-only"},{"title":"Call Duration and Timeout","href":"/sections/conversational-video-interface/conversation/customizations/call-duration-and-timeout"},{"title":"Closed Captions","href":"/sections/conversational-video-interface/conversation/customizations/closed-captions"},{"title":"Background Customizations","href":"/sections/conversational-video-interface/conversation/customizations/background-customizations"},{"title":"Private Rooms","href":"/sections/conversational-video-interface/conversation/customizations/private-rooms"},{"title":"Participant Limits","href":"/sections/conversational-video-interface/conversation/customizations/participant-limits"}]}]},{"group":"Interaction Events","pages":[{"title":"Interaction Events","sidebarTitle":"Overview","href":"/sections/conversational-video-interface/interactions-protocols/overview"},{"title":"Echo Interaction","href":"/sections/event-schemas/conversation-echo"},{"title":"Text Respond Interaction","href":"/sections/event-schemas/conversation-respond"},{"title":"Sensitivity Interaction","href":"/sections/event-schemas/conversation-sensitivity"},{"title":"Set Emotion Interaction","href":"/sections/event-schemas/conversation-set-emotion"},{"title":"Interrupt Interaction","href":"/sections/event-schemas/conversation-interrupt"},{"title":"Overwrite Conversational Context Interaction","href":"/sections/event-schemas/conversation-overwrite-context"},{"title":"Append Conversational Context Interaction","href":"/sections/event-schemas/conversation-append-context"},{"title":"Utterance Event","href":"/sections/event-schemas/conversation-utterance"},{"title":"Utterance Streaming Event","href":"/sections/event-schemas/conversation-utterance-streaming"},{"title":"Tool Call Event","href":"/sections/event-schemas/conversation-toolcall"},{"title":"Tool Call Result","href":"/sections/event-schemas/conversation-tool-result"},{"title":"Started/Stopped Speaking Event","href":"/sections/event-schemas/conversation-started-stopped-speaking"},{"title":"Joined/Left Event","href":"/sections/event-schemas/conversation-joined-left"},{"title":"Perception Tool Call Event","href":"/sections/event-schemas/conversation-perception-tool-call"},{"title":"Perception Analysis Event","href":"/sections/event-schemas/conversation-perception-analysis"},{"title":"Agent Start Event","href":"/sections/event-schemas/conversation-agent-start"},{"title":"Agent Update Event","href":"/sections/event-schemas/conversation-agent-update"},{"title":"Agent Stop Event","description":null,"href":"/sections/event-schemas/conversation-agent-stop"},{"title":"Canvas Interaction Event","href":"/sections/event-schemas/canvas-interaction"},{"title":"Wake/Sleep Phrase Detected Event","description":null,"href":"/sections/event-schemas/system-wake-sleep-phrase-detected"}]}]},{"group":"Deploy","icon":"rocket","pages":[{"title":"CVI App Quickstart","sidebarTitle":"CVI App Quickstart","href":"/sections/conversational-video-interface/quickstart/build-first-app"},{"title":"CVI App: AI Prompt","sidebarTitle":"CVI App: AI Prompt","href":"/sections/conversational-video-interface/quickstart/ai-prompt-cvi-quickstart"},{"group":"Deployments","pages":[{"title":"Deployments Overview","href":"/sections/deployments/overview"},{"title":"Examples","href":"/sections/deployments/examples"},{"title":"Build with a coding agent","sidebarTitle":"Coding agents","href":"/sections/deployments/coding-agents"},{"title":"App builders and website builders","sidebarTitle":"App \u0026 website builders","href":"/sections/deployments/app-builders"},{"title":"Widget","href":"/sections/deployments/widget"},{"title":"Embed","href":"/sections/deployments/embed"},{"title":"Landing Page","href":"/sections/deployments/landing-page"},{"title":"Host Communication","href":"/sections/deployments/host-communication"}]},{"group":"Web","pages":[{"title":"Embed Conversational Video Interface","href":"/sections/integrations/embedding-cvi"},{"title":"Customize Conversation UI","href":"/sections/conversational-video-interface/quickstart/customize-conversation-ui"},{"group":"React Component Library","pages":[{"title":"Overview","href":"/sections/conversational-video-interface/component-library/overview"},{"title":"Blocks","href":"/sections/conversational-video-interface/component-library/blocks"},{"title":"Components","href":"/sections/conversational-video-interface/component-library/components"},{"title":"Hooks","href":"/sections/conversational-video-interface/component-library/hooks"},{"title":"Server","href":"/sections/conversational-video-interface/component-library/server"}]}]},{"title":"Mobile","href":"/sections/conversational-video-interface/mobile"},{"title":"Google Meet / Zoom / Teams","sidebarTitle":"Google Meet / Zoom / Teams","href":"/sections/conversational-video-interface/pal/meetings"},{"group":"Third-Party Integrations","pages":[{"title":"LiveKit Agent","href":"/sections/integrations/livekit"},{"title":"Pipecat","href":"/sections/integrations/pipecat"},{"title":"Agora","href":"/sections/integrations/agora"},{"title":"Speech-to-Speech","href":"/sections/integrations/speech-to-speech"}]}]},{"group":"Debug","icon":"bug","pages":[{"title":"Webhooks and Callbacks","href":"/sections/webhooks-and-callbacks"},{"title":"Errors and Status Details","href":"/sections/errors-and-status-details"},{"title":"Troubleshooting","href":"/sections/troubleshooting"},{"title":"FAQs","href":"/sections/conversational-video-interface/faq"}]},{"group":"Teams \u0026 SSO","icon":"users","pages":[{"title":"Teams","href":"/sections/teams/overview"},{"title":"Single Sign-On (SSO)","href":"/sections/teams/sso"}]},{"group":"Resources","icon":"bookmark","pages":[{"title":"Example Projects","url":"https://github.com/Tavus-Engineering/tavus-examples","href":"/sections/example-projects"}]}]},{"tab":"API","pages":[{"title":"API","href":"/api-reference/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/sections/changelog/changelog"}]},{"tab":"Other Products","pages":[{"title":"Other Products","href":"/sections/video/overview"}]},{"tab":"Enablement Docs","hidden":true,"pages":[{"title":"Enablement Docs","href":"/sections/enablement-docs"}]}]},"basePath":"","title":"Canvas Interaction Event - Tavus","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}