Generate C4 Diagram Sets from BizTalk Applications
When you select one or more real BizTalk applications, Nodinite can turn that scope into a C4 Diagram Set. The Generate from BizTalk wizard walks through environment, options, application selection, Articles, grounding, and diagram type selection, and then finishes with a confirmation step.
New 7.12 The same wizard can also write Articles that document your BizTalk integrations, with no AI, in the same run or on their own. See Generate Articles from BizTalk.
The generated structure now starts at an L0 Landscape diagram and then drills down per application to L1 Context, L2 Container, and L3 Component diagrams.
Why teams use this wizard
Many teams already have rich BizTalk solutions in production, but the architecture story is spread across artifacts, operations notes, and tribal knowledge. This wizard turns that scattered reality into a connected C4 Diagram Set that both technical and business audiences can understand.
Instead of starting from a blank canvas, you start from selected BizTalk applications and generate a navigable architecture chain in minutes. That shortens onboarding, improves incident communication, and gives modernization initiatives a shared baseline.
What this means in practice:
- ✅ Architects get a fast, repeatable way to map real deployed integration structure
- ✅ Operations teams can align monitoring and Repository context with visual architecture
- ✅ Product owners and business stakeholders can follow the landscape from high-level scope down to implementation detail
- ✅ Delivery teams can compare versions over time and reduce drift by regenerating from source truth
Example journey from selection to insight
A common journey starts when a team selects two BizTalk applications that cooperate in one business flow, for example order intake and order fulfillment.
- The wizard creates an L0 Landscape diagram where both applications appear in one business context.
- Each application node links to its own L1 Context diagram, where surrounding systems and boundaries become explicit.
- From L1, teams drill into L2 Container diagrams to see runtime structure and integration boundaries.
- Finally, they inspect L3 Component diagrams to understand implementation details, including pipeline-step detail when available.
This layered navigation is useful during handover, troubleshooting, and roadmap planning because every audience can stop at the level they need.
Important
The last step is mandatory. You must either select an existing set or create a new one before the wizard can finish. If a set name already exists, Nodinite warns you and asks whether to add to the existing set or create a new version.
Understanding the generation flow
and Articles"] Start --> Entry --> Env --> Opt --> App --> Art --> Ground --> Diag --> Confirm --> Result style Start fill:#2678BD style Entry fill:#2678BD style Art fill:#E47528 style Result fill:#93d16d style Confirm fill:#FFD525
Diagram: The BizTalk generation wizard moves from the entry point (blue) through environment, options, application scope, the Articles step (orange, only when Generate Articles is on), grounding, diagram types, and confirmation (yellow) before it creates the set and the Articles (green).
Entry point
On the Diagram Sets page, open the Add Diagram Set ▾ menu and choose From BizTalk Application. To add the generated diagrams to a set you already have, open that set and choose New Diagram ▾ › From BizTalk Application; the set is then preselected. Administrators can also start it with Generate C4 Diagrams on a BizTalk Log Agent in the Log Agents Overview, which preselects that Log Agent. Every way opens the same Generate from BizTalk wizard.

The wizard starts from the Add Diagram Set menu on the Diagram Sets page.
Important
This action requires Create permission in the C4 Diagram Set permission set. See Role-Based Access for C4 Diagram Sets for the full rights model.
Step 1: Choose the BizTalk environment
The first screen identifies the active BizTalk environment to use as the source for generation.

Example of the environment step. Each row is a BizTalk Log Agent, shown with its management database and Value ID.
Choose the environment that contains the BizTalk applications you want to model.
Step 2: Review generation options
The options step controls what the run generates, how much repository wiring the wizard creates, whether it should add monitoring support, and whether BizTalk provenance data is written as custom metadata.
- Generate C4 diagrams is on by default. Clear it for a run that writes Articles only.
- Generate Articles (deterministic documentation) New 7.12 is off by default. Tick it to add the Articles step. At least one of the two must be on.

