Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Organisation chart with team vacancies

Show both the reporting structure and the roles that still need an owner without drawing every box and connector by hand.

Start with
People, roles, reporting relationships and open positions
Generate
VSDX + SVG
Generated Visio example: Organisation chart with team vacancies
Generated diagram · Generated by the example below

How it works

  1. Create the reporting hierarchy

    Start with a root, add managers and attach positions using stable parent identifiers.

  2. Add useful distinctions

    Use Assistant, TeamBand, Vacancy and External to represent different relationships explicitly.

  3. Validate and export

    Save the VSDX, reopen it for validation and create PNG and SVG views through the native image export API.

The C# source

This is the complete example file used to generate the download. The walkthrough runner creates the output directory and produces the additional previews.

using OfficeIMO.Visio;
using OfficeIMO.Visio.Diagrams;

namespace OfficeIMO.Examples.Showcase.Workflows;

/// <summary>Builds an organisation chart with team bands, an assistant, a vacancy and an external adviser.</summary>
internal static class TeamOrganisation {
    internal static void Create(string folder) {
        var theme = VisioStyleTheme.Modern();
        theme.Container.TextStyle!.VerticalAlignment = VisioTextVerticalAlignment.Top;
        theme.Container.TextStyle.TopMargin = 0.08;
        var document = VisioDocument.Create(Path.Combine(folder, "example.vsdx"))
            .OrgChartDiagram("Service team", org => org
                .Theme(theme).Title("Service team").TeamBandPadding(0.45).Spacing(0.7, 1.1)
                .Root("director", "Maya Ellis", "Service Director")
                .Assistant("coordinator", "Leon Brooks", "Team Coordinator", "director")
                .Manager("delivery", "Sofia Chen", "Delivery Lead", "director")
                .Manager("operations", "Amir Patel", "Operations Lead", "director")
                .TeamBand("delivery-team", "Delivery", "delivery")
                .TeamBand("operations-team", "Operations", "operations")
                .Position("analyst", "Eva Morgan", "Service Analyst", "delivery", "delivery-team")
                .Position("engineer", "Noah Reed", "Platform Engineer", "operations", "operations-team")
                .Vacancy("support", "Support Specialist", "operations", "operations-team")
                .External("adviser", "Jordan Lee", "Service Adviser", "delivery"));
        document.Save();
    }
}
Open the C# source file

Run it from the source checkout

Clone the OfficeIMO repository and run this command from its root with the .NET 10 SDK. The first run restores the example project's dependencies.

dotnet run --project OfficeIMO.Examples -f net10.0 -- --showcase-workflows --showcase-example visio-team-organisation

The files are written to OfficeIMO.Examples/bin/Debug/net10.0/Documents/Workflows/visio-team-organisation/. To use the example in your application, start with the Visio guide and its package setup.

Downloads and scope

What the preview shows

The linked C# example generates this file. The runner reloads the VSDX, checks the authoring model and renders the saved diagram to PNG and SVG.

What to keep in mind

The names and structure are fictional. Image evidence comes from OfficeIMO's renderer and does not establish identical layout in desktop Visio.

Visio API reference · Artifact hashes and provenance

Continue with another example

Example source

Download source