- 7 minutes to read

Editing Elements

Every element in a C4 diagram in the C4 Designer — nodes, connectors and their flows, and boundaries — has a set of properties you can edit. These properties are surfaced in floating panels that open when you click an element: Node Properties, Connector Properties, and the Boundary Inspector.

All changes save automatically. There is no Save button in these panels.

Opening the Properties Panels

How you click an element determines which panel opens and what happens:

Click target Result
Node header (top bar of the tile) Selects the node and opens Node Properties
Node border (within 8 px of the edge) Selects the node only — no panel opens
Boundary header Selects the boundary and opens the Boundary Inspector
Inside a boundary (not on header or a child node) Selects the boundary
Connector line Opens Connector Properties

Drawing a new connector does not open Connector Properties by itself; click the line afterwards (see Drawing Connectors).

The panels can be repositioned by dragging their header bar. They float above the canvas and are not affected by zoom.

Press Escape to close all open panels and clear the selection.

Node Properties

Node Properties is a two-column panel that combines element configuration on the left with diagram relationships on the right.

Left column — Element properties

Property Description
Shape label Read-only display of the C4 element kind (e.g. "Container", "Person")
Binding The Repository entity currently bound to this node. Click Resolve… to open the Resolve dialog (Use existing or Create new), or Unbind to remove. When bound, Open opens the entity. See Repository Bindings
Display Name Override the entity name shown on the canvas without changing the name in the Repository
Technology Node-level override for the technology label. When set, this value is used on the canvas and in the Mermaid output instead of the entity's own C4Technology field. Leave empty to use the entity's C4Technology value. (e.g. "ASP.NET Core", "PostgreSQL")
Description Narrative description of what this element does — shown in the Mermaid output
Component Type The visual icon preset shown on the canvas tile and in Repository lists. This is independent of C4ContainerType — it controls the icon rendered by the UI, not the Mermaid DSL shape. When the bound entity (System, Service, or Integration) has a Component Type assigned, that entity's CT icon takes precedence over any CT set directly on this shape — you do not need to change it here. See Component Types for the full priority chain. (requires a Mapify license)
Custom Metadata Shows a count badge for Custom Metadata. Click to open the Custom Metadata attachment modal
Delete Removes the node from the diagram (does not delete the Repository entity)

Right column — Diagram relationships

Section Description
Drill-through Links Other C4 diagrams linked to this node (see Diagram Set Fundamentals). Click the icon next to a link to open it. Click Manage Links to add or remove links in the Link Manager panel
Article Links Nodinite Articles attached to this node. Click Manage Articles to open the Article Picker (see Manage Articles)

Operational summary

When a node is bound to a Service, System, or Contract, an operational summary appears below the properties:

Service Nodes

  • Monitoring state pill (OK / Warning / Error / Unavailable / Connection Error) — clickable, opens the Service's resource list
  • Resource count
  • Direction badge (Receive / Send / Two-way)
  • Transport contracts count
  • BPM count (requires a BPM license)
  • C4 diagram usage count

System Nodes

  • Integration count
  • Service count
  • Transport contracts count
  • C4 diagram usage count

Contract Nodes

Shown for Contract nodes when UseContracts is enabled:

  • Contract entity badge and linked contract context
  • Owning System context used for Systems-mode boundary placement
  • Related service context for navigation
  • C4 diagram usage count
  • Contract communication direction behavior aligned with outbound initiation semantics

Header badges

The Node Properties header also shows context badges:

Badge When shown Action
Linked diagrams count Node has drill-through links Opens the Manage Links panel
Custom metadata count Node has metadata assigned Opens the Custom Metadata modal
Article tags count Node has articles Expands an article list
Node has an ExternalUrl Opens the URL in a new tab
Remote actions Remote actions are configured Triggers the remote action

Connector Properties

Connector Properties opens when you click a connector line. It shows the source and target element names in the header (e.g. "Order API → Inventory DB").

On Context, Container, and Component diagrams, the visible connector acts as a compact shell for one or more flows. On Dynamic diagrams, the panel edits one explicit sequence connector at a time.

Property or action Description
Type Synchronous / Asynchronous / Bidirectional — applies to all the connector's flows
FLOWS One row per flow between the same two elements, with a 1 flow / N flows count badge. With several flows, the canvas label becomes a count such as 3 flows
Add flow Static diagrams only — adds another flow behind the same visible connector
Display Name Per flow — the business name of the specific message or relationship
Protocol Per flow — how the flow is implemented, e.g. HTTPS, AMQP, SFTP
Direction Per flow — arrow routing hint: Auto, Forward, Down, Up, Left, Right, Back, Neighbor
Message Type Per flow — Link a Message Type… to a Repository Message Type for traceability and navigation
Step / Sequence number Dynamic L4 only — the step number in the sequence
Delete Connector Removes the connector and all its flows

A brand-new static connector starts with one flow. See Drawing Connectors for drawing, the connection rules, and the duplicate-connector message.

All fields save automatically as you type or select (with a short debounce).

The Boundary Inspector

The Boundary Inspector opens when you click a boundary header.

Property Description
Boundary Type Read-only — the boundary kind (System Boundary, Container Boundary, Enterprise Boundary)
Domain Binding Bind this boundary to a Domain in the Repository. Use Unbind to remove
Display Name Override the label shown in the boundary header
Description Narrative description of this architectural partition
Delete Removes the boundary and all its contents after confirmation

Info

Boundary icons follow the linked Domain. A boundary does not have a Component Type field in this panel. To display a custom icon on a boundary, link it to a Domain that has a Component Type assigned — the Domain's CT then drives the icon shown on the boundary in both view and design mode. If the boundary has no Domain link, it renders its toolbox default icon.

Resizing Elements

Resizing a node

Drag the resize handle in the bottom-right corner of any node. The node cannot be resized smaller than its minimum dimensions.

Resizing a boundary

Drag the resize handle in the bottom-right corner. A boundary cannot be made smaller than its contents — the minimum size is enforced to always contain all child elements.

Auto-save

Every property change is saved automatically in the background. A spinner is briefly visible in the panel while the save request is in flight. The spinner disappears once the save completes.

You do not need to click Save, submit a form, or navigate away to persist your changes.

Frequently Asked Questions

I clicked a node but Node Properties did not open

You may have clicked the node border (within 8 px of the edge), which selects the node without opening the panel. Click the node's header to open Node Properties.

I accidentally deleted a node — can I undo?

The Designer does not have an Undo function. If you deleted a node, add it again from the Toolbox and re-bind it to the Repository entity. This is why the Diagram Lifecycle recommends cloning an Active diagram before making large structural changes.

Display Name vs entity name — which is shown where?

  • The Display Name in Node Properties overrides what appears on the canvas tile
  • The underlying entity name in the Repository is unchanged
  • Mermaid output uses the Display Name if set, otherwise falls back to the entity name

Next Steps