# microsoft/employee-self-service-agent-developer-kit architecture

> Architecture diagram of the GitHub repository microsoft/employee-self-service-agent-developer-kit, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/microsoft/employee-self-service-agent-developer-kit
- Repository: https://github.com/microsoft/employee-self-service-agent-developer-kit

## Overview

This monorepo combines the ESS Maker Kit, deployment-readiness checks, and migration tooling. The documented maker workflow starts with a developer using Copilot in VS Code to set up and customize an ESS agent; the ADK MCP server exposes automation including topic creation, FlightCheck, and evaluation generation. FlightCheck checks live deployment readiness, while the NextGen toolkit has distinct input, transformation, and output stages. The graph includes those documented branches, but sampled source does not establish how the migration CLI wires its stages together.

Main entry points: [`solutions/ess-maker-skills/src/mcp/adk/server.py`](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/adk/server.py) (Maker automation), [`tools/ess-nextgen-migration-toolkit/src/core/pipelines/pipeline.py`](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/core/pipelines/pipeline.py) (Pipeline engine), [`tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/output_pipeline.py`](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/output_pipeline.py) (Output stage), [`solutions/ess-maker-skills/src/mcp/servicenow/server.py`](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/servicenow/server.py) (ServiceNow tools)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_maker["Maker Kit"]
  node_adk["Maker automation<br/>[server.py]"]
  node_workspace["Local kit workspace"]
end

subgraph group_integrations["MCP Integrations"]
  node_servicenowserver["ServiceNow tools<br/>[server.py]"]
  node_servicenowclient["ServiceNow client<br/>[client.py]"]
  node_workdayserver["Workday tools<br/>[server.py]"]
  node_workdayclient["Workday client<br/>[client.py]"]
  node_landingserver["Landing-page tools<br/>[server.py]"]
  node_agentconfigclient["Agent config client<br/>[client.py]"]
end

subgraph group_readiness["FlightCheck"]
  node_flightcli["FlightCheck CLI<br/>[cli.py]"]
  node_flightrunner["Check runner<br/>[runner.py]"]
  node_checklibrary["Readiness checks"]
end

subgraph group_migration["Migration Toolkit"]
  node_migrationcli["Migration CLI"]
  node_inputstage["Input stage<br/>[input_pipeline.py]"]
  node_transformstage["Transform stage"]
  node_outputstage["Output stage<br/>[output_pipeline.py]"]
  node_pipelineengine["Pipeline engine<br/>[pipeline.py]"]
  node_migrationreport["Migration report"]
end

node_developer(("Developer"))
node_copilot(("Copilot in VS Code"))
node_agent["Copilot Studio agent"]
node_environment["Live environment"]
node_servicenow["ServiceNow"]
node_workday["Workday"]
node_agentconfiguration["AgentConfiguration API"]

node_developer -->|"customizes with"| node_copilot
node_copilot -->|"opens kit"| node_workspace
node_copilot -->|"invokes tools"| node_adk
node_adk -->|"reads and writes"| node_workspace
node_adk -->|"pushes components"| node_agent
node_developer -->|"runs checks"| node_flightcli
node_flightcli -->|"runs checks"| node_flightrunner
node_flightrunner -->|"dispatches checks"| node_checklibrary
node_checklibrary -->|"checks readiness"| node_environment
node_developer -->|"invokes tools"| node_servicenowserver
node_servicenowserver -->|"calls"| node_servicenowclient
node_servicenowclient -->|"requests data"| node_servicenow
node_developer -->|"invokes tools"| node_workdayserver
node_workdayserver -->|"calls"| node_workdayclient
node_workdayclient -->|"requests data"| node_workday
node_developer -->|"invokes tools"| node_landingserver
node_landingserver -->|"calls"| node_agentconfigclient
node_agentconfigclient -->|"reads and updates"| node_agentconfiguration
node_migrationcli --> node_inputstage
node_inputstage -->|"executes steps"| node_pipelineengine
node_transformstage -->|"executes steps"| node_pipelineengine
node_outputstage -->|"executes steps"| node_pipelineengine
node_outputstage -->|"generates report"| node_migrationreport

