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