Excalidraw
Virtual collaborative whiteboard
Start for freeWorks with
AI Compatible
Tools
Create Collection
Creates a new collection (folder) in the Excalidraw Plus workspace for organizing scenes. Returns the new collection's ID — pass it to **Create Scene** or **Update Scene** to add scenes to this collection. See the documentation
Create Scene
Creates a new scene (whiteboard) in the Excalidraw Plus workspace. The API requires a collection — if no collectionId is provided, the scene is placed in the default (Main) collection automatically. Use **List Collections** to find the collection ID if the user wants the scene in a specific folder. Returns the new scene's ID and metadata. See the documentation
Delete Scene
Permanently deletes an Excalidraw scene and all its drawing content. This action cannot be undone. Use **List Scenes** to find the scene ID before calling this tool. See the documentation
Get Current User
Returns the current workspace context from Excalidraw Plus, including workspace ID, name, user IDs, and roles. Use this when the user asks 'who am I', 'what workspace am I in', or needs the workspace ID or user role. See the documentation
Get Scene
Returns metadata for a specific Excalidraw scene, and optionally its full drawing content (elements JSON). Use this when the user asks to view, inspect, or read a specific scene. Use **List Scenes** first to find the scene ID by name. Set includeContent to true only when the user explicitly asks for the drawing data — the content can be large. See the documentation
List Collections
Returns all collections (folders) in the Excalidraw Plus workspace. Use this to discover available collection IDs and names before filtering scenes by collection or creating a scene in a specific collection. Cross-reference: pass a collection ID from this result to **List Scenes** or **Create Scene**. See the documentation
List Scenes
Returns scenes (whiteboards) in the Excalidraw Plus workspace. Optionally filter by collection ID or apply a name substring filter (applied client-side, since the API has no server-side search). When the user says 'scenes in [collection]', use **List Collections** first to get the collection ID, then pass it as collectionId here. Use nameFilter (and limit) to narrow results when the user asks for a scene by name — the tool fetches up to limit scenes and returns only those whose name contains the filter string. See the documentation
Update Scene
Updates an existing Excalidraw scene's name or collection membership. Use **List Scenes** to find the scene ID, and **List Collections** to find a collection ID if moving the scene. Only the fields you provide are updated — omitted fields remain unchanged. Note: the Excalidraw API does not support a description field on scenes. See the documentation