click node_adk "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/adk/server.py"
click node_workspace "https://github.com/microsoft/employee-self-service-agent-developer-kit/tree/main/solutions/ess-maker-skills"
click node_flightcli "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/scripts/flightcheck/cli.py"
click node_flightrunner "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/scripts/flightcheck/runner.py"
click node_checklibrary "https://github.com/microsoft/employee-self-service-agent-developer-kit/tree/main/solutions/ess-maker-skills/scripts/flightcheck/checks"
click node_servicenowserver "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/servicenow/server.py"
click node_servicenowclient "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/servicenow/client.py"
click node_workdayserver "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/workday/server.py"
click node_workdayclient "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/workday/client.py"
click node_landingserver "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/agentconfig_landing_page/server.py"
click node_agentconfigclient "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/agentconfig_landing_page/client.py"
click node_migrationcli "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/service/mtk_orchestrator.py"
click node_inputstage "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/preprocessing/input_pipeline.py"
click node_transformstage "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/transformation/transformation_pipeline.py"
click node_outputstage "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/output_pipeline.py"
click node_pipelineengine "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/core/pipelines/pipeline.py"
click node_migrationreport "https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/steps/generate_report_step.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_adk,node_workspace toneBlue
class node_servicenowserver,node_servicenowclient,node_workdayserver,node_workdayclient,node_landingserver,node_agentconfigclient toneAmber
class node_flightcli,node_flightrunner,node_checklibrary,node_agentconfiguration toneMint
class node_migrationcli,node_inputstage,node_transformstage,node_outputstage,node_pipelineengine,node_migrationreport toneRose
class node_developer,node_copilot,node_agent,node_environment,node_servicenow,node_workday toneIndigo
```

## Components

### Maker Kit

- [Maker automation](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/adk/server.py): `solutions/ess-maker-skills/src/mcp/adk/server.py`
- [Local kit workspace](https://github.com/microsoft/employee-self-service-agent-developer-kit/tree/main/solutions/ess-maker-skills): `solutions/ess-maker-skills`

### MCP Integrations

- [ServiceNow tools](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/servicenow/server.py): `solutions/ess-maker-skills/src/mcp/servicenow/server.py`
- [ServiceNow client](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/servicenow/client.py): `solutions/ess-maker-skills/src/mcp/servicenow/client.py`
- [Workday tools](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/workday/server.py): `solutions/ess-maker-skills/src/mcp/workday/server.py`
- [Workday client](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/workday/client.py): `solutions/ess-maker-skills/src/mcp/workday/client.py`
- [Landing-page tools](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/agentconfig_landing_page/server.py): `solutions/ess-maker-skills/src/mcp/agentconfig_landing_page/server.py`
- [Agent config client](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/src/mcp/agentconfig_landing_page/client.py): `solutions/ess-maker-skills/src/mcp/agentconfig_landing_page/client.py`

### FlightCheck

- [FlightCheck CLI](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/scripts/flightcheck/cli.py): `solutions/ess-maker-skills/scripts/flightcheck/cli.py`
- [Check runner](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/solutions/ess-maker-skills/scripts/flightcheck/runner.py): `solutions/ess-maker-skills/scripts/flightcheck/runner.py`
- [Readiness checks](https://github.com/microsoft/employee-self-service-agent-developer-kit/tree/main/solutions/ess-maker-skills/scripts/flightcheck/checks): `solutions/ess-maker-skills/scripts/flightcheck/checks`

### Migration Toolkit

- [Migration CLI](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/service/mtk_orchestrator.py): `tools/ess-nextgen-migration-toolkit/src/service/mtk_orchestrator.py`
- [Input stage](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/preprocessing/input_pipeline.py): `tools/ess-nextgen-migration-toolkit/src/modules/preprocessing/input_pipeline.py`
- [Transform stage](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/transformation/transformation_pipeline.py): `tools/ess-nextgen-migration-toolkit/src/modules/transformation/transformation_pipeline.py`
- [Output stage](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/output_pipeline.py): `tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/output_pipeline.py`
- [Pipeline engine](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/core/pipelines/pipeline.py): `tools/ess-nextgen-migration-toolkit/src/core/pipelines/pipeline.py`
- [Migration report](https://github.com/microsoft/employee-self-service-agent-developer-kit/blob/main/tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/steps/generate_report_step.py): `tools/ess-nextgen-migration-toolkit/src/modules/postprocessing/steps/generate_report_step.py`

### Other components

- **Developer**
- **Copilot in VS Code**
- **Copilot Studio agent**
- **Live environment**
- **ServiceNow**
- **Workday**
- **AgentConfiguration API**

## Connections

- Developer → Copilot in VS Code: customizes with
- Copilot in VS Code → Local kit workspace: opens kit
- Copilot in VS Code → Maker automation: invokes tools
- Maker automation → Local kit workspace: reads and writes
- Maker automation → Copilot Studio agent: pushes components
- Developer → FlightCheck CLI: runs checks
- FlightCheck CLI → Check runner: runs checks
- Check runner → Readiness checks: dispatches checks
- Readiness checks → Live environment: checks readiness
- Developer → ServiceNow tools: invokes tools
- ServiceNow tools → ServiceNow client: calls
- ServiceNow client → ServiceNow: requests data
- Developer → Workday tools: invokes tools
- Workday tools → Workday client: calls
- Workday client → Workday: requests data
- Developer → Landing-page tools: invokes tools
- Landing-page tools → Agent config client: calls
- Agent config client → AgentConfiguration API: reads and updates
- Migration CLI → Input stage
- Input stage → Pipeline engine: executes steps
- Transform stage → Pipeline engine: executes steps
- Output stage → Pipeline engine: executes steps
- Output stage → Migration report: generates report