Example of the options step with every option ticked, including Generate Articles, which adds the Articles step.
When you enable repository artifact reuse, Nodinite can create or reuse the supporting Repository items that the generated diagrams depend on. When you enable monitoring, it can associate matching monitoring resources with the generated services.
Use the BizTalk provenance option to opt in or opt out of writing source provenance as Custom Metadata in the generated Repository entities.
Step 3: Select BizTalk applications
Select one or many real BizTalk applications to define the generation scope.

Example of the BizTalk applications step where two applications are selected for one run.
Each row shows the application's artifact counts, explained in a legend on the step, and zeros for an empty application: RP receive ports, RL receive locations, O orchestrations, SPG send port groups, and SP send ports. The Multi-application snapshot preview shows the selected scope and the target set name. That preview helps you confirm whether the wizard will generate a new set or extend the intended scope.
You can include multiple BizTalk applications in the same run.
The applications you pick here drive the diagrams only. They never limit which BizTalk routes you can document in an Article.
Step 4: Define the Articles
New 7.12 This step appears only when Generate Articles is ticked on the options step. Here you decide which Integration Articles, Entry Point Articles, and Application Overviews the run writes, which Document Profiles they use, and where they are linked. The step is described in Generate Articles from BizTalk.

Example of the Articles step with the built-in help open. Hide help closes it, and How Articles work opens it again.
Step 5: Apply grounding
Grounding ties what the run generates to Repository entities that already exist, so you don't end up with duplicates. The whole step is optional; the suggested values work for most runs. It has three parts; the third, Integration Landscape, appears only when the run generates diagrams.
Entity Grounding: one System per BizTalk application
Nodinite suggests one System per BizTalk application: the applications picked for diagrams, plus every application the defined Articles' routes touch. Each row starts collapsed, and its header shows the outcome: Existing when a System with that name already exists, or New on generate when the run will create it. Expand a row only when you want to change it.

Example of Entity Grounding where both applications are matched to existing Systems. The and buttons next to an existing System open it for viewing or editing.
- Nodinite System (override): pick an existing System instead of the suggested one.
- Create System on generate and System name for create/reuse: change the name of the System the run creates or reuses.
Tip
Overriding is advanced and rarely needed. Use it when the System naming in your Repository differs from the BizTalk application names, for example when old and new BizTalk groups are being consolidated under one naming standard.
External Systems
One row per folder, queue host, namespace, or server that the selected applications exchange messages with, derived from the port addresses and grouped by host. A counter at the top shows how many are bound, new, and unbound. For each row, choose one of:
- Existing System: bind the external party to a System you already have.
- Create System on generate: let the run create a System for it.
- Leave it unbound: the party is still drawn on the Context and Container diagrams, but no System is created. Nothing is ever named after a port.
Groups start collapsed. To find rows, type in the text filter, or switch on Unbound only to hide the rows you have already handled. Use Bind all in this group to at the top right of a group to bind every row in it with one choice.

Example of External Systems in four groups: two local drives, a Service Bus namespace, and an unknown endpoint. Loopbacks are left out and parties are grouped, so the list stays short.

Example of a row bound to an existing System. The row says Bound to existing System.
Integration Landscape
This part appears only when the run generates diagrams; an Articles-only run skips it. Select or create one Integration for the wizard run. Generated Services and relations can be added to its landscape.
- Update Integration Landscape is ticked by default. Clear it to skip creating or updating an Integration.
- Existing Integration: pick one to update.
- Quick add Integration: starts filled with the Diagram Set's name. If no existing Integration is picked, this name is used to create a new Integration, or to reuse one with the same name.

The Integration name is prefilled with the Diagram Set name.
If you clear the name while Update Integration Landscape is ticked and no Integration is picked, the wizard warns Integration update is enabled, but no Integration is selected or named and Next stays disabled.

Example of the warning shown until you pick or name an Integration, or clear Update Integration Landscape.
Note
This is one Integration for the whole run. When the run also writes Articles, the Repository entities binding on the Articles step creates one Integration per Integration Article in addition; see Generate Articles from BizTalk.
Step 6: Choose diagram types
The diagram step controls whether to include the L0 Landscape root and the per-application L1 to L3 drill-down chain.

