The .dai Format
A .dai file is BPMN 2.0 XML with a dai: namespace extension layered on top; an abstract tree where SubProcess nests freely. Shows the minimal skeleton.
A .dai file is a BPMN 2.0 XML document extended with a custom dai: namespace. It describes a process, system, or domain as an abstract tree of semantically typed nodes:
- Typed elements carry a
dai:type(plus, for the original types, a legacydai:stepType) and their values asdai:attributes or<dai:field>children. - Every typed element is either a
bpmn:taskor abpmn:subProcess, decided only by whether it has children: no children,bpmn:task; children,bpmn:subProcess. That applies to every type — an Agent, an Epic, a VPC — and its type and values are identical in both forms. bpmn:subProcesselements nest freely and at any depth to express containment, scope, and hierarchy. A container can contain other containers, which can contain steps, which can contain further containers. There is no depth limit.- Because the file is valid BPMN 2.0, any standard BPMN tooling can read the structure, while the
dai:attributes carry the semantic typing that LLMs and agents act on.
.dai files carry the .dai extension and live in your DAI Studio account at dai.studio: open one from your dashboard, bring files you already have in with Upload .dai, and take them back out with Download .dai. Author or edit a diagram, then hand it to a model: Copy for AI in the editor’s top bar copies a link to the live raw XML, and Document → Export → Copy XML puts the complete file on the clipboard — see Copying to LLMs.
Minimal skeleton
Every .dai file follows this shape — a bpmn:definitions root declaring the namespaces, one bpmn:process holding the workflow metadata and the element tree, plus a diagram-interchange section that stores the visual layout:
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions
xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
xmlns:dai="https://dai.studio/schema/dai/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
id="Definitions_1"
targetNamespace="https://dai.studio/workflow">
<bpmn:process id="Process_1" name="Untitled" isExecutable="false">
<bpmn:extensionElements>
<dai:workflowMeta
description=""
defaultModel="gpt-4o"
targetLanguage=""
targetFramework=""
version="1.0" />
</bpmn:extensionElements>
<!-- flow elements go here -->
</bpmn:process>
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
<!-- shape and edge layout go here -->
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
The two document zones
A .dai file has two distinct zones, and only the first one carries meaning for an AI reading the file:
- The semantic tree — the
bpmn:definitions/bpmn:processcontent: typed tasks and containers, events, gateways, and connections, together with thedai:workflow metadata. This is what the LLM reads and reasons over. - The diagram interchange (DI) — the
bpmndi:BPMNDiagramsection: onebpmndi:BPMNShapeper element (with adc:Boundsx/y/width/height rectangle) and onebpmndi:BPMNEdgeper connection. Expanded sub-processes carryisExpanded="true"on their shape. This zone records visual layout only — DAI Studio needs it to reopen the diagram exactly as drawn, and other tools may ignore it.
Extension attributes use the dai: prefix
DAI Studio serializes its extension attributes in the dai: namespace, directly on the BPMN elements they extend:
<bpmn:task id="Task_1" name="Price Rule" dai:type="dai.types.ai.rule" dai:stepType="rule" dai:rulePriority="critical" dai:notes="…" />
Values that are stored as fields rather than attributes go in <dai:fields> inside bpmn:extensionElements. id and name are standard BPMN attributes and never take a prefix. See Universal Attributes for the attributes shared across types, where values go, and the Element Types pages for the per-type vocabulary.
Where to go next
- Namespaces — the six required declarations
- Diagram Metadata — framing the whole diagram for the AI
- Element Types — the typed vocabulary
- Flow & Structure Elements — containers, events, gateways, connections