add_elements
ChatGPTManual fallback for creating canvas and adding elements. ⚠️ IMPORTANT: Call get_guide first and follow its instructions! Use this tool only when the user's request is not a good fit for Mermaid. If the request can be represented in Mermaid, use add_elements_from_mermaid instead. If room_url is NOT provided - creates a NEW canvas and returns room_url. If the user did not explicitly mention an existing board/canvas/room, do NOT ask for a room_url; create a new canvas instead. If a previous Canvs tool result or assistant message in the same conversation contains a room_url, reuse it for follow-up requests like 'add to it' or 'same board'. If the user refers to a previous board but no usable room_url is available, create a new canvas instead of asking for the URL by default. If room_url IS provided - adds elements to that canvas. If the canvas is displayed as an inline widget in the interface, do NOT include room_url in your reply. If no widget is shown, share the room_url so the user can open the canvas.Use cases: wireframes, UI mockups, freeform illustrations, standalone shapes, and manual layouts that Mermaid does not cover well. Do not use this tool for diagrams that Mermaid can express. Element types: rectangle, ellipse, diamond, arrow, line, freedraw, text, image. TEXT IN SHAPES: use containerId on text element pointing to shape id. ARROWS: Position at EDGE of source shape. Auto-bound within 30px. Colors: strokeColor, backgroundColor (hex).
add_elements
ChatGPTManual fallback for creating canvas and adding elements. ⚠️ IMPORTANT: Call get_guide first and follow its instructions! Use this tool only when the user's request is not a good fit for Mermaid. If the request can be represented in Mermaid, use add_elements_from_mermaid instead. If room_url is NOT provided - creates a NEW canvas and returns room_url. If the user did not explicitly mention an existing board/canvas/room, do NOT ask for a room_url; create a new canvas instead. If a previous Canvs tool result or assistant message in the same conversation contains a room_url, reuse it for follow-up requests like 'add to it' or 'same board'. If the user refers to a previous board but no usable room_url is available, create a new canvas instead of asking for the URL by default. If room_url IS provided - adds elements to that canvas. If the canvas is displayed as an inline widget in the interface, do NOT include room_url in your reply. If no widget is shown, share the room_url so the user can open the canvas.Use cases: wireframes, UI mockups, freeform illustrations, standalone shapes, and manual layouts that Mermaid does not cover well. Do not use this tool for diagrams that Mermaid can express. Element types: rectangle, ellipse, diamond, arrow, line, freedraw, text, image. TEXT IN SHAPES: use containerId on text element pointing to shape id. ARROWS: Position at EDGE of source shape. Auto-bound within 30px. Colors: strokeColor, backgroundColor (hex).
add_elements_from_mermaid
ChatGPTPreferred method for creating diagram elements from Mermaid. ⚠️ IMPORTANT: Call get_guide first and follow its instructions! Use this tool for NEW diagrams and LARGE changes to existing diagrams whenever the request can be represented in Mermaid. Prefer translating the request into Mermaid instead of manually recreating it with add_elements. If room_url is NOT provided - creates a NEW canvas and returns room_url. If the user did not explicitly mention an existing board/canvas/room, do NOT ask for a room_url; create a new canvas instead. If a previous Canvs tool result or assistant message in the same conversation contains a room_url, reuse it for follow-up requests like 'add to it' or 'same board'. If the user refers to a previous board but no usable room_url is available, create a new canvas instead of asking for the URL by default. If room_url IS provided - adds diagram elements to that canvas. If the canvas is displayed as an inline widget in the interface, do NOT include room_url in your reply. If no widget is shown, share the room_url so the user can open the canvas.Supports: flowchart, graph, flowchart-elk, sequenceDiagram, classDiagram, classDiagram-v2, stateDiagram, stateDiagram-v2, erDiagram, journey, gantt, pie, gitGraph, mindmap, timeline, C4Context, C4Container, C4Component, C4Dynamic, C4Deployment, sankey, sankey-beta, quadrantChart, xychart, xychart-beta, requirement, requirementDiagram, kanban, architecture, block, block-beta, packet, packet-beta, radar-beta, treemap, info. Example: "flowchart TD\n A[Start] --> B{Decision}\n B -->|Yes| C[OK]\n B -->|No| D[Cancel]"
add_elements_from_mermaid
ChatGPTPreferred method for creating diagram elements from Mermaid. ⚠️ IMPORTANT: Call get_guide first and follow its instructions! Use this tool for NEW diagrams and LARGE changes to existing diagrams whenever the request can be represented in Mermaid. Prefer translating the request into Mermaid instead of manually recreating it with add_elements. If room_url is NOT provided - creates a NEW canvas and returns room_url. If the user did not explicitly mention an existing board/canvas/room, do NOT ask for a room_url; create a new canvas instead. If a previous Canvs tool result or assistant message in the same conversation contains a room_url, reuse it for follow-up requests like 'add to it' or 'same board'. If the user refers to a previous board but no usable room_url is available, create a new canvas instead of asking for the URL by default. If room_url IS provided - adds diagram elements to that canvas. If the canvas is displayed as an inline widget in the interface, do NOT include room_url in your reply. If no widget is shown, share the room_url so the user can open the canvas.Supports: flowchart, graph, flowchart-elk, sequenceDiagram, classDiagram, classDiagram-v2, stateDiagram, stateDiagram-v2, erDiagram, journey, gantt, pie, gitGraph, mindmap, timeline, C4Context, C4Container, C4Component, C4Dynamic, C4Deployment, sankey, sankey-beta, quadrantChart, xychart, xychart-beta, requirement, requirementDiagram, kanban, architecture, block, block-beta, packet, packet-beta, radar-beta, treemap, info. Example: "flowchart TD\n A[Start] --> B{Decision}\n B -->|Yes| C[OK]\n B -->|No| D[Cancel]"
delete_elements
ChatGPTDelete elements from a canvas. Requires room_url from add_elements. Pass ids array of element IDs to delete.
delete_elements
ChatGPTDelete elements from a canvas. Requires room_url from add_elements. Pass ids array of element IDs to delete.
get_guide
ChatGPT⚠️ MANDATORY FIRST STEP - Call this tool BEFORE using any other Canvs tools! Returns comprehensive instructions for creating whiteboards: tool selection strategy, iterative workflow, and examples. Following these instructions ensures correct diagrams.
get_guide
ChatGPT⚠️ MANDATORY FIRST STEP - Call this tool BEFORE using any other Canvs tools! Returns comprehensive instructions for creating whiteboards: tool selection strategy, iterative workflow, and examples. Following these instructions ensures correct diagrams.
query_elements
ChatGPTQuery elements on a canvas. Requires room_url from add_elements. Returns elements matching optional filters. Use this before update_elements when making small edits to existing diagrams. If no browser has the canvas open, returns an error — ask the user to open the canvas URL in their browser and retry.
query_elements
ChatGPTQuery elements on a canvas. Requires room_url from add_elements. Returns elements matching optional filters. Use this before update_elements when making small edits to existing diagrams. If no browser has the canvas open, returns an error — ask the user to open the canvas URL in their browser and retry.
update_elements
ChatGPTUpdate elements on a canvas. Requires room_url from add_elements. Pass elements array with id and fields to update. IMPORTANT: in each update object ONLY id is required; all other fields are optional patch fields. Include ONLY elements that need changes; elements omitted from the request remain unchanged on the board. Prefer this tool for SMALL edits to existing diagrams (rename/move/restyle a few elements), typically after query_elements.
update_elements
ChatGPTUpdate elements on a canvas. Requires room_url from add_elements. Pass elements array with id and fields to update. IMPORTANT: in each update object ONLY id is required; all other fields are optional patch fields. Include ONLY elements that need changes; elements omitted from the request remain unchanged on the board. Prefer this tool for SMALL edits to existing diagrams (rename/move/restyle a few elements), typically after query_elements.