Example of the diagram selection step. Each type says what it will generate; Dynamic stays off until you select it, and then checks the DTA for runtime activity.
When more than one BizTalk application is selected, the Landscape diagram option is enabled by default. Dynamic is preselected only when runtime evidence exists; you can still tick it, but the result can be limited.
Each selected application gets its own Context, Container, and Component diagram chain.
The Landscape diagram becomes the root level and contains links and nodes that drill down into the generated Context diagrams.
This gives you one top-level map for orientation and separate deep dives per application, which is especially valuable when multiple BizTalk applications are generated in the same run.

Example of BizTalk-related Services after repository artifact reuse or monitoring wiring has been applied to the generated set.
Step 7: Confirm the generation
The confirmation step starts with the Diagram Set: pick an existing set under All, or enter a Set Name for a new one. A set created here is always in Free Draw mode. If you started a new set and want an existing one after all, click Choose an existing set. Below it, a summary lists the environment, application scope, target set, generation model, Articles, provenance custom metadata, external systems, dynamic evidence window, Integration, and diagram types. Click Generate to start the run.

Example of the top of the confirmation step, creating a new Diagram Set.

The Articles row summarises the Articles part of the run: one Integration Article, one Entry Point Article, two Application Overviews, Building Blocks for the artifacts they use, the On existing Articles mode, and the tags.
Important
In the last step, you must either select an existing set or create a new one. That choice is required before the wizard can finish.
Important
You must provide a new set name or choose an existing set to update. BizTalk-generated diagrams are created in Free Draw mode even if you target a Layered set.
When a set already exists
If a set with the same name already exists, Nodinite stops and shows a Name conflict warning with the existing set's ID, so you can choose the correct path.

Example of the name conflict warning that appears when the target Diagram Set already exists.
Choose Add to Existing Set when this run's diagrams belong in the set you already have. Choose Create New Version when you want a separate versioned set and leave the current one as it is.
Result
While the run works, the wizard shows a spinner, what is being generated, and the elapsed time, both in the dialog and in its footer. Generating many Articles, or orchestration designer images, takes longer than diagrams alone.
Note
Closing the dialog does not stop the run; it continues on the server, and the diagrams and Articles appear when it finishes.

Example of the progress message for a run that generates both diagrams and Articles, with the elapsed time.
After the wizard completes, Nodinite shows the result: how many diagrams were created in which Diagram Set, with a View Diagram Set link. When the run also wrote Articles, the result adds the Article and Building Block counts, the number of Masked values, the correlation id, and a link to every generated document with its status; see Read the Run Result.
Counts that are zero for left alone, deleted by a user, and failed are hidden.

A run that generated 7 diagrams and updated one Integration Article; the other documents were unchanged.
The resulting set can include an L0 Landscape diagram and per-application L1 Context, L2 Container, and L3 Component views.
The generated views now tell the story in four levels. Start with Landscape (L0), then drill into Context (L1), then Container (L2), and finally Component (L3).
For workshops and operational reviews, this sequence works well as a narrative path: begin with business scope at L0, validate ownership and external dependencies at L1, examine platform boundaries at L2, and then confirm implementation behavior at L3.

Example of the generated Landscape diagram where two BizTalk applications are included and linked to their Context drill-down diagrams.
From L0, select the application path you want to inspect and follow the links into the corresponding L1 Context diagram.

Example of the generated Context diagram showing one selected BizTalk application and its updated drill-down linkage from L0 to L2.
The next step narrows the same generated set from the outer context into the application boundary.

Example of the generated Container diagram showing the updated L1 to L2 linkage and the runtime boundary for the selected BizTalk application.
The final generated layer exposes the detailed BizTalk artifacts inside the application.

Example of the generated Component diagram showing detailed BizTalk artifacts and, when present, pipeline step details inside the selected application scope.
Next Steps
- Generate Articles from BizTalk
- Add or manage C4 Diagram Set
- What is a C4 Diagram Set?
- Generate from Integration Landscape
- BizTalk Example Set
- C4 Diagrams Overview