create_custom_diagram
Create custom diagrams with precise control over shapes and connectors for any diagram type not covered by standard templates.
Instructions
Create a custom diagram with full control over shapes and connectors. Use this for any diagram type not covered by other tools.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filename | Yes | Name for the output .drawio file (extension will be added automatically) | |
| shapes | Yes | Array of shapes to create | |
| connectors | No | Array of connectors between shapes |
Input Schema (JSON Schema)
{
"properties": {
"connectors": {
"description": "Array of connectors between shapes",
"items": {
"properties": {
"from": {
"description": "Source shape ID",
"type": "string"
},
"label": {
"description": "Connector label",
"type": "string"
},
"to": {
"description": "Target shape ID",
"type": "string"
}
},
"required": [
"from",
"to"
],
"type": "object"
},
"type": "array"
},
"filename": {
"description": "Name for the output .drawio file (extension will be added automatically)",
"type": "string"
},
"shapes": {
"description": "Array of shapes to create",
"items": {
"properties": {
"height": {
"description": "Shape height (default: 60)",
"type": "number"
},
"id": {
"description": "Unique identifier for referencing in connections",
"type": "string"
},
"label": {
"description": "Text label for the shape",
"type": "string"
},
"type": {
"description": "Shape type",
"enum": [
"rectangle",
"roundedRectangle",
"ellipse",
"diamond",
"parallelogram",
"cylinder",
"hexagon",
"cloud",
"document",
"process",
"decision",
"data",
"terminator",
"database",
"actor",
"note"
],
"type": "string"
},
"width": {
"description": "Shape width (default: 120)",
"type": "number"
},
"x": {
"description": "X coordinate",
"type": "number"
},
"y": {
"description": "Y coordinate",
"type": "number"
}
},
"required": [
"id",
"label",
"type",
"x",
"y"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"filename",
"shapes"
],
"type": "object"
}