Connect / interchange

Import and export

Bring models from Archi, Structurizr, Mermaid, BPMN tools and spreadsheets, reviewed first; export to them and to SVG and PNG.

FormatImportExportWhere
ArchiMate Exchange Format 3.xYesYesModel, Interchange tab
BPMN 2.0 XML with diagramYes, as a new viewYes, per viewNew view dialog; view actions
Structurizr DSL and JSONYes, with its landscape, context and container viewsDSLModel, Interchange tab
Mermaid flowchart, class, ER and sequence diagramsYesFlowchartModel, Interchange tab
SQL DDL (Postgres), DBML, JSON SchemaDDLAll three, for logical entities and tablesModel, Interchange tab
Backstage catalog, OpenAPI and AsyncAPI, CycloneDX and SPDX SBOMs, Terraform state or plan, Kubernetes manifests, OpenLineage events, Open Threat ModelYes, with a built-in mappingNoModel, Interchange tab
PlantUMLNoClass diagram for data models, C4 otherwiseModel, Interchange tab
CSV and Excel (.xlsx): application inventory, capability list, org chart, RACI matrixYesMatrices and staffing as CSVModel, Interchange tab; Matrix tab
SVG and PNGNoYes, per viewView actions

Reviewing an import

In the Interchange tab, choose a format and a file. Before anything changes you see what the file adds, any notes about what could not be mapped, and elements that look like ones already in the workspace, by name and kind. Tick Use … from … to link the existing element instead of creating a copy (an element of another model is added as a reference); nothing is linked unless you tick it. The import is one changeset; its sources record the importer and its version, the file name and the file's SHA-256 hash, so History shows exactly where it came from.

In a table, the first row is the header. Name is required; Kind and Parent are optional, and other columns fill attributes whose name or key matches, including your workspace attributes. A RACI matrix has performers down the side and activities across the top, as the Matrix tab exports it.

What standards become

  • Backstage: systems become applications, components application components, APIs APIs, resources data stores or technology services, groups organization units, domains data domains; ownership, provided and consumed APIs and dependencies become relationships. Users are not imported.
  • OpenAPI and AsyncAPI: the API, one interface per path or channel, and schemas or messages as message schemas.
  • SBOMs: each package as system software, with its dependencies.
  • Terraform: compute as nodes, databases, buckets and queues as data stores, clusters as platforms, networks and subnets, gateways and load balancers as technology services; other resource types are listed in the notes.
  • Kubernetes: namespaces as environments containing workloads (application components), services as interfaces matched by selector, ingresses, and volume claims as data stores.
  • OpenLineage: jobs and datasets, with data flowing in and out of each job.
  • Open Threat Model: trust zones, components, data flows, threats with their STRIDE category, and mitigations as controls; open the Threats tab afterwards.

How imports work

An import is one changeset, validated like any other change. Anything Arq cannot map exactly is listed as a fidelity note after the import, for example a relationship type with no exact equivalent. Content already in the model is skipped, so importing an Arq export again adds nothing. Structurizr files are matched by element name and kind, since they carry no identifiers. XML files with DTDs or entities are refused.

Deterministic exports

The same model always produces the same bytes, so exports diff cleanly in Git. An Arq model exported to ArchiMate or Structurizr and imported again comes back unchanged.