diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/chatbot.md b/packages/module/patternfly-docs/content/extensions/chatbot/chatbot.md
index ff4f4fc4..cf4634fc 100644
--- a/packages/module/patternfly-docs/content/extensions/chatbot/chatbot.md
+++ b/packages/module/patternfly-docs/content/extensions/chatbot/chatbot.md
@@ -49,6 +49,7 @@ Explore our documentation, which covers both the components you'll need to build
- [Primary color background](/extensions/chatbot/overview/demo#primary-color-background)
- [Display mode switcher](/extensions/chatbot/overview/demo#display-mode-switcher)
- [Chat transcripts](/extensions/chatbot/overview/demo#chat-transcripts)
+ - [Canvas](/patterns/canvas/demo)
- [Analytics](/extensions/chatbot/analytics): Tracking for ChatBot interactions
- [Customizing messages](/extensions/chatbot/customizing-messages): Details for the implementation of custom messages
- [Tree-shaking](/extensions/chatbot/tree-shaking): Bundle size optimization and import best practices
diff --git a/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Canvas.md b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Canvas.md
new file mode 100644
index 00000000..e7fd7b35
--- /dev/null
+++ b/packages/module/patternfly-docs/content/extensions/chatbot/examples/demos/Canvas.md
@@ -0,0 +1,110 @@
+---
+id: Canvas
+section: patterns
+source: demo
+---
+
+import { useState, useRef, useCallback, useEffect, FunctionComponent, ReactNode } from 'react';
+import {
+Brand,
+Divider,
+Drawer,
+DrawerActions,
+DrawerCloseButton,
+DrawerContent,
+DrawerContentBody,
+DrawerHead,
+DrawerPanelContent,
+DropdownItem,
+DropdownList,
+Flex,
+FlexItem,
+Label,
+MenuToggle,
+Popover,
+Select,
+SelectList,
+SelectOption,
+Title,
+Tooltip
+} from '@patternfly/react-core';
+import { CodeEditor, CodeEditorControl, Language } from '@patternfly/react-code-editor';
+import Chatbot, { ChatbotDisplayMode } from '@patternfly/chatbot/dist/dynamic/Chatbot';
+import ChatbotContent from '@patternfly/chatbot/dist/dynamic/ChatbotContent';
+import ChatbotFooter, { ChatbotFootnote } from '@patternfly/chatbot/dist/dynamic/ChatbotFooter';
+import MessageBar from '@patternfly/chatbot/dist/dynamic/MessageBar';
+import MessageBox from '@patternfly/chatbot/dist/dynamic/MessageBox';
+import Message from '@patternfly/chatbot/dist/dynamic/Message';
+import ChatbotConversationHistoryNav from '@patternfly/chatbot/dist/dynamic/ChatbotConversationHistoryNav';
+import ChatbotHeader, {
+ChatbotHeaderActions,
+ChatbotHeaderCloseButton,
+ChatbotHeaderMain,
+ChatbotHeaderMenu,
+ChatbotHeaderTitle
+} from '@patternfly/chatbot/dist/dynamic/ChatbotHeader';
+import RhUiImageFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-image-fill-icon';
+import RhUiAddIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-add-icon';
+import RhUiTaskFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-task-fill-icon';
+import RhUiNotificationFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-notification-fill-icon';
+import RhUiCalendarFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-calendar-fill-icon';
+import RhUiExportIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-export-icon';
+import RhUiRedoIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-redo-icon';
+import RhUiUndoIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-undo-icon';
+import RhUiServerUploadFillIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-server-upload-fill-icon';
+import RhUiAiEditIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-ai-edit-icon';
+import RhUiAiInfoIcon from '@patternfly/react-icons/dist/esm/icons/rh-ui-ai-info-icon';
+import { useDropzone } from 'react-dropzone';
+import PFIconLogoColor from '../UI/PF-IconLogo-Color.svg';
+import PFIconLogoReverse from '../UI/PF-IconLogo-Reverse.svg';
+import userAvatar from '../Messages/user_avatar.svg';
+
+**Canvas** lets users work with generated or editable content alongside a conversation. Canvas content is fully flexible, allowing you to render any content suitable for your use case. It is recommended to only utilize canvas mode with a fullscreen Chatbot.
+
+## Composable structure
+
+When utilizing a canvas layout, it's recommended to use a PatternFly [drawer](/components/drawer). You must apply the `pf-chatbot__canvas*` classes from `@patternfly/chatbot` so the drawer matches ChatBot backgrounds and fills the fullscreen layout.
+
+The general recommended structure is as follows:
+
+```noLive
+
+
+ This canvas is a collaborative workspace that blends AI-generated content with manual human edits.
+ You can accept an AI-generated baseline and immediately mold it with direct keystrokes, creating a
+ seamless partnership over a shared deliverable.
+